Version: (using KDE KDE 3.1.1) Installed from: SuSE RPMs Compiler: GCC 3.2 OS: Linux If I have a QT/KDE missmatch I get this error message: ../kdevelop/configure ... ... checking for KDE... libraries /opt/kde3/lib, headers /opt/kde3/include checking if UIC has KDE plugins available... configure: error: not found - you need to install kdelibs first. This error message does not correctly describe the cause of the problem, and lead me to try inappropreate trouble shooting steps. The problem - per a discussion on the KDevelop list - arrises from my KDE not haveing been compiled with the same QT that I am trying to compile with. As far as I can tell, this is true even if both QT builds are from the same version. IOW, if I have /usr/lib/qt3 from SuSE, and /usr/local/qt from my own build, both may be 3.1.2, but If I use my own in conjunction with SuSE's KDE bits, I get the error indicated above. This seems to be a frequent problem among KDevelop users. It would be very helpful to clarify the error message.
Subject: Re: New: Error Message: checking if UIC has KDE plugins available Am Wednesday 02 April 2003 14:23 schrieb Steven T.Hatton: > ------- You are receiving this mail because: ------- > You are on the CC list for the bug, or are watching someone who is. > > http://bugs.kde.org/show_bug.cgi?id=56747 > Summary: Error Message: checking if UIC has KDE plugins > available Product: kde > Version: unspecified > Platform: SuSE RPMs > OS/Version: Linux > Status: UNCONFIRMED > Severity: normal > Priority: NOR > Component: general > AssignedTo: bastian@kde.org > ReportedBy: hattons@globalsymmetry.com > > > Version: (using KDE KDE 3.1.1) > Installed from: SuSE RPMs > Compiler: GCC 3.2 > OS: Linux > > If I have a QT/KDE missmatch I get this error message: > ../kdevelop/configure > ... > ... > checking for KDE... libraries /opt/kde3/lib, headers /opt/kde3/include > checking if UIC has KDE plugins available... configure: error: not found - > you need to install kdelibs first. > > This error message does not correctly describe the cause of the problem, > and lead me to try inappropreate trouble shooting steps. The problem - per > a discussion on the KDevelop list - arrises from my KDE not haveing been > compiled with the same QT that I am trying to compile with. As far as I > can tell, this is true even if both QT builds are from the same version. > IOW, if I have /usr/lib/qt3 from SuSE, and /usr/local/qt from my own build, > both may be 3.1.2, but If I use my own in conjunction with SuSE's KDE bits, > I get the error indicated above. > > This seems to be a frequent problem among KDevelop users. It would be very > helpful to clarify the error message. What would you put in? Your problem is just one of possible problems. Greetings, Stephan
One should also note that autoconf shows only minimal information on the screen output. If you need more detailed information, you have to take a look at the config.log file, which will contain the true error message.
Subject: Re: Error Message: checking if UIC has KDE plugins available On Wednesday 02 April 2003 07:55 am, you wrote: > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > > http://bugs.kde.org/show_bug.cgi?id=56747 > What would you put in? Your problem is just one of possible problems. > > Greetings, Stephan I might throw this in. I do understand the problem of having such references become dangling pointers. Nonetheless, it seems common enough for people in my situation that it has become a FAQ item. I suspect it would help a significant number of those who encounter this in the future to have that reference. http://developer.kde.org/documentation/other/developer-faq.html#q72 STH
You should not have two Qt versions lying around, specially if the use of the wrong one causes problems. That is true for different library versions or different compiler versions as well. Again, what would you have put in there? "Cannot load plugins -- they might not be installed"?
Subject: Re: Error Message: checking if UIC has KDE plugins available On Wednesday 02 April 2003 01:26 pm, Thiago Macieira wrote: > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > > http://bugs.kde.org/show_bug.cgi?id=56747 > > > > > ------- Additional Comments From thiagom@mail.com 2003-04-02 20:26 ------- > You should not have two Qt versions lying around, specially if the use of > the wrong one causes problems. That is true for different library versions > or different compiler versions as well. > > Again, what would you have put in there? "Cannot load plugins -- they might > not be installed"? I'll have to admit, I don't understand all of what's happening. I believe the following block is the actual sequence of events producing the error: ## config.log excerpt ## int main() { (void)QStyleFactory::create(QString::null); QCursor c(Qt::WhatsThisCursor); return 0; } configure:23343: result: no configure:23381: checking for moc configure:23450: result: /usr/lib/qt3/bin/moc configure:23458: checking for uic configure:23509: result: /usr/lib/qt3/bin/uic configure:23537: checking whether uic supports -L configure:23548: /usr/lib/qt3/bin/uic -L /nonexistant conftest.ui >/dev/null configure:23551: $? = 0 configure:23563: result: yes configure:23575: checking whether uic supports -nounload configure:23586: /usr/lib/qt3/bin/uic -nounload conftest.ui >/dev/null configure:23589: $? = 0 configure:23601: result: yes configure:23638: checking if Qt needs -ljpeg configure:23680: rm -rf SunWS_cache; g++ -o conftest -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -I/usr/lib/qt3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT conftest.cc -L/usr/X11R6/lib -L/usr/lib/qt3/lib -lqt-mt -lpng -lz -lm -ldl -lXext -lX11 -lSM -lICE 1>&5 configure: In function `int main()': configure:23708: warning: `char**argv' might be used uninitialized in this function configure:23683: $? = 0 configure:23686: test -s conftest configure:23689: $? = 0 configure:23717: result: no configure:23743: checking for rpath configure:23769: result: yes configure:23772: checking for KDE configure: 23823: /opt/kde3/include/ksharedptr.h taking that configure: 23853: /opt/kde3/lib/libkio.la taking that configure: 23871: /opt/kde3/lib/kde3/plugins/designer/kdewidgets.la taking that configure:23941: result: libraries /opt/kde3/lib, headers /opt/kde3/include configure:23978: checking if UIC has KDE plugins available configure:24005: /usr/lib/qt3/bin/uic -L /opt/kde3/lib/kde3/plugins/designer -nounload -impl actest.h actest.ui > actest.cpp configure:24008: $? = 0 configure:24023: error: not found - you need to install kdelibs first. ##################################### What's this really testing? I find this extremely puzzling. I am using the same _version_ of QT in /usr/lib/qt3 (from SuSE) and /usr/local/qt (home-spun). My QT allows me to configure against my KDE in /opt/kde-3.1.1. After rebuilding and reinstalling SuSE's rpms (QT, then KDE), I am able to configure against /opt/kde3 using /usr/lib/qt3. Before I recompiled the SuSE KDE I was not able to configure with the SuSE bits in any combination with my bits, nor SuSE's bits. Now I have this: KDEDIR=/opt/kde-3.1.1 && QTDIR=/usr/local/qt ../kdevelop/configure --prefix=$KDEDIR Good - your configure finished. Start make now KDEDIR=/opt/kde3 && QTDIR=/usr/local/qt ../kdevelop/configure --prefix=$KDEDIR configure: error: not found - you need to install kdelibs first. KDEDIR=/opt/kde3 && QTDIR=/usr/lib/qt3 ../kdevelop/configure --prefix=$KDEDIR Good - your configure finished. Start make now KDEDIR=/opt/kde-3.1.1 && QTDIR=/usr/lib/qt3 ../kdevelop/configure --prefix=$KDEDIR Good - your configure finished. Start make now This is from a successful configure: ## config.log from successful configure: configure:23743: checking for rpath configure:23769: result: yes configure:23772: checking for KDE configure: 23823: /opt/kde-3.1.1/include/ksharedptr.h taking that configure: 23853: /opt/kde-3.1.1/lib/libkio.la taking that configure: 23871: /opt/kde-3.1.1/lib/kde3/plugins/designer/kdewidgets.la taking that configure:23941: result: libraries /opt/kde-3.1.1/lib, headers /opt/kde-3.1.1/include configure:23978: checking if UIC has KDE plugins available configure:24005: /usr/local/qt/bin/uic -L /opt/kde-3.1.1/lib/kde3/plugins/designer -nounload -impl actest.h actest.ui > actest.cpp configure:24008: $? = 0 configure:24020: result: yes ######################################## hattons@ljosalfr:~/ Wed Apr 02 18:29:17:> diff /opt/kde-3.1.1/lib/kde3/plugins/designer/kdewidgets.la /opt/kde3/lib/kde3/plugins/designer/kdewidgets.la 17c17 < dependency_libs=' -R/opt/kde-3.1.1/lib -R/usr/local/qt/lib -R/usr/X11R6/lib -L/usr/X11R6/lib -L/usr/local/qt/lib -L/opt/kde-3.1.1/lib /opt/kde-3.1.1/lib/libkio.la -L/usr/lib/gcc-lib/i486-suse-linux/3.2 -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/lib -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../.. /opt/kde-3.1.1/lib/libkdeui.la /opt/kde-3.1.1/lib/libkdesu.la /opt/kde-3.1.1/lib/libkdecore.la /usr/lib/libstdc++.la /opt/kde-3.1.1/lib/libDCOP.la -ldl -lresolv /opt/kde-3.1.1/lib/libart_lgpl_2.la /opt/kde-3.1.1/lib/libkdefx.la -lqt-mt -lpng -lXext -lX11 -lSM -lICE -lpthread -lXrender -lutil -lz /usr/lib/libfam.la /usr/lib/libstdc++.la -lm -lc -lgcc_s' --- > dependency_libs=' -L/usr/X11R6/lib -L/usr/lib/qt3/lib -L/opt/kde3/lib /opt/kde3/lib/libkio.la -L/usr/lib/gcc-lib/i486-suse-linux/3.2 -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/lib -L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../.. -L/usr/lib /opt/kde3/lib/libkdeui.la /opt/kde3/lib/libkdesu.la /opt/kde3/lib/libkdecore.la /usr/lib/libstdc++.la /opt/kde3/lib/libDCOP.la -ldl -lresolv -lXinerama /usr/lib/libart_lgpl_2.la /opt/kde3/lib/libkdefx.la -lqt-mt -lpng -lXext -lX11 -lSM -lICE -lpthread -lXrender -lutil -lz /usr/lib/libfam.la /usr/lib/libstdc++.la -lm -lc -lgcc_s' 32c32 < libdir='/opt/kde-3.1.1/lib/kde3/plugins/designer' --- > libdir='/opt/kde3/lib/kde3/plugins/designer' hattons@ljosalfr:~/ Wed Apr 02 19:00:18:>
I've been thinking about this now for a little bit. What we're doing is using UIC to test for the presence of kdewidgets. However, this error also gets generated if uic crashes or is otherwise unable to compile the test program. Perhaps there could be another error message in case uic bombs out...something that is more representative of what's really going on? I'm not an autotools hacker, so I don't know a good way of handling this.
That much is true. The test fails if uic fails for any reason. However, this is also a limitation of the standard autoconf tests. Many times I have seen normal tests fail because of a completely unrelated reason -- like missing an -lm option to a linking. What most people are not aware of is that config.log contains the real error and that you should always consult that file for more information. Maybe it even warrants a wishlist report to the autoconf developers. But back to the question at hand, maybe a simpler workaround could solve the problem: what if we tested if UIC works before?
When I was compiling kdevelop-3.0_alpha4 I experienced this problem too. The problem with me seems to be in the acinclude.m4. See the gentoo bug database for more information: http://bugs.gentoo.org/show_bug.cgi?id=23743 and my fixed acinclude.m4: http://bugs.gentoo.org/attachment.cgi?id=14031&action=view
Subject: Error Message: checking if UIC has KDE plugins available Hello, would it be possible to attach a diff to the bug report? We have to know what you changed and against which version you did those changes.
Sure, I have kdevelop-3.0a4a. I'll attach the diff...
Created attachment 1909 [details] Diff between the old acinclude.m4 and mine.
ok, but thats like destroying the purpose of the test. The test is there to check if the kdewidgets plugin was loaded into uic. with your change you avoid this. its not a fix.
CVS commit by mueller: improve error message CCBUG: 56747 M +9 -1 acinclude.m4.in 2.504 --- kde-common/admin/acinclude.m4.in #2.503:2.504 @@ -1645,5 +1645,13 @@ AC_MSG_RESULT([$kde_cv_uic_plugins]) if test "$kde_cv_uic_plugins" != yes; then - AC_MSG_ERROR([you need to install kdelibs first.]) + AC_MSG_ERROR([ +you need to install kdelibs first. + +If you did install kdelibs, then the Qt version that is picked up by +this configure is not the same version you used to compile kdelibs. +The Qt Plugin installed by kdelibs is *ONLY* loadable if its the +same Qt version, compiled with the same compiler and the same Qt +configuration settings. +]) fi fi
CVS commit by mueller: improve error message CCMAIL: 56747-done@bugs.kde.org M +1 -1 acinclude.m4.in 2.499.6.2 --- kde-common/admin/acinclude.m4.in #2.499.6.1:2.499.6.2 @@ -3105,6 +3105,6 @@ rm -f conftest.h conftest.h.gch fi - AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") fi + AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes") if test "$CXX" = "KCC"; then dnl unfortunately we currently cannot disable exception support in KCC
CVS commit by mueller: backport the real fix for 56747 CCMAIL: 56747@bugs.kde.org M +9 -1 acinclude.m4.in 2.499.6.3 --- kde-common/admin/acinclude.m4.in #2.499.6.2:2.499.6.3 @@ -1645,5 +1645,13 @@ AC_MSG_RESULT([$kde_cv_uic_plugins]) if test "$kde_cv_uic_plugins" != yes; then - AC_MSG_ERROR([you need to install kdelibs first.]) + AC_MSG_ERROR([ +you need to install kdelibs first. + +If you did install kdelibs, then the Qt version that is picked up by +this configure is not the same version you used to compile kdelibs. +The Qt Plugin installed by kdelibs is *ONLY* loadable if its the +same Qt version, compiled with the same compiler and the same Qt +configuration settings. +]) fi fi