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


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]

Attachment: signature.asc
Description: PGP signature

Reply via email to