link order

compiling from git gives following error:
g++ -fPIC -fopenmp -L/opt/local/lib64 -llcms2 -o bin/raw-identify samples/bin_raw_identify-raw-identify.o -Llib/ -lm -lraw
lib//libraw.a(lib_libraw_a-dcraw_fileio.o): In function `LibRaw::apply_profile(char const*, char const*)':
dcraw_fileio.cpp:(.text+0xae9): undefined reference to `cmsOpenProfileFromFile'
dcraw_fileio.cpp:(.text+0xb1c): undefined reference to `cmsOpenProfileFromMem'
dcraw_fileio.cpp:(.text+0xb60): undefined reference to `cmsCreate_sRGBProfile'
dcraw_fileio.cpp:(.text+0xc58): undefined reference to `cmsOpenProfileFromMem'
dcraw_fileio.cpp:(.text+0xd43): undefined reference to `cmsCreateTransform'
dcraw_fileio.cpp:(.text+0xd8d): undefined reference to `cmsDoTransform'
dcraw_fileio.cpp:(.text+0xda7): undefined reference to `cmsDeleteTransform'
dcraw_fileio.cpp:(.text+0xdb3): undefined reference to `cmsCloseProfile'
dcraw_fileio.cpp:(.text+0xdbf): undefined reference to `cmsCloseProfile'
collect2: ld returned 1 exit status
make: *** [bin/raw-identify] Fehler 1

I think, its because of the link order. Note -lraw needs -llcms2. The later objects and libraries have generally to satisfy the earlier object and libraries symbol requirements. Thus -lraw can not see the symbols provided by -llcms2. Distribution packaging is especial picky about that, because much more warnings and errors are switched on by default.

Thanks in advance.

Forums: 

Thanks for report! The

Thanks for report!

The problem was in Makefile.am, the new one is pushed to GitHub/master (i.e. 0.13-alpha branch)

It is only quick fix, the problem will be solved in more general way

-- Alex Tutubalin

I have the same problem

usr/local/lib -lexiv2 -lIlmImf -lImath -lHalf -lIex -lfftw3f -lm -ltiff -lgsl -lgslcblas -lraw_r -lpthread -lQtWebKit -lQtXml -lQtGui -lQtCore
/usr/local/lib/libraw_r.a(lib_libraw_r_a-dcraw_fileio.o): In function `LibRaw::apply_profile(char const*, char const*)':
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:164: undefined reference to `cmsErrorAction'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:167: undefined reference to `cmsOpenProfileFromFile'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:204: undefined reference to `cmsOpenProfileFromMem'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:229: undefined reference to `cmsCreateTransform'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:230: undefined reference to `cmsDoTransform'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:232: undefined reference to `cmsDeleteTransform'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:233: undefined reference to `cmsCloseProfile'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:235: undefined reference to `cmsCloseProfile'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:177: undefined reference to `cmsOpenProfileFromMem'
/home/lkk/Downloads/LibRaw-0.13.1/internal/dcraw_fileio.cpp:196: undefined reference to `cmsCreate_sRGBProfile'
collect2: ld returned 1 exit status
make: *** [luminance-hdr] Error 1
lkk@lkuntu:~/Downloads/luminance-hdr-2.0.2-pre1$

Please help :(

You need to add -llcms (or

You need to add -llcms (or -llcms2) to your library list

-- Alex Tutubalin