bxlab / bx-python

Tools for manipulating biological data, particularly multiple sequence alignments
MIT License
145 stars 53 forks source link

0.8.11 Doesn't install some built shared libraries #75

Closed yurivict closed 3 years ago

yurivict commented 3 years ago

I am getting this error from the FreeBSD ports framework:

====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/_seqmapping.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/align/_core.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/align/_epo.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/align/sitemask/_cpg.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/arrays/array_tree.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/arrays/bed.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/arrays/wiggle.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bbi/bbi_file.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bbi/bigbed_file.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bbi/bigwig_file.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bbi/bpt_file.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bbi/cirtree_file.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/bitset.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/intervals/cluster.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/intervals/intersection.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/intseq/ngramcount.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/misc/_seekbzip2.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/misc/bgzf.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/motif/_pwm.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/pwm/_position_weight_matrix.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/seq/_nib.so
Error: Missing: %%PYTHON_SITELIBDIR%%/7/bx-python-0.8.11/lib/bx/seq/_twobit.so
===> Error: Plist issues found.

The above listed shared libraries were built, written into plist, but were not installed.

Python 3.7 FreeBSD 12.2

nsoranzo commented 3 years ago

We don't have control on this, can you please report it on the FreeBSD issue tracker?

yurivict commented 3 years ago

We don't have control on this [...]

Why? Your project doesn't install these files.

nsoranzo commented 3 years ago

In 0.8.11:

Maybe that helps?

yurivict commented 3 years ago

distutils is not a dependency any more

But python setup.py install is still recommended in the README file, and setup.py contains: from distutils.core import Command

nsoranzo commented 3 years ago

Sorry, I confused myself there. You are right distutils is still used, although it's technically part of the Python standard library even if distributions tend to package it separately. What is not needed any more is setuptools at runtime, it's only required (at version >=39.2.0) at install time.

python -m pip install . is the best way to install bx-python from source nowadays.

yurivict commented 3 years ago

python -m pip install wouldn't work for the bx-python port that I maintain. Ports should be built using setuptools.

There is a bug in the project that fails to install these files via setuptools.

nsoranzo commented 3 years ago

OK, I tracked this down, should be fixed by commit https://github.com/bxlab/bx-python/commit/cd3cf732539c9c1385e63e7d74d9b4077d7c4bc6 . Hopefully this works for you and you can cherry-pick it to your build system. Otherwise I can tag a new release.

brobr commented 2 years ago

Thanks, this was also needed for making a slackware package (also works via setup.py). It solved the problem encountered with RSeQC:

Traceback (most recent call last): File "/usr/bin/bam_stat.py", line 22, in from bx.bitset import * ModuleNotFoundError: No module named 'bx.bitset'