MathOnco / valis

Virtual Alignment of pathoLogy Image Series
https://valis.readthedocs.io/en/latest/
MIT License
119 stars 29 forks source link

OSError cannot load library 'libvips.so.42' on the latest Docker image #139

Open KOBE24DUNK opened 3 months ago

KOBE24DUNK commented 3 months ago

docker run --memory=16g -v "D:\Data(HDD):/data" cdgatenbee/valis-wsi python3 /data/Multiplex/register_ihc.py

/usr/local/src/.venv/lib/python3.12/site-packages/SimpleITK/extra.py:457: SyntaxWarning: invalid escape sequence '\s' """Blurs an image by separable convolution with discrete Traceback (most recent call last): File "/usr/local/src/.venv/lib/python3.12/site-packages/pyvips/init.py", line 19, in import _libvips ImportError: librsvg-2.so.2: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/data/Multiplex/merge.py", line 2, in from valis import registration,valtils File "/usr/local/src/valis/init.py", line 3, in from . import affine_optimizer File "/usr/local/src/valis/affine_optimizer.py", line 21, in from . warp_tools import get_affine_transformation_params, \ File "/usr/local/src/valis/warp_tools.py", line 18, in import pyvips File "/usr/local/src/.venv/lib/python3.12/site-packages/pyvips/init.py", line 61, in vips_lib = ffi.dlopen('libvips.so.42') ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/src/.venv/lib/python3.12/site-packages/cffi/api.py", line 150, in dlopen lib, function_cache = _make_ffi_library(self, name, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/src/.venv/lib/python3.12/site-packages/cffi/api.py", line 832, in _make_ffi_library backendlib = _load_backend_lib(backend, libname, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/src/.venv/lib/python3.12/site-packages/cffi/api.py", line 827, in _load_backend_lib raise OSError(msg) OSError: cannot load library 'libvips.so.42': librsvg-2.so.2: cannot open shared object file: No such file or directory. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libvips.so.42'

I'm quite sorry for so many issues opened so intensively, since I'm trying to solve the problem "Index Error" #138 which might have been debugged already in the latest version.

Thanks for your help!

KOBE24DUNK commented 3 months ago

This issue occurs in version 1.1.0 (latest version). It can work on 1.0.4 or previous versions.

cdgatenbee commented 3 months ago

Hi @KOBE24DUNK, Thanks for reporting this, I didn't come across this error when testing the container. I'll dig into it and see if I can figure out what is going on.

Best, -Chandler

Gibbsdavidl commented 1 month ago

I had this same error and I noticed it seemed to be missing librsvg-2.so.2. So I cloned the repo, and added a couple libraries to the dockerfile and rebuilt the docker image which fixed the issue. I think I was searching around for similar errors and came across this one. I added librsvg2-2, libglib2.0-dev, libexpat1-dev, but they might not all be needed.

cdgatenbee commented 1 month ago

Thanks @Gibbsdavidl! Would you be willing to submit your updated Dockerfile in a pull request? That way the issue will be resolved and you'll be credited for the fix :)

Best, -Chandler