I'm trying to build Octave 4.2.2 on an Ubuntu 16.04 with GCC 4.9.3 but I get this error :
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::CoderInfo::CoderInfo(std::string const&)'
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::comment() const'
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::CoderInfo::description() const'
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::magick() const'
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::attribute(std::string)'
libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::ping(std::string const&)'
I already checked my libs and that's what I have :
graphicsmagick/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed]
graphicsmagick-libmagick-dev-compat/xenial-updates,xenial-updates,xenial-security,xenial-security,now 1.3.23-1ubuntu0.6 all [installed]
imagemagick/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed]
imagemagick-6.q16/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed]
imagemagick-common/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [installed]
libgraphics-magick-perl/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed,automatic]
libgraphicsmagick++-q16-12/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed]
libgraphicsmagick++1-dev/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed]
libgraphicsmagick-q16-3/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed]
libgraphicsmagick1-dev/xenial-updates,xenial-security,now 1.3.23-1ubuntu0.6 amd64 [installed]
libmagick++-6-headers/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [installed,auto-removable]
libmagick++-6.q16-5v5/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed,automatic]
libmagick++-6.q16-dev/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed,auto-removable]
libmagickcore-6-arch-config/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed,automatic]
libmagickcore-6-headers/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [installed,automatic]
libmagickcore-6.q16-2/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed]
libmagickcore-6.q16-2-extra/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed]
libmagickcore-6.q16-dev/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed,automatic]
libmagickwand-6-headers/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [installed,automatic]
libmagickwand-6.q16-2/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed]
libmagickwand-6.q16-dev/xenial-updates,xenial-security,now 8:6.8.9.9-7ubuntu5.15 amd64 [installed,automatic]
libmagickwand-dev/xenial-updates,xenial-updates,xenial-security,xenial-security,now 8:6.8.9.9-7ubuntu5.15 all [installed]
Moreover, I have checked liboctinterp.so :
ldd libinterp/.libs/liboctinterp.so | grep -i magick++
libGraphicsMagick++-Q16.so.12 => /usr/lib/libGraphicsMagick++-Q16.so.12 (0x00007f6c7fa2b000)
nm -C /usr/lib/libGraphicsMagick++-Q16.so.12 | grep -i coderinfo
nm: /usr/lib/libGraphicsMagick++-Q16.so.12: no symbols
nm -D /usr/lib/libGraphicsMagick++-Q16.so.12 | grep -i coderinfo
000000000003e600 T _ZN6Magick9CoderInfoaSERKS0_
000000000003e650 T _ZN6Magick9CoderInfoC1EPKN9MagickLib11_MagickInfoE
000000000003e350 T _ZN6Magick9CoderInfoC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
000000000003e2c0 T _ZN6Magick9CoderInfoC1ERKS0_
000000000003e280 T _ZN6Magick9CoderInfoC1Ev
000000000003e650 T _ZN6Magick9CoderInfoC2EPKN9MagickLib11_MagickInfoE
000000000003e350 T _ZN6Magick9CoderInfoC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
000000000003e2c0 T _ZN6Magick9CoderInfoC2ERKS0_
000000000003e280 T _ZN6Magick9CoderInfoC2Ev
000000000003e530 T _ZN6Magick9CoderInfoD1Ev
000000000003e530 T _ZN6Magick9CoderInfoD2Ev
000000000003e5d0 T _ZNK6Magick9CoderInfo10isReadableEv
000000000003e5e0 T _ZNK6Magick9CoderInfo10isWritableEv
000000000003e5a0 T _ZNK6Magick9CoderInfo11descriptionB5cxx11Ev
000000000003e5f0 T _ZNK6Magick9CoderInfo12isMultiFrameEv
000000000003e570 T _ZNK6Magick9CoderInfo4nameB5cxx11Ev
I have no idea why I got this error.
Thanks for your replies :)
EDIT : I already checked thousands of posts, including this one Error while compiling Octave with GCC which is close to mine, but without any result.
EDIT2 : What I got if I check shared object dependencies with grep for Magick
instead of Magick++
:
ldd libinterp/.libs/liboctinterp.so | grep -i magick
libGraphicsMagick++-Q16.so.12 => /usr/lib/libGraphicsMagick++-Q16.so.12 (0x00007f09ff71a000)
libGraphicsMagick-Q16.so.3 => /usr/lib/libGraphicsMagick-Q16.so.3 (0x00007f09ff1bf000)
And the command nm
results with nm: /usr/lib/libGraphicsMagick-Q16.so.3: no symbols
.