Summary: | 0.9.2 fails to build | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Markus <darkvision> |
Component: | Portability-Compilation | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Markus
2007-07-06 21:45:52 UTC
Hi... I just tested digikam with the above replacment and at least the hotpixel plugin seem to work fine. This is what i have done: In file imageeffect_hotpixels.cpp i replaced this in digikam-0.9.2: void ImageEffect_HotPixels::slotAddBlackFrame() { //Does one need to do this if digikam did so already? KImageIO::registerFormats(); KFileDialog fileSelectDialog(QString(), KImageIO::pattern(), this, "", true); fileSelectDialog.setCaption(i18n("Select Black Frame Image")); fileSelectDialog.setURL(m_blackFrameURL.path()); if (fileSelectDialog.exec() != QDialog::Rejected) { //Load the selected file and insert into the list m_blackFrameURL = fileSelectDialog.selectedURL(); m_blackFrameListView->clear(); new BlackFrameListViewItem(m_blackFrameListView, m_blackFrameURL); } } with this from digikamimageplugins-0.9.1: void ImageEffect_HotPixels::slotAddBlackFrame() { //Does one need to do this if digikam did so already? KImageIO::registerFormats(); KFileDialog *fileSelectDialog = new KFileDialog(QString(), KImageIO::pattern(), this, "", true); fileSelectDialog->setCaption(i18n("Select Black Frame Image")); fileSelectDialog->setURL(m_blackFrameURL.path()); if (fileSelectDialog->exec() != QDialog::Rejected) { //Load the selected file and insert into the list m_blackFrameURL = fileSelectDialog->selectedURL(); m_blackFrameListView->clear(); new BlackFrameListViewItem(m_blackFrameListView, m_blackFrameURL); } delete fileSelectDialog; } to be correct: I can load an image using the above replacement, but like on digikam 0.9.1 and digikamimageplugins 0.9.1 the hotpixel plugin will crash if i select "OK". > hotpixel plugin will crash if i select "OK"
This is why the code have been fixed in svn...
But there is no reason than plugin do not compile as well.
Gilles
Markus, could you try with current svn if the compile problem still persists? Many thanks in advance, Arnd Hi I tried to compile digikam from SVN according to the instructions on http://www.digikam.org/?q=download/svn but the instructions listed there do not seem to work (even the script listed there does not work). After i figured out how to get the svn-code i was told that i need to install libkdcraw 0.1.2. Since there is no official 0.1.2 out yet i tried to get the SVN code.. after all i failed to compile libkdcraw. However, i don't have the time to continue guessing how to get digikam installed from svn. If there is a step-by-step guide for how to compile digikam from SVN i really would like to help... otherwise... sorry. Markus Hi Markus, the compile script works fine for me (just checked the whole procedure). So what are the error messages you obtain for a) the script (i.e. what does not work?) b) the compile for libkdcraw (what does fail?) Arnd Ok... here is what i have done: # svn co -N svn://anonsvn.kde.org/home/kde/branches/extragear/kde3/graphics/ [Downloading some files] # cd graphics # svn up digikam [Downloading some files] # svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin [Downloading some files] # cd .. # svn co svn://anonsvn.kde.org/home/kde/branches/extragear/kde3/libs [Downloading some files] ... Fetching external item into 'libs/admin' svn: Unrecognized URL scheme for 'https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin' That seem to be a critical error because if i do what should be done next i'll get this: # export UNSERMAKE=no # make -f Makefile.cvs This Makefile is only for the CVS repository This will be deleted before making the distribution Please recheckout this module! for cvs: use checkout once and after that update again for cvsup: checkout kde-common from cvsup and link kde-common/admin to ./admin make: *** [all] Error 1 I started the whole download in an empty directory and i have never use kde/svn before (so i have used svn on other projects without any issues). I have subversion-1.4.4 installed if that helps troubleshooting. Markus Hmm, this
> Fetching external item into 'libs/admin'
> svn: Unrecognized URL scheme for
> 'https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin'
is indeed the critical error.
This suggests that you svn was maybe not installed with SSL support.
(The command worked fine for me just a minute ago, but this is under
debian etch, where I never had such a problem).
Best, Arnd
Hi... Thx for the hint. I did rebuild subversion using the --disable-neon-version-check and subversion did work now. I followed the steps and started to build the libs using: # ./configure --prefix=/opt/kde # make Make started to build libkexiv2 which i had allready installed in the same version (0.1.5). But the build did fail: make all-recursive make[1]: Entering directory `/root/svn2/libs' Making all in libkexiv2 make[2]: Entering directory `/root/svn2/libs/libkexiv2' Making all in libkexiv2 make[3]: Entering directory `/root/svn2/libs/libkexiv2/libkexiv2' if /bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fexceptions -MT kexiv2.lo -MD -MP -MF ".deps/kexiv2.Tpo" -c -o kexiv2.lo kexiv2.cpp; \ then mv -f ".deps/kexiv2.Tpo" ".deps/kexiv2.Plo"; else rm -f ".deps/kexiv2.Tpo"; exit 1; fi kexiv2.cpp:57: warning: ignoring #pragma GCC visibility kexiv2.cpp:65: warning: ignoring #pragma GCC visibility kexiv2.cpp: In member function `bool KExiv2Iface::KExiv2::setExifThumbnail(const QImage&, bool)': kexiv2.cpp:685: error: type specifier omitted for parameter kexiv2.cpp:685: error: syntax error before string constant kexiv2.cpp:686: error: request for member `setAutoDelete' in ` KExiv2Iface::thumbFile', which is of non-aggregate type `KTempFile ()(...)' kexiv2.cpp:687: error: request for member `name' in `KExiv2Iface::thumbFile', which is of non-aggregate type `KTempFile ()(...)' kexiv2.cpp:689: error: request for member `name' in `KExiv2Iface::thumbFile', which is of non-aggregate type `KTempFile ()(...)' kexiv2.cpp: In member function `virtual bool KExiv2Iface::KExiv2::setImagePreview(const QImage&, bool)': kexiv2.cpp:1125: error: type specifier omitted for parameter kexiv2.cpp:1125: error: syntax error before string constant kexiv2.cpp:1126: error: request for member `setAutoDelete' in ` KExiv2Iface::previewFile', which is of non-aggregate type `KTempFile ()(...) ' kexiv2.cpp:1128: error: request for member `name' in `KExiv2Iface::previewFile ', which is of non-aggregate type `KTempFile ()(...)' kexiv2.cpp:1130: error: request for member `name' in `KExiv2Iface::previewFile ', which is of non-aggregate type `KTempFile ()(...)' distcc[3774] ERROR: compile kexiv2.cpp on localhost failed make[3]: *** [kexiv2.lo] Error 1 make[3]: Leaving directory `/root/svn2/libs/libkexiv2/libkexiv2' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/svn2/libs/libkexiv2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/svn2/libs' make: *** [all] Error 2 No idea why the build fails sind i compiled 0.1.5 from the official tarball and that did build fine. Since i had all deps installed i left the libs directory and went over to digikam: # make Makefile.cvs # ./configure --prefix=/opt/kde Ok, i need to install libkdcraw-0.1.2. On the KDE-imaging mailing list i found a link to an testing tarball, http://mail.kde.org/pipermail/kde-imaging/2007-August/005458.html . I installed that using the usual commands. then i tried again: # ./configure --prefix=/opt/kde # make ... Making all in dmetadata make[4]: Entering directory `/root/svn2/graphics/digikam/libs/dmetadata' if /bin/sh ../../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../digikam/libs/dimg -I../../../digikam/digikam -I/opt/kde/include -I/opt/kde/include -I/opt/kde/include -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -MT dmetadata.lo -MD -MP -MF ".deps/dmetadata.Tpo" -c -o dmetadata.lo dmetadata.cpp; \ then mv -f ".deps/dmetadata.Tpo" ".deps/dmetadata.Plo"; else rm -f ".deps/dmetadata.Tpo"; exit 1; fi dmetadata.cpp: In member function `bool Digikam::DMetadata::loadUsingDcraw(const QString&)': dmetadata.cpp:87: error: 'class KDcrawIface::DcrawInfoContainer' has no member named 'owner' dmetadata.cpp:88: error: 'class KDcrawIface::DcrawInfoContainer' has no member named 'owner' distcc[32271] ERROR: compile dmetadata.cpp on localhost failed make[4]: *** [dmetadata.lo] Error 1 make[4]: Leaving directory `/root/svn2/graphics/digikam/libs/dmetadata' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/root/svn2/graphics/digikam/libs' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/svn2/graphics/digikam' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/svn2/graphics' make: *** [all] Error 2 Markus This should not happen. I would strongly recommend to follow the steps under "Install digiKam in your Home Directory" on http://www.digikam.org/?q=download/svn This guarantees that you don't mess up anything on your system by installing it as normal user and all paths are set correctly. Gilles just suggested on IRC to use --enable-gcc-hidden-visibility as additional option to configure, this might help in this case. Markus, what is the status about this issue, any progress? > ------- Additional Comments From arnd.baecker web de 2007-10-09 17:18 -------
> Markus, what is the status about this issue, any progress?
>
First of all: sorry that i did not reply earlier...
I wasn't able to compile from SVN (i am a KDE-SVN-noob, sorry) but i
tried digikam 0.9.3 beta1.
beta1 still fails to compile, with or without the
"--enable-gcc-hidden-visibility" parameter:
======================================================================
make[4]: Entering directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/digikam/imageplugins/hotpixels'
if /bin/sh ../../../libtool --silent --tag=CXX --mode=compile g++
-DHAVE_CONFIG_H -I. -I. -I../../..
-I../../../digikam/utilities/imageeditor/editor
-I../../../digikam/utilities/imageeditor/canvas
-I../../../digikam/libs/histogram -I../../../digikam/libs/levels
-I../../../digikam/libs/curves -I../../../digikam/libs/whitebalance
-I../../../digikam/libs/widgets/common
-I../../../digikam/libs/widgets/iccprofiles
-I../../../digikam/libs/widgets/imageplugins
-I../../../digikam/libs/dialogs -I../../../digikam/libs/dimg
-I../../../digikam/libs/dmetadata -I../../../digikam/libs/dimg/filters
-I../../../digikam/digikam -I/opt/kde/include -I/usr/lib/qt/include
-I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT
-Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE
-Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -O2 -O2
-march=i486 -mcpu=i686 -Wformat-security -Wmissing-format-attribute
-Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -MT imageeffect_hotpixels.lo
-MD -MP -MF ".deps/imageeffect_hotpixels.Tpo" -c -o
imageeffect_hotpixels.lo imageeffect_hotpixels.cpp; \
then mv -f ".deps/imageeffect_hotpixels.Tpo"
".deps/imageeffect_hotpixels.Plo"; else rm -f
".deps/imageeffect_hotpixels.Tpo"; exit 1; fi
imageeffect_hotpixels.cpp: In member function `void
DigikamHotPixelsImagesPlugin::ImageEffect_HotPixels::slotAddBlackFrame()':
imageeffect_hotpixels.cpp:158: error: type specifier omitted for parameter `
KImageIO::pattern()'
imageeffect_hotpixels.cpp:158: error: type specifier omitted for parameter
imageeffect_hotpixels.cpp:158: error: syntax error before `this'
imageeffect_hotpixels.cpp:159: error: request for member `setCaption' in `
DigikamHotPixelsImagesPlugin::fileSelectDialog', which is of
non-aggregate
type `KFileDialog ()(...)'
imageeffect_hotpixels.cpp:160: confused by earlier errors, bailing out
make[4]: *** [imageeffect_hotpixels.lo] Error 1
make[4]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/digikam/imageplugins/hotpixels'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/digikam/imageplugins'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/digikam'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1'
make: *** [all] Error 2
======================================================================
If i apply the diff from imageplugins-0.9.1 to digikam/imageplugins:
======================================================================
--- ./digikam/imageplugins/hotpixels/imageeffect_hotpixels.cpp
+++ ./digikam/imageplugins/hotpixels/imageeffect_hotpixels.cpp
@@ -155,18 +155,20 @@
void ImageEffect_HotPixels::slotAddBlackFrame()
{
- KFileDialog fileSelectDialog(QString(), KImageIO::pattern(), this,
"", true);
- fileSelectDialog.setCaption(i18n("Select Black Frame Image"));
- fileSelectDialog.setURL(m_blackFrameURL.path());
+ KFileDialog *fileSelectDialog = new KFileDialog(QString(),
KImageIO::pattern(), this, "", true);
+ fileSelectDialog->setCaption(i18n("Select Black Frame Image"));
+ fileSelectDialog->setURL(m_blackFrameURL.path());
- if (fileSelectDialog.exec() != QDialog::Rejected)
+ if (fileSelectDialog->exec() != QDialog::Rejected)
{
//Load the selected file and insert into the list
- m_blackFrameURL = fileSelectDialog.selectedURL();
+ m_blackFrameURL = fileSelectDialog->selectedURL();
m_blackFrameListView->clear();
new BlackFrameListViewItem(m_blackFrameListView, m_blackFrameURL);
}
+
+ delete fileSelectDialog;
}
void ImageEffect_HotPixels::renderingFinished(void)
======================================================================
then digikam compiles fine for this plugin but will fail here:
======================================================================
Making all in el
make[3]: Entering directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/po/el'
rm -f digikam.gmo; /usr/bin/msgfmt -o digikam.gmo ./digikam.po
./digikam.po:12280:4: parse error
./digikam.po:12280: missing `msgstr' section
./digikam.po:12290:4: parse error
./digikam.po:12290: missing `msgstr' section
./digikam.po:12294:4: parse error
./digikam.po:12294: missing `msgstr' section
./digikam.po:12301:4: parse error
./digikam.po:12301: missing `msgstr' section
./digikam.po:12338:4: parse error
./digikam.po:12339: keyword "msgctxt" unknown
./digikam.po:12338: missing `msgstr' section
./digikam.po:12347:4: parse error
./digikam.po:12348: keyword "msgctxt" unknown
./digikam.po:12347: missing `msgstr' section
./digikam.po:12352:4: parse error
./digikam.po:12353: keyword "msgctxt" unknown
./digikam.po:12352: missing `msgstr' section
./digikam.po:12357: keyword "msgctxt" unknown
./digikam.po:12357:11: parse error
./digikam.po:12379:4: parse error
/usr/bin/msgfmt: too many errors, aborting
make[3]: *** [digikam.gmo] Error 1
make[3]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/po/el'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1/po'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/root/test/digikam/source-digikam/digikam-0.9.3-beta1'
make: *** [all] Error 2
======================================================================
If i leave off the translation for 'el' digikam compiles fine on
Slackware 10.2 using gcc 3.3.6. HotPixel still does not work on
10.2/gcc-3.3.6 but that may be because of that build fix i applied.
Markus
Markus, Try a gcc 4.x version... Gilles gcc 3.4.6 may work also but if it is recommended to upgrade gcc i stick with the previous release of digikam, thx. I only now really realized what it means that you run slackware 10.2, as this was released in 2005. By now Slackware 12.0 is out, and this includes a recent gcc. To me the error you encounter sounds like a bug in gcc 3.3.6 because the corresponding code looks ok and compiles fine with a newer gcc. I am sorry, but if this is really the case, there is not much which we can do, because working around bugs of compiler versions as old as this does not sound right to me. Thanks a lot for your understanding! |