Control: severity -1 normal Control: retitle -1 pairtools -- current repo in salsa FTBFS Control: clone -1 -2 Control: reassign -2 python3-pysam 0.20.0+ds-2 Control: retitle -2 pysam -- no definition for bam_dup1
On Fri, Dec 30, 2022 at 08:24:42PM +0530, Nilesh Patra wrote: > On Fri, 30 Dec 2022 20:05:32 +0530 Nilesh Patra <nil...@debian.org> wrote: > > Source: pairtools > > Version: 0.3.0-3.2 > > Severity: serious > > > > Pairtools FTBFS with pysam related error. Looks like > > something is off. > > > > dh_auto_clean > > I: pybuild base:240: python3.11 setup.py clean > > Traceback (most recent call last): > > > > > > File "/<<PKGBUILDDIR>>/setup.py", line 130, in <module> > > ext_modules=get_ext_modules(), > > ^^^^^^^^^^^^^^^^^ > > File "/<<PKGBUILDDIR>>/setup.py", line 81, in get_ext_modules > > extra_link_args=pysam.get_libraries(), > > ^^^^^^^^^^^^^^^^^^^^^ > > File "/usr/lib/python3/dist-packages/pysam/__init__.py", line 100, in > > get_libraries > > return [os.path.join(dirname, x + so) for x in pysam_libs] > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > File "/usr/lib/python3/dist-packages/pysam/__init__.py", line 100, in > > <listcomp> > > return [os.path.join(dirname, x + so) for x in pysam_libs] > > ~~^~~~ > > TypeError: can only concatenate str (not "NoneType") to str > > This patch in pysam gets the build in pairtools going beyond this point, but > now the build chokes with: > > | pairtools.cli (unittest.loader._FailedTest.pairtools.cli) ... ERROR > > > | pairtools.lib (unittest.loader._FailedTest.pairtools.lib) ... ERROR > | > | ====================================================================== > | ERROR: pairtools.cli (unittest.loader._FailedTest.pairtools.cli) > | ---------------------------------------------------------------------- > | ImportError: Failed to import test module: pairtools.cli > | Traceback (most recent call last): > | File "/usr/lib/python3.11/unittest/loader.py", line 440, in _find_test_path > | package = self._get_module_from_name(name) > | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > | File "/usr/lib/python3.11/unittest/loader.py", line 350, in > _get_module_from_name > | __import__(name) > | File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/pairtools/cli/__init__.py", > line 188, in <module> > | from . import ( > | File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/pairtools/cli/dedup.py", line > 12, in <module> > | from ..lib import fileio, pairsam_format, headerops > | File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/pairtools/lib/__init__.py", > line 7, in <module> > | from . import parse > | File > "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/pairtools/lib/parse.py", line > 38, in <module> > | from .parse_pysam import get_mismatches_c > | ImportError: > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/pairtools/lib/parse_pysam.cpython-311-x86_64-linux-gnu.so: > undefined symbol: bam_dup1 Turns out this is because there is just a function "declaration" in pysam/libchtslib.pxd for bam_dup1. But the headers imported do not even have the function. I patched the current package in salsa to get the ball rolling. But this needs bioframe. Also, the below patch still needs to be applied to pysam. pushed to salsa. > Description: Add patch to return proper sysconf so for current python > Author: Nilesh Patra <nil...@debian.org> > Last-Update: 2022-12-30 > --- a/pysam/__init__.py > +++ b/pysam/__init__.py > @@ -96,5 +96,7 @@ > if pysam.config.HTSLIB == "builtin": > pysam_libs.append('libchtslib') > > - so = sysconfig.get_config_var('SO') > + so = sysconfig.get_config_var('EXT_SUFFIX') > + if not so: > + so = sysconfig.get_config_var('SO') > return [os.path.join(dirname, x + so) for x in pysam_libs] > -- Best, Nilesh
signature.asc
Description: PGP signature