[Debian-med-packaging] Bug#1027386: Bug#1027335: pairtools -- FTBFS in unstable

Nilesh Patra nilesh at debian.org
Sat Dec 31 18:51:50 GMT 2022


Hi Etienne,

On Fri, 30 Dec 2022 16:01:00 +0100 =?utf-8?Q?=C3=89tienne?= Mollier <emollier at emlwks999.eu> wrote: 
> Nilesh Patra, on 2022-12-30:
> >   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
> 
> Thanks for catching this, I confirm I can reproduce the error
> without pairtools in the loop.  Given the reproducer.py below:
> 
> 	import pysam
> 	for lib in pysam.get_libraries():
> 	    print(lib)
> 
> I do get the error with python3.11:
> 
> 	$ python3.11 reproducer.py
> 	Traceback (most recent call last):
> 	  File "/home/emollier/tmp/reproducer.py", line 2, in <module>
> 	    for lib in 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
> 
> Besides, the error looks genuine since in python3.10, the output
> seems to return the expected result:

I believe I have fixed this particular problem in next pysam upload. However, the issue
with bam_dup1 and a bunch of other functions in pysam still remains.
I had to hack around by applying this patch in pairtools

	https://salsa.debian.org/med-team/pairtools/-/blob/master/debian/patches/fix-pysam-ftbfs.patch

IMHO this really is un-called for, as pysam should resolve these things. In particular,
pysam declared in pysam/libchtslib.pxd and there are also a bunch of htslib imports in
htslib_util.h but probably those function defs have been removed in those htslib headers.

In particular we are likely bitten by htslib vers moving async with what pysam is expecting.
These should be fixed prior to release I guess :)

> 	$ python3.10 reproducer.py

Curious -- what script is this? :)

-- 
Best,
Nilesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20230101/11ebbf71/attachment.sig>


More information about the Debian-med-packaging mailing list