conda-forge / vtk-feedstock

A conda-smithy repository for vtk.
BSD 3-Clause "New" or "Revised" License
13 stars 64 forks source link

svt-av1 update to 1.1.0 breaks VTK #243

Closed svniemeijer closed 2 years ago

svniemeijer commented 2 years ago

Solution to issue cannot be found in the documentation.

Issue

This just got released: https://github.com/conda-forge/svt-av1-feedstock/pull/11

However, this now results in vtk import errors:

$ conda create -n vtk
$ conda activate vtk
$ conda install -c conda-forge vtk
$ python -m vtk
Traceback (most recent call last):
  File "/Users/sander/mambaforge/envs/vtk/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/sander/mambaforge/envs/vtk/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/sander/mambaforge/envs/vtk/lib/python3.10/site-packages/vtk.py", line 31, in <module>
    all_m = importlib.import_module('vtkmodules.all')
  File "/Users/sander/mambaforge/envs/vtk/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/sander/mambaforge/envs/vtk/lib/python3.10/site-packages/vtkmodules/all.py", line 70, in <module>
    from .vtkIOFFMPEG import *
ImportError: dlopen(/Users/sander/mambaforge/envs/vtk/lib/python3.10/site-packages/vtkmodules/vtkIOFFMPEG.cpython-310-darwin.so, 0x0002): Library not loaded: @rpath/libSvtAv1Enc.0.dylib
  Referenced from: /Users/sander/mambaforge/envs/vtk/lib/libavcodec.58.134.100.dylib
  Reason: tried: '/Users/sander/mambaforge/envs/vtk/lib/libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/lib/libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/lib/libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/lib/python3.10/site-packages/vtkmodules/../../../libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/lib/python3.10/site-packages/vtkmodules/../../../libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/bin/../lib/libSvtAv1Enc.0.dylib' (no such file), '/Users/sander/mambaforge/envs/vtk/bin/../lib/libSvtAv1Enc.0.dylib' (no such file), '/usr/local/lib/libSvtAv1Enc.0.dylib' (no such file), '/usr/lib/libSvtAv1Enc.0.dylib' (no such file)

This happens on both macos and linux. The actual installed svt-av1 library is libSvtAv1Enc.1.dylib instead of libSvtAv1Enc.0.dylib.

Somehow ffmpeg is not pinning a specific svt-av1 library version. And since ffmpeg is currently version-pinned within vtk, I guess this will have to be solved within the vtk feedstock for now.

Installed packages

# packages in environment at /Users/sander/mambaforge/envs/vtk:
#
# Name                    Version                   Build  Channel
aom                       3.3.0                h96cf925_1    conda-forge
bzip2                     1.0.8                h0d85af4_4    conda-forge
c-ares                    1.18.1               h0d85af4_0    conda-forge
ca-certificates           2021.10.8            h033912b_0    conda-forge
curl                      7.83.1               h23f1065_0    conda-forge
double-conversion         3.2.0                he49afe7_0    conda-forge
eigen                     3.4.0                h940c156_0    conda-forge
expat                     2.4.8                h96cf925_0    conda-forge
ffmpeg                    4.4.1                h2579ba5_2    conda-forge
freetype                  2.10.4               h4cff582_1    conda-forge
gettext                   0.19.8.1          hd1a6beb_1008    conda-forge
gl2ps                     1.4.2                h4cff582_0    conda-forge
glew                      2.1.0                h046ec9c_2    conda-forge
gmp                       6.2.1                h2e338ed_0    conda-forge
gnutls                    3.6.13               h756fd2b_1    conda-forge
hdf4                      4.2.15               hefd3b78_3    conda-forge
hdf5                      1.12.1          nompi_h0aa1fa2_104    conda-forge
icu                       69.1                 he49afe7_0    conda-forge
jbig                      2.1               h0d85af4_2003    conda-forge
jpeg                      9e                   h5eb16cf_1    conda-forge
jsoncpp                   1.9.5                h940c156_1    conda-forge
krb5                      1.19.3               hb98e516_0    conda-forge
lame                      3.100             h35c211d_1001    conda-forge
lerc                      3.0                  he49afe7_0    conda-forge
libclang                  13.0.1          default_he082bbe_0    conda-forge
libcurl                   7.83.1               h23f1065_0    conda-forge
libcxx                    14.0.3               hc203e6f_0    conda-forge
libdeflate                1.10                 h0d85af4_0    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.4.2                h0d85af4_5    conda-forge
libgfortran               5.0.0           9_3_0_h6c81a4c_23    conda-forge
libgfortran5              9.3.0               h6c81a4c_23    conda-forge
libiconv                  1.16                 haf1e3a3_0    conda-forge
libllvm13                 13.0.1               h64f94b2_2    conda-forge
libnetcdf                 4.8.1           nompi_h6609ca0_102    conda-forge
libnghttp2                1.47.0               hca56917_0    conda-forge
libogg                    1.3.4                h35c211d_1    conda-forge
libpng                    1.6.37               h7cec526_2    conda-forge
libpq                     14.3                 h2b7167c_0    conda-forge
libssh2                   1.10.0               hd3787cc_2    conda-forge
libtheora                 1.1.1             h0d85af4_1005    conda-forge
libtiff                   4.3.0                h17f2ce3_3    conda-forge
libvorbis                 1.3.7                h046ec9c_0    conda-forge
libvpx                    1.11.0               he49afe7_3    conda-forge
libwebp-base              1.2.2                h0d85af4_1    conda-forge
libxml2                   2.9.12               h7e28ab6_1    conda-forge
libzip                    1.8.0                h7e5727d_1    conda-forge
libzlib                   1.2.11            h6c3fc93_1014    conda-forge
llvm-openmp               14.0.3               ha654fa7_0    conda-forge
loguru                    0.6.0           py310h2ec42d9_1    conda-forge
lz4-c                     1.9.3                he49afe7_1    conda-forge
mysql-common              8.0.29               h9525fdc_1    conda-forge
mysql-libs                8.0.29               h8d0e597_1    conda-forge
ncurses                   6.3                  h96cf925_1    conda-forge
nettle                    3.6                  hedd7734_0    conda-forge
nspr                      4.32                 hcd9eead_1    conda-forge
nss                       3.77                 hfce436b_0    conda-forge
openh264                  2.1.1                hfd3ada9_0    conda-forge
openssl                   3.0.3                hfe4f2af_0    conda-forge
pip                       22.1               pyhd8ed1ab_0    conda-forge
proj                      9.0.0                h2364a93_1    conda-forge
pugixml                   1.11.4               he49afe7_0    conda-forge
python                    3.10.4          h1cc4136_0_cpython    conda-forge
python_abi                3.10                    2_cp310    conda-forge
qt                        5.12.9               h2a607e2_5    conda-forge
readline                  8.1                  h05e3726_0    conda-forge
setuptools                62.3.1          py310h2ec42d9_0    conda-forge
sqlite                    3.38.5               hd9f0692_0    conda-forge
svt-av1                   1.1.0                hb486fe8_0    conda-forge
tbb                       2021.5.0             hbb4e6a2_1    conda-forge
tbb-devel                 2021.5.0             hbb4e6a2_1    conda-forge
tk                        8.6.12               h5dbffcc_0    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
utfcpp                    3.2.1                h694c41f_0    conda-forge
vtk                       9.1.0           qt_py310h7b8c64f_208    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
x264                      1!161.3030           h0d85af4_1    conda-forge
x265                      3.5                  hbb4e6a2_3    conda-forge
xz                        5.2.5                haf1e3a3_1    conda-forge
zlib                      1.2.11            h6c3fc93_1014    conda-forge
zstd                      1.5.2                ha9df2e0_1    conda-forge

Environment info

active environment : vtk
    active env location : /Users/sander/mambaforge/envs/vtk
            shell level : 1
       user config file : /Users/sander/.condarc
 populated config files : /Users/sander/mambaforge/.condarc
                          /Users/sander/.condarc
          conda version : 4.12.0
    conda-build version : 3.21.8
         python version : 3.9.12.final.0
       virtual packages : __osx=12.3.1=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /Users/sander/mambaforge  (writable)
      conda av data dir : /Users/sander/mambaforge/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/sander/mambaforge/pkgs
                          /Users/sander/.conda/pkgs
       envs directories : /Users/sander/mambaforge/envs
                          /Users/sander/.conda/envs
               platform : osx-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Darwin/21.4.0 OSX/12.3.1
                UID:GID : 501:20
             netrc file : None
           offline mode : False
svniemeijer commented 2 years ago

I am confused. I just tried to create the environment again and now I am getting svt-av1 0.9.1:

$ conda list
# packages in environment at /Users/sander/mambaforge/envs/vtk:
#
# Name                    Version                   Build  Channel
aom                       3.3.0                h96cf925_1    conda-forge
bzip2                     1.0.8                h0d85af4_4    conda-forge
c-ares                    1.18.1               h0d85af4_0    conda-forge
ca-certificates           2022.5.18            h033912b_0    conda-forge
curl                      7.83.1               h23f1065_0    conda-forge
double-conversion         3.2.0                he49afe7_0    conda-forge
eigen                     3.4.0                h940c156_0    conda-forge
expat                     2.4.8                h96cf925_0    conda-forge
ffmpeg                    4.4.1                h2579ba5_2    conda-forge
freetype                  2.10.4               h4cff582_1    conda-forge
gettext                   0.19.8.1          hd1a6beb_1008    conda-forge
gl2ps                     1.4.2                h4cff582_0    conda-forge
glew                      2.1.0                h046ec9c_2    conda-forge
gmp                       6.2.1                h2e338ed_0    conda-forge
gnutls                    3.6.13               h756fd2b_1    conda-forge
hdf4                      4.2.15               hefd3b78_3    conda-forge
hdf5                      1.12.1          nompi_h0aa1fa2_104    conda-forge
icu                       69.1                 he49afe7_0    conda-forge
jbig                      2.1               h0d85af4_2003    conda-forge
jpeg                      9e                   h5eb16cf_1    conda-forge
jsoncpp                   1.9.5                h940c156_1    conda-forge
krb5                      1.19.3               hb98e516_0    conda-forge
lame                      3.100             h35c211d_1001    conda-forge
lerc                      3.0                  he49afe7_0    conda-forge
libclang                  13.0.1          default_he082bbe_0    conda-forge
libcurl                   7.83.1               h23f1065_0    conda-forge
libcxx                    14.0.3               hc203e6f_0    conda-forge
libdeflate                1.10                 h0d85af4_0    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.4.2                h0d85af4_5    conda-forge
libgfortran               5.0.0           9_3_0_h6c81a4c_23    conda-forge
libgfortran5              9.3.0               h6c81a4c_23    conda-forge
libiconv                  1.16                 haf1e3a3_0    conda-forge
libllvm13                 13.0.1               h64f94b2_2    conda-forge
libnetcdf                 4.8.1           nompi_h6609ca0_102    conda-forge
libnghttp2                1.47.0               hca56917_0    conda-forge
libogg                    1.3.4                h35c211d_1    conda-forge
libpng                    1.6.37               h7cec526_2    conda-forge
libpq                     14.3                 h2b7167c_0    conda-forge
libssh2                   1.10.0               hd3787cc_2    conda-forge
libtheora                 1.1.1             h0d85af4_1005    conda-forge
libtiff                   4.3.0                h17f2ce3_3    conda-forge
libvorbis                 1.3.7                h046ec9c_0    conda-forge
libvpx                    1.11.0               he49afe7_3    conda-forge
libwebp-base              1.2.2                h0d85af4_1    conda-forge
libxml2                   2.9.12               h7e28ab6_1    conda-forge
libzip                    1.8.0                h7e5727d_1    conda-forge
libzlib                   1.2.11            h6c3fc93_1014    conda-forge
llvm-openmp               14.0.3               ha654fa7_0    conda-forge
loguru                    0.6.0           py310h2ec42d9_1    conda-forge
lz4-c                     1.9.3                he49afe7_1    conda-forge
mysql-common              8.0.29               h9525fdc_1    conda-forge
mysql-libs                8.0.29               h8d0e597_1    conda-forge
ncurses                   6.3                  h96cf925_1    conda-forge
nettle                    3.6                  hedd7734_0    conda-forge
nspr                      4.32                 hcd9eead_1    conda-forge
nss                       3.77                 hfce436b_0    conda-forge
openh264                  2.1.1                hfd3ada9_0    conda-forge
openssl                   3.0.3                hfe4f2af_0    conda-forge
pip                       22.1               pyhd8ed1ab_0    conda-forge
proj                      9.0.0                h2364a93_1    conda-forge
pugixml                   1.11.4               he49afe7_0    conda-forge
python                    3.10.4          h1cc4136_0_cpython    conda-forge
python_abi                3.10                    2_cp310    conda-forge
qt                        5.12.9               h2a607e2_5    conda-forge
readline                  8.1                  h05e3726_0    conda-forge
setuptools                62.3.1          py310h2ec42d9_0    conda-forge
sqlite                    3.38.5               hd9f0692_0    conda-forge
svt-av1                   0.9.1                h96cf925_0    conda-forge
tbb                       2021.5.0             hbb4e6a2_1    conda-forge
tbb-devel                 2021.5.0             hbb4e6a2_1    conda-forge
tk                        8.6.12               h5dbffcc_0    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
utfcpp                    3.2.1                h694c41f_0    conda-forge
vtk                       9.1.0           qt_py310h7b8c64f_208    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
x264                      1!161.3030           h0d85af4_1    conda-forge
x265                      3.5                  hbb4e6a2_3    conda-forge
xz                        5.2.5                haf1e3a3_1    conda-forge
zlib                      1.2.11            h6c3fc93_1014    conda-forge
zstd                      1.5.2                ha9df2e0_1    conda-forge

How/where did this get fixed?

jakirkham commented 2 years ago

Please see issue ( https://github.com/conda-forge/svt-av1-feedstock/issues/12 )

jakirkham commented 2 years ago

A hot-fix was applied for ffmpeg ( https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/263 ), which is what resolved that part of the issue

svniemeijer commented 2 years ago

Thanks. That explains what I saw.