I have the same problem:
Code: Select all
# perl -e ' use Image::Magick'
perl: symbol lookup error: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/auto/Image/Magick/Magick.so: undefined symbol: InitializeMagick
On one of my machines it works fine. Now I'm installing gentoo on another machine and this one fails. Both uses the same version of ImageMagick (6.3.0.5) so it's not just the fact that it's new.
On the broken machine, I noticed that the Magick.so perl library does not reference libMagick.so:
Code: Select all
# ldd /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux/auto/Image/Magick/Magick.so
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00002b0a599a5000)
libz.so.1 => /lib/libz.so.1 (0x00002b0a59b1b000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x00002b0a59c2f000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00002b0a59d88000)
libbz2.so.1 => /lib/libbz2.so.1 (0x00002b0a59eaa000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00002b0a59fb9000)
libm.so.6 => /lib/libm.so.6 (0x00002b0a5a0d3000)
libc.so.6 => /lib/libc.so.6 (0x00002b0a5a227000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
But the working machine does:
Code: Select all
# ldd /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Image/Magick/Magick.so
libMagick.so.10 => /usr/lib/libMagick.so.10 (0x4003a000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4015e000)
libz.so.1 => /lib/libz.so.1 (0x401df000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x401f1000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40248000)
libbz2.so.1 => /lib/libbz2.so.1 (0x40269000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40279000)
libm.so.6 => /lib/libm.so.6 (0x402cc000)
libc.so.6 => /lib/libc.so.6 (0x402f0000)
libdl.so.2 => /lib/libdl.so.2 (0x4040a000)
/lib/ld-linux.so.2 (0x80000000)
It's hard to compare my two machines to find the difference because they don't have the same config: one is fairly old (x86, kernel 2.4, gcc 3.4.6, ...) while the other is brand new (amd64, kernel 2.6, gcc 4.1, ...).