Unresolved symbol linking to libMagick++.so

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
chodge
Posts: 1
Joined: 2013-06-04T09:46:28-07:00
Authentication code: 6789

Unresolved symbol linking to libMagick++.so

Post by chodge »

Hi,

I'm having trouble getting IM libraries to link to the binaries of a commercial software package which relies on it. The problem is an unresolved symbol, however I'm using the same version of IM as the vendor built the binaries with. Additionally, there is a symbol name in the libMagick++ shared object with an eerily similar name to the one our vendor library is referencing, it just contains one additional character in the symbol name prefix. I'm hoping this will ring a bell with someone here.

Warning: couldn't load shared library "/tools/perkinelmer/acapella/2.7.2/stdlib/libimacro_imagemagick.so.2.7": /tools/perkinelmer/acapella/2.7.2/stdlib/libimacro_imagemagick.so.2.7: undefined symbol: _ZNK6Magick5Image4typeEv

[root@gold stdlib]# ldd libimacro_imagemagick.so.2.7 | grep -i magick
libMagick++.so.1 => /tools/GNU/ImageMagick/6.4.3/lib/libMagick++.so.1 (0x00007f2a9c18b000)
libMagickWand.so.1 => /tools/GNU/ImageMagick/6.4.3/lib/libMagickWand.so.1 (0x00007f2a9a83f000)
libMagickCore.so.1 => /tools/GNU/ImageMagick/6.4.3/lib/libMagickCore.so.1 (0x00007f2a9a423000)

[root@gold stdlib]# nm /tools/perkinelmer/acapella/2.7.2/stdlib/libimacro_imagemagick.so.2.7 | grep 6Magick5Image4typeEv
U _ZNK6Magick5Image4typeEv

[root@gold stdlib]# nm /tools/GNU/ImageMagick/6.4.3/lib/libMagick++.so.1 | grep 6Magick5Image4typeEv
000000000004fa00 T _ZN6Magick5Image4typeEv

You can see the difference in the symbol names is simply the prefix _ZNK in our vendors binary and _ZN in our libMagic++ binary. If I'm using the same version of IM as the binary was built with I can't imagine why the symbol names would differ, unless they're unrelated or the compiler or compile time options differ enough. Any ideas would be greatly appreciated, additionally here is our specific version information:

[root@gold stdlib]# identify -version
Version: ImageMagick 6.4.3 2013-05-29 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

Thanks,
Chris
Post Reply