Bug 237914

Summary: Can't compile svn version
Product: [Applications] digikam Reporter: Frank Hommes <freanki>
Component: Portability-CompilationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal CC: caulier.gilles, tschenser
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 1.3.0

Description Frank Hommes 2010-05-17 09:33:11 UTC
Version:           1.3-svn (using KDE 4.4.2)
Compiler:          gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) 
OS:                Linux
Installed from:    Ubuntu Packages

For the last ~5 days I can't compile digikam from svn anymore. At the moment I get the following error:

bash# make clean && cmake -DCMAKE_BUILD_TYPE=debugfull -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. && make

[...] Things that work

[  0%] Building CXX object kipi-plugins/dngconverter/plugin/CMakeFiles/dngconverter.dir/__/dngwriter/dngwriter.o
/home/freanki/progs/src/graphics/kipi-plugins/dngconverter/dngwriter/dngwriter.cpp: In member function ‘int DNGIface::DNGWriter::convert()’:                                
/home/freanki/progs/src/graphics/kipi-plugins/dngconverter/dngwriter/dngwriter.cpp:228: error: no matching function for call to ‘KDcrawIface::KDcraw::extractRAWData(QString, QByteArray&, KDcrawIface::DcrawInfoContainer&, bool&, int)’
/usr/local/include/libkdcraw/kdcraw.h:130: note: candidates are: bool KDcrawIface::KDcraw::extractRAWData(const QString&, QByteArray&, KDcrawIface::DcrawInfoContainer&, bool)
make[2]: *** [kipi-plugins/dngconverter/plugin/CMakeFiles/dngconverter.dir/__/dngwriter/dngwriter.o] Error 1
make[1]: *** [kipi-plugins/dngconverter/plugin/CMakeFiles/dngconverter.dir/all] Error 2
make: *** [all] Error 2
Comment 1 caulier.gilles 2010-05-17 09:35:12 UTC
Use current implementation from svn of libkdcraw.

Gilles Caulier
Comment 2 caulier.gilles 2010-05-17 09:36:57 UTC
Look there : http://www.digikam.org/drupal/sharedlibs

Gilles Caulier
Comment 3 Frank Hommes 2010-05-17 18:35:40 UTC
ok, did it. Now it hangs at:

 [21%] Building CXX object digikam/digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o                                                   
[ 21%] Building CXX object digikam/digikam/CMakeFiles/digikamcore.dir/digikamconfig.o                                                                                       
Linking CXX shared library ../../lib/libdigikamcore.so                                                                                                                      
CMakeFiles/digikamcore.dir/__/libs/dimg/dimg.o: In function `Digikam::DImg::updateMetadata(QString const&, QString const&, bool)':                                          
/home/freanki/progs/src/graphics/digikam/libs/dimg/dimg.cpp:2188: undefined reference to `KExiv2Iface::KExiv2::setTiffThumbnail(QImage const&, bool) const'
CMakeFiles/digikamcore.dir/__/libs/dimg/loaders/tiffloader.o: In function `Digikam::TIFFLoader::save(QString const&, Digikam::DImgLoaderObserver*)':
/home/freanki/progs/src/graphics/digikam/libs/dimg/loaders/tiffloader.cpp:933: undefined reference to `KExiv2Iface::KExiv2::removeExifThumbnail() const'
CMakeFiles/digikamcore.dir/__/libs/dimg/loaders/rawloader.o: In function `RAWLoader':
/home/freanki/progs/src/graphics/digikam/libs/dimg/loaders/rawloader.cpp:59: undefined reference to `KDcrawIface::RawDecodingSettings::operator=(KDcrawIface::RawDecodingSettings const&)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/loaders/rawloader.cpp:59: undefined reference to `KDcrawIface::RawDecodingSettings::operator=(KDcrawIface::RawDecodingSettings const&)'
CMakeFiles/digikamcore.dir/__/libs/dimg/loaders/rawloader.o: In function `Digikam::DRawDecoding::operator=(Digikam::DRawDecoding const&)':
/home/freanki/progs/src/graphics/digikam/digikam/../libs/dimg/drawdecoding.h:49: undefined reference to `KDcrawIface::RawDecodingSettings::operator=(KDcrawIface::RawDecodingSettings const&)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/fx/filmgrainsettings.o: In function `FilmGrainSettings':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:359: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:360: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:361: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:359: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:360: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/fx/filmgrainsettings.o:/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:361: more undefined references to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)' follow
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/fx/filmgrainsettings.o: In function `Digikam::FilmGrainSettings::settings() const':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:470: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:475: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:480: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/fx/filmgrainsettings.o: In function `Digikam::FilmGrainSettings::setSettings(Digikam::FilmGrainContainer const&)':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:494: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:499: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/fx/filmgrainsettings.cpp:504: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o: In function `LocalContrastSettings':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:362: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:363: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:364: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:365: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:362: undefined reference to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o:/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:363: more undefined references to `KDcrawIface::RExpanderBox::setCheckBoxVisible(int, bool)' follow
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o: In function `Digikam::LocalContrastSettings::settings() const':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:468: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:472: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:476: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:480: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o: In function `Digikam::LocalContrastSettings::setSettings(Digikam::LocalContrastContainer const&)':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:497: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:501: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:505: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:509: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o: In function `Digikam::LocalContrastSettings::resetToDefault()':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:535: undefined reference to `KDcrawIface::RExpanderBox::setChecked(int, bool)'
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o:/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:539: more undefined references to `KDcrawIface::RExpanderBox::setChecked(int, bool)' follow
CMakeFiles/digikamcore.dir/__/libs/dimg/filters/lc/localcontrastsettings.o: In function `Digikam::LocalContrastSettings::saveAsSettings()':
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:704: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:705: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:706: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
/home/freanki/progs/src/graphics/digikam/libs/dimg/filters/lc/localcontrastsettings.cpp:707: undefined reference to `KDcrawIface::RExpanderBox::isChecked(int) const'
CMakeFiles/digikamcore.dir/__/libs/threadimageio/previewtask.o: In function `Digikam::PreviewLoadingTask::execute()':
/home/freanki/progs/src/graphics/digikam/libs/threadimageio/previewtask.cpp:229: undefined reference to `KExiv2Iface::KExiv2::getPixelSize() const'
/home/freanki/progs/src/graphics/digikam/libs/threadimageio/previewtask.cpp:306: undefined reference to `KExiv2Iface::KExiv2::getPixelSize() const'
CMakeFiles/digikamcore.dir/__/utilities/imageeditor/editor/editorwindow.o: In function `Digikam::EditorWindow::applyStandardSettings()':
/home/freanki/progs/src/graphics/digikam/utilities/imageeditor/editor/editorwindow.cpp:915: undefined reference to `KDcrawIface::RawDecodingSettings::readSettings(KConfigGroup&)'
CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o: In function `Digikam::RawSettingsBox::resetSettings()':
/home/freanki/progs/src/graphics/digikam/utilities/imageeditor/rawimport/rawsettingsbox.cpp:410: undefined reference to `KDcrawIface::DcrawSettingsWidget::resetToDefault()'
CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o: In function `Digikam::RawSettingsBox::readSettings()':
/home/freanki/progs/src/graphics/digikam/utilities/imageeditor/rawimport/rawsettingsbox.cpp:442: undefined reference to `KDcrawIface::DcrawSettingsWidget::readSettings(KConfigGroup&)'
CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o: In function `Digikam::RawSettingsBox::writeSettings()':
/home/freanki/progs/src/graphics/digikam/utilities/imageeditor/rawimport/rawsettingsbox.cpp:464: undefined reference to `KDcrawIface::DcrawSettingsWidget::writeSettings(KConfigGroup&)'
CMakeFiles/digikamcore.dir/__/utilities/imageeditor/rawimport/rawsettingsbox.o: In function `Digikam::RawSettingsBox::settings()':
/home/freanki/progs/src/graphics/digikam/utilities/imageeditor/rawimport/rawsettingsbox.cpp:481: undefined reference to `KDcrawIface::DcrawSettingsWidget::settings() const'
collect2: ld returned 1 exit status
make[2]: *** [lib/libdigikamcore.so.1.0.0] Error 1
make[1]: *** [digikam/digikam/CMakeFiles/digikamcore.dir/all] Error 2
make: *** [all] Error 2

(Anyway, is this the right place for errors while compiling? )
Comment 4 Johannes Wienke 2010-05-17 20:12:58 UTC
You probably also need a recent version of libkexiv. Please note that you have checkout the whole kdegraphics folder, call cmake there and then start make only in the libkexiv subfolder.

(Would have been more appropriate on the user or devel mailing list ;) )
Comment 5 Jens Mueller 2010-05-17 20:41:19 UTC
Just a note: If you look on http://www.digikam.org/drupal/download?q=download/SvnAlongStable you find a patch making libkexiv2 buildable standalone.
Comment 6 Frank Hommes 2010-05-18 09:35:48 UTC
After using the "normal" svn for quite some time, a new checkout with the new standalone tutorial helped to compile digikam.
Thanx