Sample Header Ad - 728x90

GNU Octave compilation fails with libinterp/.libs/liboctinterp.so: undefined reference to `Magick::*

2 votes
2 answers
1221 views
###Context My uname -rv is 4.4.0-64-generic #85~14.04.1-Ubuntu SMP Mon Feb 20 12:10:54 UTC 2017 --- My compiler is GNU gcc 6.3.0 --- I am compiling GNU Octave from source. I have been trying to compile the Octave versions 4.0.2, 4.2.0 and 4.2.1 I configure the build with the invocation ${srcdir}/configure \ --prefix=/opt/octave/4.2.1 \ --with-java-homedir=/usr/lib/jvm/default-java \ --with-java-libdir=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server ###Issue# In all cases the make stage fails with the following error libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::ping(std::__cxx11::basic_string, std::allocator > const&)' libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::attribute(std::__cxx11::basic_string, std::allocator >)' libinterp/.libs/liboctinterp.so: undefined reference to `Magick::CoderInfo::description[abi:cxx11]() const' libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::comment[abi:cxx11]() const' libinterp/.libs/liboctinterp.so: undefined reference to `Magick::Image::magick[abi:cxx11]() const' libinterp/.libs/liboctinterp.so: undefined reference to `Magick::CoderInfo::CoderInfo(std::__cxx11::basic_string, std::allocator > const&)' collect2: error: ld returned 1 exit status ###Evidence# In preparation of the manual installation, I had run sudo apt-get build-dep octave. This relates to version 3.8.1 which is the one currently supported by Ubuntu 14.04. Yet, I thought it could be no harm. (Suggestion from the file INSTALL.OCTAVE in the source directory) To stay on the safe side, I installed the libraries libmagickcore-dev, libmagickwand-dev, libmagick++-dev from the Ubuntu repository 8:6.7.7.10-6ubuntu3.4). The issue arises with or without them. Hence, dpkg -l | grep magick shows ii imagemagick 8:6.7.7.10-6ubuntu3.4 amd64 image manipulation programs ii imagemagick-common 8:6.7.7.10-6ubuntu3.4 all image manipulation programs -- infrastructure ii libgraphicsmagick++1-dev 1.3.18-1ubuntu3 amd64 format-independent image processing - C++ development files ii libgraphicsmagick++3 1.3.18-1ubuntu3 amd64 format-independent image processing - C++ shared library ii libgraphicsmagick1-dev 1.3.18-1ubuntu3 amd64 format-independent image processing - C development files ii libgraphicsmagick3 1.3.18-1ubuntu3 amd64 format-independent image processing - C shared library ii libmagick++-dev 8:6.7.7.10-6ubuntu3.4 amd64 object-oriented C++ interface to ImageMagick - development files ii libmagick++5:amd64 8:6.7.7.10-6ubuntu3.4 amd64 object-oriented C++ interface to ImageMagick ii libmagickcore-dev 8:6.7.7.10-6ubuntu3.4 amd64 low-level image manipulation library - development files ii libmagickcore5:amd64 8:6.7.7.10-6ubuntu3.4 amd64 low-level image manipulation library ii libmagickcore5-extra:amd64 8:6.7.7.10-6ubuntu3.4 amd64 low-level image manipulation library - extra codecs ii libmagickwand-dev 8:6.7.7.10-6ubuntu3.4 amd64 image manipulation library - development files ii libmagickwand5:amd64 8:6.7.7.10-6ubuntu3.4 amd64 image manipulation library The configuration stage exits nicely with status 0. (Note the configure stage is not 100% foolproof: one previous attempt to build failed because I had no gnulib installed, which had not been caught by configure) https://stackoverflow.com/questions/39228019/error-while-compiling-octave-with-gcc says that undefined references are a known trait of liboctinterp.so, as of of Octave 4.0.2. Either this buggy behaviour persists in 4.2.0, or there are hidden requirements that I am missing. ###Question# What should I do to complete the compilation of Octave successfully?
Asked by XavierStuvw (1179 rep)
Mar 4, 2017, 04:11 PM
Last activity: Jan 26, 2021, 06:12 PM