Trying to run a program with newer libs
by ychaouche from LinuxQuestions.org on (#6HN8M)
I tried to run image magick 7 and it complaind that it couldn't find the necessary libraries
Code:$ ~/DOWNLOADS/APPS/magick
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libMagickCore-7.Q16HDRI.so.10)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libMagickCore-7.Q16HDRI.so.10)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/liblcms2.so.2)
...
$I have a /snap/ directory with more recent libraries.
I tried to use those like this (with a newer loader too)
Code:$ LD_LIBRARY_PATH=/snap/core18/current/lib/x86_64-linux-gnu/ /snap/core18/current/lib64/ld-linux-x86-64.so.2 ~/DOWNLOADS/APPS/magick
/home/ychaouche/DOWNLOADS/APPS/magick: error while loading shared libraries: /home/ychaouche/DOWNLOADS/APPS/magick: ELF file ABI version invalid
$Then I read about patchelf and decided to use that instead to change the loader and the rpath in the binary itself,
but I get a segmentation fault:
Code:$ patchelf --set-interpreter /snap/core18/current/lib64/ld-linux-x86-64.so.2 --set-rpath /snap/core18/current/usr/lib/x86_64-linux-gnu/ magick
$ ./magick
Segmentation fault
$I tried to see if it could at least find its libraries,
but ldd seems confused:
Code:$ ldd magick
not a dynamic executable
$
Even copying the ldd script and changing it to allow test with more loaders from the /snap/ directories,
I couldn't get it to recognize the binary.
Where should I go from here?
Code:$ ~/DOWNLOADS/APPS/magick
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libMagickCore-7.Q16HDRI.so.10)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libMagickCore-7.Q16HDRI.so.10)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/liblcms2.so.2)
...
$I have a /snap/ directory with more recent libraries.
I tried to use those like this (with a newer loader too)
Code:$ LD_LIBRARY_PATH=/snap/core18/current/lib/x86_64-linux-gnu/ /snap/core18/current/lib64/ld-linux-x86-64.so.2 ~/DOWNLOADS/APPS/magick
/home/ychaouche/DOWNLOADS/APPS/magick: error while loading shared libraries: /home/ychaouche/DOWNLOADS/APPS/magick: ELF file ABI version invalid
$Then I read about patchelf and decided to use that instead to change the loader and the rpath in the binary itself,
but I get a segmentation fault:
Code:$ patchelf --set-interpreter /snap/core18/current/lib64/ld-linux-x86-64.so.2 --set-rpath /snap/core18/current/usr/lib/x86_64-linux-gnu/ magick
$ ./magick
Segmentation fault
$I tried to see if it could at least find its libraries,
but ldd seems confused:
Code:$ ldd magick
not a dynamic executable
$
Even copying the ldd script and changing it to allow test with more loaders from the /snap/ directories,
I couldn't get it to recognize the binary.
Where should I go from here?