Hi Etienne, On Fri, 30 Dec 2022 16:01:00 +0100 =?utf-8?Q?=C3=89tienne?= Mollier <emoll...@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
signature.asc
Description: PGP signature