Summary: | Cannot compile lib/qmdiext/kmdidockwidget.h - missing kdockwidget_p.h | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Aaron Williams <aaronw> |
Component: | general | Assignee: | KDevelop Developers <kdevelop-devel> |
Status: | RESOLVED NOT A BUG | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | 3.0.0b2 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Solaris | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Aaron Williams
2003-12-19 06:58:44 UTC
_p files are not supposed to be installed. If they are installed, you shouldn't be using them. Run make -f Makefile.cvs && ./configure again. If you are running KDE CVS, lib/qextmdi directory won't be compiled if build system configured properly. PS: please report compiling errors to kdevelop-devel mainling list instead of the bug system. Subject: Re: Cannot compile lib/qmdiext/kmdidockwidget.h - missing kdockwidget_p.h There is no Makefile.cvs. Alexander Dymo wrote: >------- You are receiving this mail because: ------- >You reported the bug, or are watching the reporter. > >http://bugs.kde.org/show_bug.cgi?id=70808 >cloudtemple@mksat.net changed: > > What |Removed |Added >---------------------------------------------------------------------------- > Status|UNCONFIRMED |RESOLVED > Resolution| |INVALID > > > >------- Additional Comments From cloudtemple@mksat.net 2003-12-19 17:24 ------- >Run make -f Makefile.cvs && ./configure again. If you are running KDE CVS, lib/qextmdi directory won't be compiled if build system configured properly. > >PS: please report compiling errors to kdevelop-devel mainling list instead of the bug system. > > I have traced this problem down to a bug in configure. For some reason, it does not pass the correct include path to GCC. I have my prefix set to /opt/kde3/3.2beta but what actually gets passed to g++ from configure when testing kmdi is -I${prefix}/include For some reason it does not resolve ${prefix} and substitute /opt/kde3/3.2beta, even though I can see that $prefix is set properly. I'm not a shell script guru, so I don't know what exactly is causing this, but after I hard-coded $kde_includes to be $prefix/include (where it did get properly passed to g++) everything works fine and qextmdi is not getting compiled. The problem is back with kdevelop 3.0.0 compiled with KDE 3.2.0 make[3]: Entering directory `/var/tmp/kde/archive/3.2/kdevelop-3.0.0/lib/qextmdi' if /bin/bash ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../lib/qextmdi/res -I../../lib/structure -I/opt/kde3/3.2/include -I/opt/qt/qt-3.2.2/include -I/opt/kdeshared/include -DQT_THREAD_SUPPORT -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4 -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT kmdichildfrm.lo -MD -MP -MF ".deps/kmdichildfrm.Tpo" \ -c -o kmdichildfrm.lo `test -f 'kmdichildfrm.cpp' || echo './'`kmdichildfrm.cpp; \ then mv -f ".deps/kmdichildfrm.Tpo" ".deps/kmdichildfrm.Plo"; \ else rm -f ".deps/kmdichildfrm.Tpo"; exit 1; \ fi In file included from kmdimainfrm.h:50, from kmdichildfrm.cpp:43: kmdidockwidget.h:26:28: kdockwidget_p.h: No such file or directory In file included from kmdimainfrm.h:50, from kmdichildfrm.cpp:43: kmdidockwidget.h:77: error: base class `KDockContainer' has incomplete type kmdidockwidget.h: In constructor ` KMdiDockContainerBase::KMdiDockContainerBase()': kmdidockwidget.h:79: error: type `struct KDockContainer' is not a direct base of `KMdiDockContainerBase' make[3]: *** [kmdichildfrm.lo] Error 1 make[3]: Leaving directory `/var/tmp/kde/archive/3.2/kdevelop-3.0.0/lib/qextmdi' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/kde/archive/3.2/kdevelop-3.0.0/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/kde/archive/3.2/kdevelop-3.0.0' make: *** [all] Error 2 In kmdidockwidget.h I see: #if defined(NO_KDE) || defined(OLDER_THAN_KDE_3_2) # include "kdockwidget_compat.h" # ifndef NO_KDE # include "dockmainwindow_compat.h" # endif using namespace KDockWidget_Compat; #else # include <kdockwidget.h> # include <kdockwidget_p.h> #endif kdockwidget_p.h is not installed and should not be included. This is still broken in kdevelop 3.0.2 when compiled with KDE 3.2.1. Follow the compilation instructions on the web site. They are very explicit. Like Adymo said, this is not a bug, it is a compilation error. Use the kdevelop-devel mailing list. Instructions on the website. |