How can I get the Makefile of separate+0.5.8 to build the respective gimp plugin?

Problem description

Following the usual

sudo make install

steps for separate+-0.5.8 with lcms2 (uncommented the entry line 3 in the Makefile of separate+) I encounter the error

/usr/bin/ld: separate-core.o: undefined reference to symbol 'pow@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line

The gcc commands that the Makefile processed are (after that you see the error messages from above):

gcc -g -DUSE_LCMS2 `pkg-config gimp-2.0 --cflags` `pkg-config gimpui-2.0 --cflags` `pkg-config gtk+-2.0 --cflags` `pkg-config lcms2 --cflags` -DENABLE_COLOR_MANAGEMENT -DENABLE_NLS -DGETTEXT_PACKAGE="\"gimp20-separate\"" -DUSE_ICC_BUTTON -c lcms_wrapper.c
gcc -g  separate-core.o separate-gui.o separate-export.o util.o tiff.o psd.o jpeg.o iccbutton.o lcms_wrapper.o -o separate `pkg-config gimp-2.0 --libs` `pkg-config gimpui-2.0 --libs` `pkg-config gtk+-2.0 --libs` `pkg-config lcms2 --libs` -ltiff -ljpeg
/usr/bin/ld: separate-core.o: undefined reference to symbol 'pow@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line


Done on a elementaryOS 0.5 (ubuntu 16.04). Some steps made before make:

sudo apt-add-repository ppa:otto-kesselgulasch/gimp
sudo apt update
sudo apt install gimp gimp-dds gimp-gap gimp-lensfun gimp-gmic gimp-plugin-registry gimp-data-extras gimp-dcraw icc-profiles icc-profiles-free pandora 
wget http://sourceforge.jp/projects/separate-plus/downloads/47873/separate+-0.5.8.zip
sudo apt install libgimp2.0-dev libtiff5-dev
sudo apt install liblcms2-2 liblcms2-dev liblcms2-utils 

I just ran into this issue. I thought it was out of order libraries but it looks like I just needed to include the math library. Edit the Makefile like so:

  • among the library listings (pkgconfig stuff) add a line for math lib like: M_LIB = -lm

  • comment old library listing and add new one like: LIBS = $(M_LIB) $(GIMP_LIB) $(GTK_LIB) $(LCMS_LIB) $(TIFF_LIB) $(JPEG_LIB)

The linker should now stop complaining. Be sure and set your PREFIX to something local if installing to your home dir, as po/Makefile will try to install locale files under /usr otherwise.

Hope that helps.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.