PacificBiosciences / pbbioconda

PacBio Secondary Analysis Tools on Bioconda. Contains list of PacBio packages available via conda.
BSD 3-Clause Clear License
251 stars 45 forks source link

bioconda package numpy dependency version #16

Closed peterjc closed 6 years ago

peterjc commented 6 years ago

I'm unclear if this should reported here, or on the BioConda repository (where I could submit a pull request to update the meta.yaml file).

Operating system Linux

Package name Which package / tool is causing the problem? Which version are you using, use tool --version. Have you updated to the latest version conda update package?

Using genomicconsensus-2.3.2 (latest version), bug shown with variantCaller --version as described below.

Describe the bug A clear and concise description of what the bug is.

API incompatibility warning with genomicconsensus-2.3.2 and numpy-1.15.1

Error message Paste the error message / stack.

$ variantCaller --version
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
2.3.2

To Reproduce Steps to reproduce the behavior. Providing a minimal test dataset on which we can reproduce the behavior will generally lead to quicker turnaround time!

$ conda install numpy==1.13.3
...
$ conda install genomicconsensus
...
Downloading and Extracting Packages
python-consensuscore | 848 KB    | #################################################################################################################### | 100% 
python-consensuscore | 1.4 MB    | #################################################################################################################### | 100% 
genomicconsensus-2.3 | 96 KB     | #################################################################################################################### | 100% 
pbcommand-1.1.1      | 193 KB    | #################################################################################################################### | 100% 
pbcore-1.5.1         | 9.7 MB    | #################################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction:
...

Then,

$ variantCaller --version
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
2.3.2
$ arrow --version
RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb
2.3.2

Updating numpy fixed this,

$ conda update numpy
...
The following packages will be UPDATED:

    blas:        1.0-mkl                           --> 1.1-openblas                         conda-forge
    dextractor:  1.0p2-0               bioconda    --> 1.0p2-h647bee3_1                     bioconda   
    h5py:        2.7.0-np113py27_0                 --> 2.8.0-py27hb794570_1                 conda-forge
    hdf5:        1.8.17-11             conda-forge --> 1.10.2-hc401514_2                    conda-forge
    numpy:       1.13.3-py27hdbf6ddf_4             --> 1.15.1-py27_blas_openblashd3ea46f_1  conda-forge [blas_openblas]
    numpy-base:  1.14.3-py27hdbf6ddf_0             --> 1.14.3-py27h0ea5e3f_1                           
    scipy:       1.1.0-py27hfc37229_0              --> 1.1.0-py27_blas_openblash7943236_201 conda-forge [blas_openblas]

Proceed ([y]/n)? y

Downloading and Extracting Packages
hdf5-1.10.2          | 4.8 MB    | #################################################################################################################### | 100% 
linecache2-1.0.0     | 22 KB     | #################################################################################################################### | 100% 
libopenblas-0.2.20   | 8.8 MB    | #################################################################################################################### | 100% 
numpy-base-1.14.3    | 4.0 MB    | #################################################################################################################### | 100% 
dextractor-1.0p2     | 100 KB    | #################################################################################################################### | 100% 
unittest2-1.1.0      | 68 KB     | #################################################################################################################### | 100% 
traceback2-1.4.0     | 28 KB     | #################################################################################################################### | 100% 
numpy-1.15.1         | 8.9 MB    | #################################################################################################################### | 100% 
scipy-1.1.0          | 39.4 MB   | #################################################################################################################### | 100% 
h5py-2.8.0           | 3.4 MB    | #################################################################################################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
[pc40583@n13-16-384-hypnotoad assembly]$ 
[pc40583@n13-16-384-hypnotoad assembly]$ 
[pc40583@n13-16-384-hypnotoad assembly]$ arrow --version
2.3.2

Expected behavior A clear and concise description of what you expected to happen.

The dependencies Arrow (etc) should ensure a version of NumPy compatible with what was used to compile the binaries gets installed on conda.

From trying $ conda install numpy==1.14 which also works, it seems we need at least numpy 1.14 in the recipe's meta.yaml

peterjc commented 6 years ago

(I'm not sure which of the various bits of PacBio package stack the minimum version of numpy needs to be declared, presumably only those which have compiled Python code using the NumPy C API)

armintoepfer commented 6 years ago

We are looking into it and will come back to you.

peterjc commented 6 years ago

Thank you all, that was quick.

pb-dseifert commented 6 years ago

oh and one final thing: It was correct that you submitted it here, please let us deal with the meta.yaml files in the bioconda repo (otherwise we also lose the mental overview of changes to our recipes).