Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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:
I guess you download the official binary and run it. https://imagemagick.org/script/download.php
What you tried to do is wrong. This not the way to make it work. And would be nice to tell us what is the base os you want to use?
Thanks @pan64. I am trying to run it on a an old Linux Mint 17 Qiana.
Here's part of the output of inxi
Code:
System: Host: ychaouche-PC Kernel: 4.4.0-98-generic x86_64 (64 bit, gcc: 4.8.4)
Desktop: KDE 4.13.3 (Qt 4.8.6) Distro: Linux Mint 17 Qiana
The /snap/ directory has base files for ubuntu 18,20 and 22,
like libc, libdl, libm, libpthread and so on,
and I'd like to use one of those to run imagemagik,
whichever has the necessary libs at the right version,
I am using the official imagemagick binary by the way.
@pan64,
the libs are there but apparently magik requires a newer version,
see the first trace in my first post
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)
...
$
@pan64 downloaded magik from the official website, ran it,
got the errors about library versions.
patchelf was done after that.
I still have a copy of the original unmodified binary.
Ok, so it looks like your OS is too old to run it. you need a newer libc, but that is dangerous, that may make your system useless. Therefore you might try something like this: https://stackoverflow.com/questions/...-not-found-c-c
2023-12-26 at 10:27:18
10:24:13 ~ -1- $ 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)
/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/libtiff.so.5)
/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/libpng16.so.16)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libpng16.so.16)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libdjvulibre.so.21)
/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/libdjvulibre.so.21)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libdjvulibre.so.21)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libdjvulibre.so.21)
/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/libheif.so.1)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libheif.so.1)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libheif.so.1)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libheif.so.1)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libheif.so.1)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libheif.so.1)
/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/libwebpmux.so.3)
/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/libwebp.so.6)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/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/libIlmImf-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmImf-2_3.so.24)
/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/libopenjp2.so.7)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libxml2.so.2)
/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/libxml2.so.2)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libglib-2.0.so.0)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIex-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIex-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIex-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmThread-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmThread-2_3.so.24)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libIlmThread-2_3.so.24)
/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/libicuuc.so.66)
/tmp/.mount_magickXiWzgy/usr/bin/magick: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libicuuc.so.66)
/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/libbsd.so.0)
10:25:09 ~ -1- $
after copying the required libraries from /snap/core20/2015/{,usr}/lib/x86_64-linux-gnu/ to the (extracted) appimage lib directory.
I'll try and see where is it trying to lookup that symbol from.
I guess its a binary, I was going to suggest just re compile from tar.gz. But you could possibly make it work with some effort I checked Magick with ldd on my system and posted the result below. You will probably have to sit and do patchelf --replace-needed for all the ones that are libc related.
I put my example of how I fixed another program this way on Slackware I just replaced the number with the libc that you are trying to make it work with to keep the versions closer together.
Compile a copy of the glibc you want in /opt.
Code:
mkdir ~/glibc_install; cd ~/glibc_install
wget http://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz
tar zxvf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build
cd build
../configure --prefix=/opt/glibc-2.29
make -j48
make install
Then check Magick binary to see what all libc stuff is needed
If there is any others like libstdc++ that it complains to not finding the right version and its part of libc such as anything in /lib or /lib64 just do it here.
Then based on what I saw above you might be able to just grab the source code for the version of libraqm that you need.
That may solve the symbol lookup issue since you might have a older version of raqm, double check your dependencies to see if anything you have else requires raqm and re compile those programs against it possibly if they have a issue.
I hope this can help steer you in a direction of a fix. I know how it is to try to get stuff working on older libc, I had a AI program libggml i had to patch to make work so I could do CPU based chat gpt. It was so slow when I told it write me a simple C++ program lol.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.