Bug 129737

Summary: compilation fails since include macros are missing
Product: [Applications] boson Reporter: Michael <michi2k>
Component: generalAssignee: The Boson Team <boson-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Michael 2006-06-24 10:05:13 UTC
Version:           0.12 (using KDE KDE 3.4.3)
Installed from:    Gentoo Packages
Compiler:          gcc-Version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8) 
OS:                Linux

As I tried to compile bouniteditor, compilation failed. First error:

/var/tmp/portage/boson-0.12/work/boson-all-0.12/build/code/boson/programs/bouniteditorbase.cpp: In constructor `BoUnitEditorBase::BoUnitEditorBase(QWidget*, const char*, uint)':
/var/tmp/portage/boson-0.12/work/boson-all-0.12/build/code/boson/programs/bouniteditorbase.cpp:88: Fehler: invalid use of undefined type `struct KIntNumInput'

I've edited the "bouniteditorbase.cpp" and added
#include <knuminput.h>
#include <klineedit.h>

Then, the compilation succeded. But the problem is that "bouniteditorbase.cpp" is somehow autogenerated from "bouniteditorbase.ui" in "boson-all-0.12/code/boson/programs/". I looked inside that file and found out, that it is possible to give "includehints". These two files are mentioned several times. May this confuse the "c++-generator"? May it be that my "c++-generator" is too old? I'm currently using kde-3.4.3 and qt-3.3.4
Comment 1 Andreas Beckermann 2006-06-24 14:47:59 UTC
Hi
that's a cmake bug: The Qt uic binary on your system apparently cannot find the KDE plugin and thus won't include these files. The includehints tag is meant to tell uic that these files should be included - but uic will do so only, if it can find the KDE plugin.

To fix this, please edit the file "kde3uic.cmake" which can be found in the "share/CMake/Modules/" directory of your cmake installation. Usually this is /usr/share/CMake/Modules/kde3uic.cmake.
There please replace the line 
EXECUTE_PROCESS(COMMAND uic
by
EXECUTE_PROCESS(COMMAND uic -L /kde_prefix/lib/kde3/plugins/designer

Replace the "kde_prefix" by the output of kde-config --prefix.
The full line line my machine (debian) is
EXECUTE_PROCESS(COMMAND uic -L /usr/lib/kde3/plugins/designer/

On SuSE you'd probably use /opt/kde3 instead of /usr. I think gentoo uses /usr/kde/3.

This problem will be fixed in the next version of Boson: I have just added a fix to our svn.

CU
Andi
Comment 2 Michael 2006-06-25 12:08:06 UTC
On gentoo, the path is /usr/kde/3.4/lib/kde3/plugins/designer/ I added it and now boson compiles. Big thx!