Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #10656 > unrolled thread

Bug#894213: No clue yet for building snakemake since there are two dirs in .pybuild

Started byAndreas Tille <andreas@an3as.eu>
First post2018-06-26 12:00 +0200
Last post2018-06-27 14:40 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.debian.maint.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#894213: No clue yet for building snakemake since there are two dirs in .pybuild Andreas Tille <andreas@an3as.eu> - 2018-06-26 12:00 +0200
    Re: No clue yet for building snakemake since there are two dirs in .pybuild Stuart Prescott <stuart@debian.org> - 2018-06-26 18:10 +0200
      Re: No clue yet for building snakemake since there are two dirs in  .pybuild Piotr Ożarowski <piotr@debian.org> - 2018-06-27 11:10 +0200
        Re: No clue yet for building snakemake since there are two dirs in  .pybuild Piotr Ożarowski <piotr@debian.org> - 2018-06-27 14:40 +0200

#10656 — Bug#894213: No clue yet for building snakemake since there are two dirs in .pybuild

FromAndreas Tille <andreas@an3as.eu>
Date2018-06-26 12:00 +0200
SubjectBug#894213: No clue yet for building snakemake since there are two dirs in .pybuild
Message-ID<w4SVr-7ns-1@gated-at.bofh.it>
Hi,

meanwhile I upgraded snakemake to latest upstream in Salsa[1].  I keep
on having trouble with building it:


...
Building DAG of jobs...
Using shell: /bin/bash
Job counts:
        count   jobs
        1       1
        1
Finished job 0.
1 of 1 steps (100%) done
Complete log: /tmp/tmp3rl_vn12/.snakemake/log/2018-06-26T092103.652823.snakemake.log
.E
======================================================================
ERROR: Failure: Exception (snakemake not in PATH. For testing, install snakemake with 'pip install -e .'. You should do this in a separate environment (via conda or virtualenv).)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib/python3/dist-packages/nose/loader.py", line 417, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib/python3.6/imp.py", line 235, in load_module
    return load_source(name, filename, file)
  File "/usr/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 684, in _load
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/build/snakemake-5.1.5/.pybuild/cpython3_3.6_snakemake/build/tests/tests.py", line 22, in <module>
    raise Exception("snakemake not in PATH. For testing, install snakemake with "
Exception: snakemake not in PATH. For testing, install snakemake with 'pip install -e .'. You should do this in a separate environment (via conda or virtualenv).

----------------------------------------------------------------------
Ran 4 tests in 0.227s

FAILED (errors=1)
E: pybuild pybuild:336: test: plugin distutils failed with: exit code=1: cd /build/snakemake-5.1.5/.pybuild/cpython3_3.6_snakemake/build; python3.6 -m nose tests



I think the cause of the issue is that there are two dirs in .pybuild:


# ls -l /build/snakemake-5.1.5/.pybuild
total 8
drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6
drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6_snakemake


and the latter contains all the installed files while the former is
empty.  How can I prevent this?

Kind regards

        Andreas.


[1] https://salsa.debian.org/med-team/snakemake

-- 
http://fam-tille.de

[toc] | [next] | [standalone]


#10657 — Re: No clue yet for building snakemake since there are two dirs in .pybuild

FromStuart Prescott <stuart@debian.org>
Date2018-06-26 18:10 +0200
SubjectRe: No clue yet for building snakemake since there are two dirs in .pybuild
Message-ID<w4YHv-2wC-3@gated-at.bofh.it>
In reply to#10656
Hi Andreas,

> 
"/build/snakemake-5.1.5/.pybuild/cpython3_3.6_snakemake/build/tests/tests.py",
>   line 22, in <module>
>     raise Exception("snakemake not in PATH. For testing, install snakemake
>     with "
> Exception: snakemake not in PATH. For testing, install snakemake with 'pip
> install -e .'. You should do this in a separate environment (via conda or
> virtualenv).
> 
> ----------------------------------------------------------------------
> Ran 4 tests in 0.227s
> 
> FAILED (errors=1)
> E: pybuild pybuild:336: test: plugin distutils failed with: exit code=1:
> cd /build/snakemake-5.1.5/.pybuild/cpython3_3.6_snakemake/build; python3.6
> -m nose tests
> 
> 
> 
> I think the cause of the issue is that there are two dirs in .pybuild:
> 
> 
> # ls -l /build/snakemake-5.1.5/.pybuild
> total 8
> drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6
> drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6_snakemake
> 
> 
> and the latter contains all the installed files while the former is
> empty.  How can I prevent this?

Deleting PYBUILD_NAME from your debian/rules is sufficient to fix that. When 
set, that sets HOME to the above directory and the build system for some 
reason starts using that. 

And no, I can't explain why that is...

There are still 3 test failures; the one I glanced at was a missing build-
dep on python3-networkx (and I didn't look further).

cheers
Stuart


-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart@nanonanonano.net
Debian Developer   http://www.debian.org/         stuart@debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7

[toc] | [prev] | [next] | [standalone]


#10658 — Re: No clue yet for building snakemake since there are two dirs in .pybuild

FromPiotr Ożarowski <piotr@debian.org>
Date2018-06-27 11:10 +0200
SubjectRe: No clue yet for building snakemake since there are two dirs in .pybuild
Message-ID<w5eCC-3Sb-9@gated-at.bofh.it>
In reply to#10657
[Stuart Prescott, 2018-06-26]
> > # ls -l /build/snakemake-5.1.5/.pybuild
> > total 8
> > drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6
> > drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6_snakemake
> > 
> > and the latter contains all the installed files while the former is
> > empty.  How can I prevent this?
> 
> Deleting PYBUILD_NAME from your debian/rules is sufficient to fix that. When 
> set, that sets HOME to the above directory and the build system for some 
> reason starts using that. 
> 
> And no, I can't explain why that is...

"cpython3_3.6" is used if --name / PYBUILD_NAME is not defined. Name is
added to it to support building multiple modules/extensions at the same
time. If snakemake doesn't invoke pybuild twice (with and without
--name) then existence of cpython3_3.6 (without "_snakemake") is a bug
somewhere in pybuild
-- 
GPG: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

[toc] | [prev] | [next] | [standalone]


#10660 — Re: No clue yet for building snakemake since there are two dirs in .pybuild

FromPiotr Ożarowski <piotr@debian.org>
Date2018-06-27 14:40 +0200
SubjectRe: No clue yet for building snakemake since there are two dirs in .pybuild
Message-ID<w5hTP-5Il-1@gated-at.bofh.it>
In reply to#10658
[Piotr Ożarowski, 2018-06-27]
> [Stuart Prescott, 2018-06-26]
> > > # ls -l /build/snakemake-5.1.5/.pybuild
> > > total 8
> > > drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6
> > > drwxr-xr-x 3 pbuilder pbuilder 4096 Jun 26 09:20 cpython3_3.6_snakemake
> > > 
> > > and the latter contains all the installed files while the former is
> > > empty.  How can I prevent this?
> > 
> > Deleting PYBUILD_NAME from your debian/rules is sufficient to fix that. When 
> > set, that sets HOME to the above directory and the build system for some 
> > reason starts using that. 
> > 
> > And no, I can't explain why that is...
> 
> "cpython3_3.6" is used if --name / PYBUILD_NAME is not defined. Name is
> added to it to support building multiple modules/extensions at the same
> time. If snakemake doesn't invoke pybuild twice (with and without
> --name) then existence of cpython3_3.6 (without "_snakemake") is a bug
> somewhere in pybuild

FTR: not a bug in pybuild, in line 11 you have:

  export PATH:=$(shell pybuild --print build_dir --interpreter python3)/bin:$(PATH)

and export/pybuild doesn't know about PYBUILD_NAME yet (it's how Makefile works),
you need to add "--name $(PYBUILD_NAME)", like this:

  export PATH:=$(shell pybuild --print build_dir --interpreter python3 --name $(PYBUILD_NAME))/bin:$(PATH)
-- 
GPG: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.python


csiph-web