ld cannot find the general :)

David Faure faure at kde.org
Thu Jun 26 15:26:38 CEST 2008


Today I'm getting this error when building kdebase:

Linking CXX executable favicontest
/usr/bin/ld: cannot find -lgeneral

First got it with cmake version 2.6-patch 1 RC-2,
updated to cmake version 2.6-patch 1 RC-5 and rebuilt, no change.

/d/other/inst/icecream/bin/c++   -pipe -pedantic -Wno-long-long -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -g3 -fno-inline  -fPIC -Wl,--enable-new-dtags  CMakeFiles/favicontest.dir/favicontest_automoc.o CMakeFiles/favicontest.dir/favicontest.o CMakeFiles/favicontest.dir/favicon_interface.o  -o favicontest -rdynamic -L/d/kde/build/trunk/kdebase/lib -L/d/kde/src/trunk/qt-copy/lib -L/d/kde/inst/kdesupport_trunk/lib -L/d/kde/inst/kde-trunk/lib ../../../../lib/libkonq.so.5.1.0 /d/kde/src/trunk/qt-copy/lib/libQtTest.so -lgeneral -lkio -lkdeui /d/kde/src/trunk/qt-copy/lib/libQtSvg.so /d/kde/inst/kdesupport_trunk/lib/libstreamanalyzer.so /d/kde/inst/kdesupport_trunk/lib/libstreams.so -lkdecore -lsolid /d/kde/src/trunk/qt-copy/lib/libQtCore.so -lpthread /d/kde/inst/kde-trunk/lib/libkparts.so /d/kde/src/trunk/qt-copy/lib/libQtNetwork.so /d/kde/src/trunk/qt-copy/lib/libQtDBus.so -lSM -lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXpm /d/kde/src/trunk/qt-copy/lib/libQtXml.so -lz -lbz2 -lresolv /d/kde/src/trunk/qt-copy/lib/libQtGui.so -lXtst -lXcursor -lXfixes -lfam -lacl -lattr -lXrender -Wl,-rpath,/d/kde/inst/kde-trunk/lib:/d/kde/src/trunk/qt-copy/lib:/d/kde/inst/kdesupport_trunk/lib:/d/kde/inst/kde-trunk/lib

Indeed there's -lgeneral in that link line.

CMakeCache.txt mentions "general" everywhere, I guess it's a new special keyword used by cmake for each lib?

CMakeCache.txt:konq_LIB_DEPENDS:STATIC=general;/d/kde/src/trunk/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;kdeui;general;kio;general;/d/kde/inst/kde-trunk/lib/libkparts.so;

What's really strange is that all of kdelibs builds fine, even though it also has "general;" everywhere in CMakeCache.txt,
and it generates lots of it in KDELibsDependenciesInternal.cmake:  SET("kdecore_LIB_DEPENDS" "general;/d/kde/src/trunk/qt-copy/lib/libQtCore.so;general;-lpthread;general;/d/kde/src/trunk/qt-copy/lib/libQtNetwork.so;general;/d/kde/src/trunk/qt-copy/lib/libQtDBus.so;general;/d/kde/src/trunk/qt-copy/lib/libQtXml.so;general;/usr/lib/libz.so;general;/usr/lib/libbz2.so;general;resolv;")

And some targets in kdebase build fine, like kcmshell4. favicontest fails though. It's defined using:
kde4_add_unit_test(favicontest ${favicontest_SRCS})
target_link_libraries(favicontest konq ${QT_QTTEST_LIBRARY})

Hmm OK it seems like a general problem (pun intended!) in kdebase:
Linking CXX shared library ../../../lib/libdolphinprivate.so
/usr/bin/ld: cannot find -lgeneral

Help!

-- 
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).


More information about the Kde-buildsystem mailing list