[arch-general] imagemagick and calibre have problems with libtool in testing
Not sure this warrants a bug report but here's what happened. I'm running testing repositories and building my own packages, after I upgraded libtool last night calibre would not start. Did crtl + alt + F1 to read the error message and found this -- imagemagick cannot load libltdl.so.7. This prevented calibre from running. Solution was to rebuild imagemagick against the new libltdl installation then rebuilt calibre (possibly and unneeded step but did it anyway). Everything works fine now. Just thought I would pass this on in case anyone else has the same problem. Myra -- Life's fun when your sick and psychotic!
[2011-09-09 15:58:07 -0500] Myra Nelson:
I'm running testing repositories and building my own packages, after I upgraded libtool last night calibre would not start. Did crtl + alt + F1 to read the error message and found this -- imagemagick cannot load libltdl.so.7. This prevented calibre from running.
Solution was to rebuild imagemagick against the new libltdl installation then rebuilt calibre (possibly and unneeded step but did it anyway). Everything works fine now.
imagemagick-6.7.2.1-1 works just fine with libltdl-2.4-5 here; the latter provides /usr/lib/libltdl.so.7 as expected... Are you sure you had libltdl installed? What is your architecture? -- Gaetan
On Fri, Sep 9, 2011 at 16:10, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-09 15:58:07 -0500] Myra Nelson:
I'm running testing repositories and building my own packages, after I upgraded libtool last night calibre would not start. Did crtl + alt + F1 to read the error message and found this -- imagemagick cannot load libltdl.so.7. This prevented calibre from running.
Solution was to rebuild imagemagick against the new libltdl installation then rebuilt calibre (possibly and unneeded step but did it anyway). Everything works fine now.
imagemagick-6.7.2.1-1 works just fine with libltdl-2.4-5 here; the latter provides /usr/lib/libltdl.so.7 as expected... Are you sure you had libltdl installed? What is your architecture?
-- Gaetan
Yes libltdl was installed. I had just built the lastest version of libtool which is now a split package libltdl-2.4-5-x86_64.pkg.tar.xz and libtool-2.4-5-x86_64.pkg.tar.xz and locate libltdl.so.7 produced (and still does) /usr/lib/libltdl.a /usr/lib/libltdl.so /usr/lib/libltdl.so.7 /usr/lib/libltdl.so.7.3.0. Prior to installing those packages everything worked fine. I'm not complaining, bitching, griping, xxxxx, I simply rebuilt imagemagick and calibre and everything now works fine. What didn't work was running calibre after doing the new installion of libltdl without rebuilding imagemagick against the new libltdl installation. I'm just trying to pass on information in case some one else ran into the same problem. Hell I don't know, I may have something misconfigured on my system that gives me wierd errors. I just try to fix it and keep going and occassionally put something back into the community especially when I running the testing repos. Myra pacman.log [2011-09-09 01:38] Running 'pacman -Uf --config /home/myra/pacman_maint/pacman.conf --cachedir /var/cache/pacman/pkg --dbpath /var/lib/pacman libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz' -- yes I'm anal [2011-09-09 01:38] installed libltdl (2.4-5) [2011-09-09 01:39] upgraded libtool (2.4-4 -> 2.4-5) Architecture: Linux gandalf 3.0-pf #1 SMP PREEMPT Fri Sep 2 12:15:13 CDT 2011 x86_64 AMD Phenom(tm) 8450 Triple-Core Processor AuthenticAMD GNU/Linux CFLAGS="-march=amdfam10 -m64 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" -- The -m64 probably isn't necessary. CXXFLAGS="-march=amdfam10 -m64 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2" LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu" Build process that corrected my problem. cd arch_svn/packages svn update imagemagick libtool cd libtool/trunk makepkg pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz cd ../../../community/calibre/trunk makepkg pacman -Uf calibre-0.8.17-1-x86_64.pkg.tar.xz pacman -Qi gcc Name : gcc Version : 4.6.1-4 pacman -Qi libltdl Name : libltdl Version : 2.4-5 pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website. Name : imagemagick Version : 6.7.2.3-1 -- Life's fun when your sick and psychotic!
[2011-09-09 17:24:54 -0500] Myra Nelson:
I'm not complaining, bitching, griping, xxxxx
I only asked for more information (in a tone I believe was neutral) to try and diagnose the issue your had; offending you was not my intention.
I'm just trying to pass on information in case some one else ran into the same problem.
Not so many people use [testing], so it is worth diagnosing and fixing your problem even if nobody else reports similar issues yet.
pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz
Is there a particular reason why you always use the --force option?
pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website.
When nobody flags packages out-of-date, they often stay out-of-date. -- Gaetan
On Fri, Sep 9, 2011 at 18:51, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-09 17:24:54 -0500] Myra Nelson:
I'm not complaining, bitching, griping, xxxxx
I only asked for more information (in a tone I believe was neutral) to try and diagnose the issue your had; offending you was not my intention.
I'm just trying to pass on information in case some one else ran into the same problem.
Not so many people use [testing], so it is worth diagnosing and fixing your problem even if nobody else reports similar issues yet.
pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz
Is there a particular reason why you always use the --force option?
pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website.
When nobody flags packages out-of-date, they often stay out-of-date.
-- Gaetan
I apologize if I came off a little terse, that was not my intent. I generally write what comes to mind at the time and forget to re-read and correct and errors of judgement. Since I started using the -f (force option) prior to my hospital stay in January, I don't really remember the reason. I have a bash alias set up which allows me to type pacu for the pacman -Uf command. I lost a lot of memory due to CO2 poisoning when I crashed in January and really can't remember. I just keep picking up the pieces and moving trying to move on. That's one reason I'm running [testing], it provides me with some challenges when things break. I get to learn new things. By compiling my own packages and sorting out what's wrong when something doesn't work I gain insight about how things fit together. Most Arch users probably know this, but using a computer is about learning how a computer works, why it does what it does, and how to make it do what you want it to do. Enough babbling, I'll flag imagemagick out of date and calibre as well, there is a new version out. Myra -- Life's fun when your sick and psychotic!
On Fri, Sep 9, 2011 at 18:51, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-09 17:24:54 -0500] Myra Nelson:
I'm not complaining, bitching, griping, xxxxx
I only asked for more information (in a tone I believe was neutral) to try and diagnose the issue your had; offending you was not my intention.
I'm just trying to pass on information in case some one else ran into the same problem.
Not so many people use [testing], so it is worth diagnosing and fixing your problem even if nobody else reports similar issues yet.
pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz
Is there a particular reason why you always use the --force option?
pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website.
When nobody flags packages out-of-date, they often stay out-of-date.
-- Gaetan
I'm not sure I have the answer but may be closer to figureing out a solution. I built calibre-0.8.18-2 and everything worked fine. Last night Imagemagick updated from [ libMagickWand.so.4 (libc6,x86-64) => /usr/lib/libMagickWand.so.4 ] to [ libMagickWand.so.5 (libc6,x86-64) => /usr/lib/libMagickWand.so.5 ] and calibre refuses to run again with the error message "Runtime Error: Failed to load Imagemagick: libMagickWand.so.4: cannot find shared object file: No such file or directory". I had already changed my bash alias for pacman -Uf to pacman -U before I built and installed calibre-0.8.18-2. I just went back and reinstalled calibre with the same results. It seems that calibre needs to be rebuilt with each update of it's shared libraries since it searchs for libxxxxx.so.[0-9] instead of libxxx.so. I just rebuilt calibre with with libMagickWand.so.5 installed and it runs fine. Is the a direct result of me building the package on my machine or is it a result of something misconfigured in my build setup? If not, is it in the internal build process of calibre? I'm missing something here. Thanks Myra -- Life's fun when your sick and psychotic!
On Tue, Sep 13, 2011 at 6:27 PM, Myra Nelson <myra.nelson@hughes.net> wrote:
On Fri, Sep 9, 2011 at 18:51, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-09 17:24:54 -0500] Myra Nelson:
I'm not complaining, bitching, griping, xxxxx
I only asked for more information (in a tone I believe was neutral) to try and diagnose the issue your had; offending you was not my intention.
I'm just trying to pass on information in case some one else ran into the same problem.
Not so many people use [testing], so it is worth diagnosing and fixing your problem even if nobody else reports similar issues yet.
pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz
Is there a particular reason why you always use the --force option?
pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website.
When nobody flags packages out-of-date, they often stay out-of-date.
-- Gaetan
I'm not sure I have the answer but may be closer to figureing out a solution. I built calibre-0.8.18-2 and everything worked fine. Last night Imagemagick updated from [ libMagickWand.so.4 (libc6,x86-64) => /usr/lib/libMagickWand.so.4 ] to [ libMagickWand.so.5 (libc6,x86-64) => /usr/lib/libMagickWand.so.5 ] and calibre refuses to run again with the error message "Runtime Error: Failed to load Imagemagick: libMagickWand.so.4: cannot find shared object file: No such file or directory".
I had already changed my bash alias for pacman -Uf to pacman -U before I built and installed calibre-0.8.18-2. I just went back and reinstalled calibre with the same results. It seems that calibre needs to be rebuilt with each update of it's shared libraries since it searchs for libxxxxx.so.[0-9] instead of libxxx.so. I just rebuilt calibre with with libMagickWand.so.5 installed and it runs fine.
Is the a direct result of me building the package on my machine or is it a result of something misconfigured in my build setup? If not, is it in the internal build process of calibre? I'm missing something here.
That's the way it's supposed to work. When a soname (library version number) changes, everything that uses that library has to be rebuilt. Linking directly against the versioned filename is a safety feature, so that no program ever uses an incompatible library - after all, if the soname changed, there was a reason for it, some kind of API change. (That's also why it's bad to symlink library versions to each other.) For official packages, the devs and TUs do the rebuild for you. (I think that's what they spend most of their time on, really.) Since you built calibre yourself, you have to rebuild it.
On Tue, Sep 13, 2011 at 18:00, Ray Kohler <ataraxia937@gmail.com> wrote:
On Tue, Sep 13, 2011 at 6:27 PM, Myra Nelson <myra.nelson@hughes.net> wrote:
On Fri, Sep 9, 2011 at 18:51, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-09 17:24:54 -0500] Myra Nelson:
I'm not complaining, bitching, griping, xxxxx
I only asked for more information (in a tone I believe was neutral) to try and diagnose the issue your had; offending you was not my intention.
I'm just trying to pass on information in case some one else ran into the same problem.
Not so many people use [testing], so it is worth diagnosing and fixing your problem even if nobody else reports similar issues yet.
pacman -Uf libtool-2.4-5-x86_64.pkg.tar.xz libltdl-2.4-5-x86_64.pkg.tar.xz
Is there a particular reason why you always use the --force option?
pacman -Qi imagemagick -- when I rebuilt imagemagick I built the latest version from their website.
When nobody flags packages out-of-date, they often stay out-of-date.
-- Gaetan
I'm not sure I have the answer but may be closer to figureing out a solution. I built calibre-0.8.18-2 and everything worked fine. Last night Imagemagick updated from [ libMagickWand.so.4 (libc6,x86-64) => /usr/lib/libMagickWand.so.4 ] to [ libMagickWand.so.5 (libc6,x86-64) => /usr/lib/libMagickWand.so.5 ] and calibre refuses to run again with the error message "Runtime Error: Failed to load Imagemagick: libMagickWand.so.4: cannot find shared object file: No such file or directory".
I had already changed my bash alias for pacman -Uf to pacman -U before I built and installed calibre-0.8.18-2. I just went back and reinstalled calibre with the same results. It seems that calibre needs to be rebuilt with each update of it's shared libraries since it searchs for libxxxxx.so.[0-9] instead of libxxx.so. I just rebuilt calibre with with libMagickWand.so.5 installed and it runs fine.
Is the a direct result of me building the package on my machine or is it a result of something misconfigured in my build setup? If not, is it in the internal build process of calibre? I'm missing something here.
That's the way it's supposed to work. When a soname (library version number) changes, everything that uses that library has to be rebuilt. Linking directly against the versioned filename is a safety feature, so that no program ever uses an incompatible library - after all, if the soname changed, there was a reason for it, some kind of API change. (That's also why it's bad to symlink library versions to each other.)
For official packages, the devs and TUs do the rebuild for you. (I think that's what they spend most of their time on, really.) Since you built calibre yourself, you have to rebuild it.
Thank you very much. Myra -- Life's fun when your sick and psychotic!
[2011-09-13 17:27:25 -0500] Myra Nelson:
I built calibre-0.8.18-2 and everything worked fine. Last night Imagemagick updated from [ libMagickWand.so.4 (libc6,x86-64) => /usr/lib/libMagickWand.so.4 ] to [ libMagickWand.so.5 (libc6,x86-64) => /usr/lib/libMagickWand.so.5 ] and calibre refuses to run again with the error message "Runtime Error: Failed to load Imagemagick: libMagickWand.so.4: cannot find shared object file: No such file or directory".
Together with imagemagick-6.7.2.1-1, calibre-0.8.18-2 was released to the repos (the latter links to the former). But by already having a "calibre-0.8.18-2" package installed on your system (that you linked to an earlier imagemagick), you prevented the upgrade calibre-0.8.18-1 ==> calibre-0.8.18-2 to happen. So pacman thought your calibre was up-to-date when it was not. If you want to maintain custom packages, do not give them the same name as official packages, and be prepared for rebuilds. -- Gaetan
On Tue, Sep 13, 2011 at 19:53, Gaetan Bisson <bisson@archlinux.org> wrote:
[2011-09-13 17:27:25 -0500] Myra Nelson:
I built calibre-0.8.18-2 and everything worked fine. Last night Imagemagick updated from [ libMagickWand.so.4 (libc6,x86-64) => /usr/lib/libMagickWand.so.4 ] to [ libMagickWand.so.5 (libc6,x86-64) => /usr/lib/libMagickWand.so.5 ] and calibre refuses to run again with the error message "Runtime Error: Failed to load Imagemagick: libMagickWand.so.4: cannot find shared object file: No such file or directory".
Together with imagemagick-6.7.2.1-1, calibre-0.8.18-2 was released to the repos (the latter links to the former).
But by already having a "calibre-0.8.18-2" package installed on your system (that you linked to an earlier imagemagick), you prevented the upgrade calibre-0.8.18-1 ==> calibre-0.8.18-2 to happen. So pacman thought your calibre was up-to-date when it was not.
If you want to maintain custom packages, do not give them the same name as official packages, and be prepared for rebuilds.
-- Gaetan
Not a problem. If that's the case I'll handle it. As for custom packages, when I flagged calibre out of date I rebuilt it to test it and 0.18.8 was available. Now that I realize the problem, it won't happen again. Myra -- Life's fun when your sick and psychotic!
participants (3)
-
Gaetan Bisson
-
Myra Nelson
-
Ray Kohler