conda-forge / libtiff-feedstock

A conda-smithy repository for libtiff.
BSD 3-Clause "New" or "Revised" License
1 stars 25 forks source link

Missed dependency on libwebp #53

Closed paskino closed 4 years ago

paskino commented 4 years ago

Issue:

The issue came out installing any version of pillow which would result with the message

ImportError: libwebp.so.7: cannot open shared object file: No such file or directory


Environment (conda list):

``` $ conda list # packages in environment at /home/edo/miniconda3/envs/c2: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge ca-certificates 2019.11.28 hecc5488_0 conda-forge certifi 2019.11.28 py36_0 conda-forge freetype 2.10.0 he983fc9_1 conda-forge giflib 5.2.1 h516909a_1 conda-forge jpeg 9c h14c3975_1001 conda-forge libffi 3.2.1 he1b5a44_1006 conda-forge libgcc-ng 9.2.0 h24d8f2e_1 conda-forge libgomp 9.2.0 h24d8f2e_1 conda-forge libpng 1.6.37 hed695b0_0 conda-forge libstdcxx-ng 9.2.0 hdf63c60_1 conda-forge libtiff 4.1.0 hc3755c2_4 conda-forge libwebp 1.1.0 h56121f0_1 conda-forge libwebp-base 1.1.0 1 conda-forge lz4-c 1.8.3 he1b5a44_1001 conda-forge ncurses 6.1 hf484d3e_1002 conda-forge olefile 0.46 py_0 conda-forge openmp_impl 4.5 0_gnu conda-forge openssl 1.1.1d h516909a_0 conda-forge pillow 5.4.1 py36h00a061d_1000 conda-forge pip 19.3.1 py36_0 conda-forge python 3.6.7 h357f687_1006 conda-forge readline 8.0 hf8c457e_0 conda-forge setuptools 44.0.0 py36_0 conda-forge sqlite 3.30.1 hcee41ef_0 conda-forge tk 8.6.10 hed695b0_0 conda-forge wheel 0.33.6 py36_0 conda-forge xz 5.2.4 h14c3975_1001 conda-forge zlib 1.2.11 h516909a_1006 conda-forge zstd 1.4.4 h3b9ef0a_1 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info active environment : c2 active env location : /home/edo/miniconda3/envs/c2 shell level : 2 user config file : /home/edo/.condarc populated config files : /home/edo/.condarc conda version : 4.7.12 conda-build version : 3.18.9 python version : 3.7.3.final.0 virtual packages : __cuda=10.1 base environment : /home/edo/miniconda3 (writable) channel URLs : https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/edo/miniconda3/pkgs /home/edo/.conda/pkgs envs directories : /home/edo/miniconda3/envs /home/edo/.conda/envs platform : linux-64 user-agent : conda/4.7.12 requests/2.22.0 CPython/3.7.3 Linux/3.10.0-957.27.2.el7.x86_64 centos/7.6.1810 glibc/2.17 UID:GID : 1000:1000 netrc file : None offline mode : False ```

I tracked down the issue to libtiff which is now dependent on libwebp, however libwebp.so.7 is not installed by libwebp rather by libwebp-base.

I'm not sure I understand correctly conda's documentation about host requirements, which seem to say that the current libtiff recipe is correct.

However, on my machines libwebp-base never gets installed and installing it seems to fix my problems.

Issue seems the same as #52

djhoese commented 4 years ago

Also seeing this on my travis runs on OSX. More complete traceback for me is:

  File "/Users/travis/miniconda/envs/test/lib/python3.7/site-packages/trollimage/xrimage.py", line 40, in <module>

    from PIL import Image as PILImage

  File "/Users/travis/miniconda/envs/test/lib/python3.7/site-packages/PIL/Image.py", line 69, in <module>

    from . import _imaging as core

ImportError: dlopen(/Users/travis/miniconda/envs/test/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libwebp.7.dylib

  Referenced from: /Users/travis/miniconda/envs/test/lib/libtiff.5.dylib

  Reason: Incompatible library version: libtiff.5.dylib requires version 9.0.0 or later, but libwebp.7.dylib provides version 8.0.0
ocefpaf commented 4 years ago

We already rolled back the latest libtiff build number 4. We'll introduce that again with a migrator and hopefully avoid that issue. Just update and see if build number 4 is removed from your envs.

djhoese commented 4 years ago

@ocefpaf Thanks. I restarted my travis builds and build 3 was picked up instead of the failing build 4. Tests are passing again.