[CMake] cmake cvs breaks kde4 builds

Aleix aleixpol at gmail.com
Sun Jan 27 08:50:13 EST 2008


Hi andreas,
I am compiling KDE with the cmake-cvs version.

I had the same problem when I switched and, IIRC, I had to (nuke every
builddir and) recompile whole KDE because of this -lgeneral thing, but
this was back in the summer so I think it is not a new issue.

Bye!
Aleix

On 1/26/08, Andreas Pakulat <apaku at gmx.de> wrote:
> Hi,
>
> not sure wether this is really a fault in cmake, or just some changed
> behaviour which needs changes in kdelibs cmake code.
>
> Anyway, the latest cvs version from cmake (update 2 hours ago) produces
> the following entries in KDELibsDependencies.cmake. This file is
> generated using the export_library_dependecies() command:
>
> SET(kdecore_LIB_DEPENDS "general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;/home/andreas/qt-copy/lib/libQtNetwork.so;general;/home/andreas/qt-copy/lib/libQtDBus.so;general;/home/andreas/qt-copy/lib/libQtXml.so;general;libz.so;general;libbz2.so;general;resolv;")
> SET(kdeui_LIB_DEPENDS "general;/home/andreas/qt-copy/lib/libQtSvg.so;general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;-lSM;general;libICE.so;general;libX11.so;general;libXext.so;general;libXft.so;general;libXau.so;general;libXdmcp.so;general;libXpm.so;general;/home/andreas/qt-copy/lib/libQtGui.so;general;/home/andreas/qt-copy/lib/libQtXml.so;general;libXtst.so;general;libXcursor.so;general;libXfixes.so;")
> SET(kio_LIB_DEPENDS "general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;kdeui;general;libz.so;general;/home/andreas/kde4/lib/libstreamanalyzer.so;general;/home/andreas/kde4/lib/libstreams.so;general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;solid;general;libfam.so;general;libacl.so;general;libattr.so;general;libXrender.so;")
> ...
>
> The problem with this is that those lines are literally taken and given
> to target_link_libraries. Which fails as those lines contain an entry
> "general". The linker line then has -lgeneral, but at least in the
> debian repository there's no such file.
>
> Also I noticed that the linker line doesn't contain an option that gives
> gcc the kde4 library dir to search for kde libs. This is another thing
> which broke things for me here, i.e. ld complains that -lsolid cannot be
> found (as you can see below there's a solid entry in the kio-line).
>
> The linker call is:
> /usr/lib/ccache/c++  -fPIC -pipe -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 -fvisibility-inlines-hidden -O2 -g -Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared -Wl,-soname,libkresources.so.4 -o ../lib/libkresources.so.4.1.0 "CMakeFiles/kresources.dir/kresources_automoc.cpp.o" "CMakeFiles/kresources.dir/resource.cpp.o" "CMakeFiles/kresources.dir/factory.cpp.o" "CMakeFiles/kresources.dir/managerimpl.cpp.o" "CMakeFiles/kresources.dir/configwidget.cpp.o" "CMakeFiles/kresources.dir/configdialog.cpp.o" "CMakeFiles/kresources.dir/selectdialog.cpp.o" "CMakeFiles/kresources.dir/configpage.cpp.o" "CMakeFiles/kresources.dir/idmapper.cpp.o" "CMakeFiles/kresources.dir/kresourcesmanageradaptor.cpp.o" /home/andreas/qt-copy/lib/libQtCore.so -lpthread -lkdecore -lkdeui -lz /home/andreas/kde4/lib/libstreamanalyzer.so /home/andreas/kde4/lib/libstreams.so /home/andreas/qt-copy/lib/libQtCore.so -lpthread -lkdecore -lsolid -lfam -lacl -lattr -lXrender /home/andreas/kde4/lib/libkio.so /home/andreas/qt-copy/lib/libQtSvg.so -lSM -lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXpm -lXtst -lXcursor -lXfixes /home/andreas/qt-copy/lib/libQtNetwork.so -lbz2 -lresolv /home/andreas/qt-copy/lib/libQtCore.so -lpthread /home/andreas/qt-copy/lib/libQtDBus.so /home/andreas/qt-copy/lib/libQtXml.so /home/andreas/qt-copy/lib/libQtGui.so -Wl,-rpath,/home/andreas/qt-copy/lib:/home/andreas/kde4/lib
>
>
> Andreas
>
> PS: For comparison, this is the content thats generated from cmake 2.4.7
> (or cmake cvs from two or three weeks ago, when I last updated):
>
> SET(kdecore_LIB_DEPENDS "/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;/home/andreas/qt-copy/lib/libQtNetwork.so;/home/andreas/qt-copy/lib/libQtDBus.so;/home/andreas/qt-copy/lib/libQtXml.so;libz.so;libbz2.so;resolv;")
> SET(kdeui_LIB_DEPENDS "/home/andreas/qt-copy/lib/libQtSvg.so;/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;-lSM;libICE.so;libX11.so;libXext.so;libXft.so;libXau.so;libXdmcp.so;libXpm.so;/home/andreas/qt-copy/lib/libQtGui.so;/home/andreas/qt-copy/lib/libQtXml.so;libXtst.so;libXcursor.so;libXfixes.so;")
> SET(kio_LIB_DEPENDS "/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;kdeui;libz.so;/home/andreas/kde4/lib/libstreamanalyzer.so;/home/andreas/kde4/lib/libstreams.so;/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;solid;libfam.so;libacl.so;libattr.so;libXrender.so;")
>
> And this is the linker line for the same lib with cmake 2.4.7:
> /usr/lib/ccache/c++  -fPIC -pipe -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 -fvisibility-inlines-hidden -O2 -g -Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared -Wl,-soname,libkresources.so.4 -o ../lib/libkresources.so.4.1.0 "CMakeFiles/kresources.dir/kresources_automoc.o" "CMakeFiles/kresources.dir/resource.o" "CMakeFiles/kresources.dir/factory.o" "CMakeFiles/kresources.dir/managerimpl.o" "CMakeFiles/kresources.dir/configwidget.o" "CMakeFiles/kresources.dir/configdialog.o" "CMakeFiles/kresources.dir/selectdialog.o" "CMakeFiles/kresources.dir/configpage.o" "CMakeFiles/kresources.dir/idmapper.o" "CMakeFiles/kresources.dir/kresourcesmanageradaptor.o" -L/home/andreas/qt-copy/lib -L/home/andreas/kde4/lib -lQtCore -lpthread -lkdecore -lkdeui -lz -lstreamanalyzer -lstreams -lQtCore -lpthread -lkdecore -lsolid -lfam -lacl -lattr -lXrender -lkio -lQtSvg -lSM -lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXpm -lXtst -lXcursor -lXfixes -lQtNetwork -lbz2 -lresolv -lQtCore -lpthread -lQtDBus -lQtXml -lQtGui -Wl,-rpath,/home/andreas/qt-copy/lib:/home/andreas/kde4/lib
>
> --
> Don't look back, the lemmings are gaining on you.
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>


More information about the CMake mailing list