Bug 165769

Summary: adjustcurves.cpp - can't find version.h
Product: [Applications] digikam Reporter: Treeve Jelbert <treeve>
Component: Portability-CompilationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, christophe
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 0.10.0
Sentry Crash Report:

Description Treeve Jelbert 2008-07-05 09:50:01 UTC
Version:           0.10.0 (using Devel)
Installed from:    Compiled sources
Compiler:          gcc-4.3.1 
OS:                Linux

svn checkout 20080705



 58%] Built target showfoto
[ 58%] Building CXX object
imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/digikamimageplugin_adjustcurves_automoc.o
[ 58%] Building CXX object
imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/adjustcurves.o
/usr/src/digikam-svn/imageplugins/adjustcurves/adjustcurves.cpp:64:21: error: version.h: No
such file or directory
/usr/src/digikam-svn/imageplugins/adjustcurves/adjustcurves.cpp: In constructor
'DigikamAdjustCurvesImagesPlugin::AdjustCurveDialog::AdjustCurveDialog(QWidget*)':
/usr/src/digikam-svn/imageplugins/adjustcurves/adjustcurves.cpp:101: error: 'digiKamVersion'
was not declared in this scope
make[2]: ***
[imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/adjustcurves.o]
Error 1
Comment 1 Andi Clemens 2008-07-05 10:06:53 UTC
confirmed, but I have a slightly different error message:

[ 46%] Building CXX object digikam/imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/adjustcurves.o
/kde4user/Programmieren/graphics/digikam/imageplugins/adjustcurves/adjustcurves.cpp:64:21: error: version.h: No such file or directory
/kde4user/Programmieren/graphics/digikam/imageplugins/adjustcurves/adjustcurves.cpp: In constructor ‘DigikamAdjustCurvesImagesPlugin::AdjustCurveDialog::AdjustCurveDialog(QWidget*)’:
/kde4user/Programmieren/graphics/digikam/imageplugins/adjustcurves/adjustcurves.cpp:101: error: ‘digiKamVersion’ was not declared in this scope
make[2]: *** [digikam/imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/adjustcurves.o] Error 1
make[1]: *** [digikam/imageplugins/adjustcurves/CMakeFiles/digikamimageplugin_adjustcurves.dir/all] Error 2
make: *** [all] Error 2
Comment 2 Andi Clemens 2008-07-05 10:08:01 UTC
Oops, it is not different at all... :-) I'm still not completely awake...
Comment 3 caulier.gilles 2008-07-05 11:02:41 UTC
I cannot reproduce the problem here. All compile fine using a fresh checkout.

In imageplugins/CmakeLists.txt, the include path set is right to find digikam/digikam/version.h. So i don't understand what's wrong.

Note : Mandriva 2008.1 with cmake version 2.4-patch 8

Gilles Caulier
Comment 4 Andi Clemens 2008-07-05 11:13:24 UTC
I also use a fresh checkout, but it is not compiling. I will try to do further investigations.
Comment 5 Mikolaj Machowski 2008-07-05 11:19:58 UTC
Just for the record. I had exactly the same bug when compiling inside of
main svn tree using wiki receipt for KDE compilation. You know,
kde/src/extragear/graphics and all other packages around (both svn
version and downloaded tarball).

But compiling separately, from tarball, even with the same cmakekde
macro I was able to compile.
Comment 6 Mikolaj Machowski 2008-07-05 11:21:57 UTC
Forgot to add: Mandriva 2008.0, gcc 4.3.0, cmake 2.6
Comment 7 Andi Clemens 2008-07-05 11:59:48 UTC
It works for me know... very strange. I had to remove CMakeLists.txt in
digikam/imageplugins/adjustcurves/ and restore it with svn up. After that,
make runs fine.
I don't know why it was not updated correctly before.

Andi
Comment 8 caulier.gilles 2008-07-05 12:05:11 UTC
Mik,

Go to another plugin sub-folder, like adjustlevels for ex. and run make. it's work ?

Gilles
Comment 9 Christophe Marin 2008-07-05 12:29:16 UTC
possible reason : there's no version.h in src/extragear/graphics/digikam/digikam. Just a version.h.cmake

(and the compiler looks in /src/extragear/graphics/digikam/imageplugins/../digikam)

you get the same error in the adjustlevels subdir
Comment 10 Andi Clemens 2008-07-05 13:07:06 UTC
This is what I found out first, no version.h exists. But somehow it compiles right now... after checking out CMakeLists.txt again.

But now it hangs here:

[ 78%] Building CXX object digikam/themedesigner/CMakeFiles/digikamthemedesigner.dir/main.o
/kde4user/Programmieren/graphics/digikam/themedesigner/main.cpp:39:21: error: version.h: No such file or directory
/kde4user/Programmieren/graphics/digikam/themedesigner/main.cpp: In function ‘int main(int, char**)’:
/kde4user/Programmieren/graphics/digikam/themedesigner/main.cpp:46: error: ‘digiKamVersion’ was not declared in this scope
make[2]: *** [digikam/themedesigner/CMakeFiles/digikamthemedesigner.dir/main.o] Error 1
make[1]: *** [digikam/themedesigner/CMakeFiles/digikamthemedesigner.dir/all] Error 2
make: *** [all] Error 2

But again, removing CMakeLists.txt and checking it out again works fine... very strange. Why isn't svn not just updating correctly?
Comment 11 Christophe Marin 2008-07-05 13:11:39 UTC
Quick and (very) dirty hack that worked here : 
replace #include "version.h" with #include "../../digikam/version.h"

Comment 12 Christophe Marin 2008-07-05 13:12:41 UTC
(at least for imagesplugins subdir)
Comment 13 Christophe Marin 2008-07-05 13:44:44 UTC
r828317 digikam/trunk/extragear/graphics/digikam/CMakeLists.txt: include the directory where the generated version.h is


/hug pinotree