[Digikam-devel] cannot find -lkdcraw when building all from SVN in Fedora 10

Michael [Plouj] Ploujnikov ploujj at gmail.com
Fri Jun 12 15:44:11 BST 2009


Hi guys,
I've been struggling with the following linker error for a couple of
days and so far found no solutions:

$ ./build-all.sh
...
Linking CXX shared module
../../../lib/digikamimageplugin_contentawareresizing.so
cd /home/plouj/work/digikam/dependencies/graphics/build/digikam/imageplugins/contentawareresizing
&& /usr/bin/cmake -E cmake_link_script
CMakeFiles/digikamimageplugin_contentawareresizing.dir/link.txt
--verbose=1
/usr/lib64/ccache/c++  -fPIC  -Wnon-virtual-dtor -Wno-long-long -ansi
-Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith
-Wformat-security -fno-exceptions -fno-check-new -fno-common
-Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden
-fvisibility-inlines-hidden -O2 -g -Wl,--enable-new-dtags
-Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared
-Wl,-soname,digikamimageplugin_contentawareresizing.so -o
../../../lib/digikamimageplugin_contentawareresizing.so
CMakeFiles/digikamimageplugin_contentawareresizing.dir/digikamimageplugin_contentawareresizing_automoc.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/imageplugin_contentawareresizing.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/contentawareresizer.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/contentawareresizetool.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_carver_bias.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_carver.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_carver_list.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_carver_rigmask.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_cursor.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_gradient.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_progress.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_vmap.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_vmap_list.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_energy.o
CMakeFiles/digikamimageplugin_contentawareresizing.dir/lqr/lqr_rwindow.o
-L/usr/lib64/kde4/devel
-L/home/plouj/work/digikam/dependencies/graphics/build/lib
../../../lib/libdigikamcore.so.1.0.0 -lkdcraw
/usr/lib64/libkdecore.so.5.2.0 /usr/lib64/libkdeui.so.5.2.0 -lQtCore
-lpthread -lQtGui -lglib-2.0 -lQtSvg /usr/lib64/libkdecore.so.5.2.0
-lQtDBus -lQtCore -lpthread -lQtGui
-Wl,-rpath,/usr/lib64/kde4/devel:/home/plouj/work/digikam/dependencies/graphics/build/lib
/usr/bin/ld: cannot find -lkdcraw
collect2: ld returned 1 exit status
make[2]: *** [lib/digikamimageplugin_contentawareresizing.so] Error 1
make[2]: Leaving directory
`/home/plouj/work/digikam/dependencies/graphics/build'
make[1]: *** [digikam/imageplugins/contentawareresizing/CMakeFiles/digikamimageplugin_contentawareresizing.dir/all]
Error 2
make[1]: Leaving directory
`/home/plouj/work/digikam/dependencies/graphics/build'
make: *** [all] Error 2

I'm using this build script in order to install all of the components
from SVN into a non-standard prefix
(/home/plouj/work/digikam/4_dev_install/):

$ cat build-all.sh
#!/bin/bash

DIGIKAM4DEST=/home/plouj/work/digikam/4_dev_install/
#export LANG=C
#export LANG=en_US.utf8
export KDEDIRS=$DIGIKAM4DEST:/usr/lib64/kde4/
export LD_LIBRARY_PATH=$DIGIKAM4DEST/lib64:$LD_LIBRARY_PATH
export LDPATH=$DIGIKAM4DEST/lib64:$LDPATH
export PATH=$DIGIKAM4DEST/bin:$PATH
export PKG_CONFIG_PATH=$DIGIKAM4DEST/lib64/pkgconfig

export VERBOSE=1

#export QTDIR=/usr/lib64/qt4
#export PATH=$QTDIR/bin:$PATH

cd /home/plouj/work/digikam/dependencies/kdegraphics &&
rm -rf build && mkdir build && cd build &&

cmake -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX=$DIGIKAM4DEST
-DCMAKE_INCLUDE_PATH=$DIGIKAM4DEST/include/
DCMAKE_BUILD_TYPE=debugfull ../../kdegraphics/ &&
make install &&

cd /home/plouj/work/digikam/dependencies/graphics &&
rm -rf build && mkdir build && cd build &&
cmake -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX=$DIGIKAM4DEST
DCMAKE_BUILD_TYPE=debugfull ../../graphics &&
make install &&
echo DONE

Here are the contents of the directory ld is looking in:
$ ls /home/plouj/work/digikam/dependencies/graphics/build/lib
digikamimageplugin_adjustcurves.so  digikamimageplugin_emboss.so
   digikamimageplugin_oilpaint.so      kio_digikamdates.so
digikamimageplugin_adjustlevels.so  digikamimageplugin_filmgrain.so
   digikamimageplugin_perspective.so   kio_digikamsearch.so
digikamimageplugin_blurfx.so        digikamimageplugin_freerotation.so
   digikamimageplugin_raindrop.so      kio_digikamtags.so
digikamimageplugin_border.so        digikamimageplugin_hotpixels.so
   digikamimageplugin_restoration.so   libdigikamcore.so
digikamimageplugin_channelmixer.so  digikamimageplugin_infrared.so
   digikamimageplugin_sheartool.so     libdigikamcore.so.1
digikamimageplugin_charcoal.so      digikamimageplugin_inpainting.so
   digikamimageplugin_superimpose.so   libdigikamcore.so.1.0.0
digikamimageplugin_colorfx.so       digikamimageplugin_inserttext.so
   digikamimageplugin_texture.so       libdigikamdatabase.so
digikamimageplugin_core.so
digikamimageplugin_lenscorrection.so
digikamimageplugin_whitebalance.so  libdigikamdatabase.so.1
digikamimageplugin_distortionfx.so
digikamimageplugin_noisereduction.so  kio_digikamalbums.so
   libdigikamdatabase.so.1.0.0


Here is where it should be looking in:
$ ls /home/plouj/work/digikam/4_dev_install/lib64/
pkgconfig     libkdcraw.so.7      libkexiv2.so    libkexiv2.so.7.3.0
libkipi.so.6      libksane.so    libksane.so.0.2.0
libkdcraw.so  libkdcraw.so.7.1.0  libkexiv2.so.7  libkipi.so
libkipi.so.6.1.0  libksane.so.0


I thought that exporting LD_PATH or even LD_LIBRARY_PATH would be
enough, but it doesn't seem to work anymore. I used to be able to
build successfully with the same build script in Fedora 9.

For reference, here are the verisons of software I have installed from
the official Fedora repositories:
qt-devel-4.5.0-14.fc10.x86_64
kdelibs-devel-4.2.3-2.fc10.x86_64

For reference, here is the full build log: http://plouj.com/build.log
(5.6MB) or http://plouj.com/build.log.gz (93KB).

-- 
Michael Ploujnikov
http://plouj.com/



More information about the Digikam-devel mailing list