Hello, I have some troubles compiling kdebase SVN
1260891 on Fedora 15.
I guess this is because the "direct linking" is now disabled by default
on this distro.
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
==========
/usr/bin/ld: CMakeFiles/nspluginviewer.dir/nsplugin.cpp.o: undefined
reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/bin/ld: note: 'dlsym@@GLIBC_2.2.5' is defined in DSO
/lib64/libdl.so.2 so try adding it to the linker command line
/lib64/libdl.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[2]: *** [nsplugins/viewer/nspluginviewer] Error 1
make[2]: Leaving directory `/home/albator/rpmbuild/BUILD/kdebase/build'
make[1]: *** [nsplugins/viewer/CMakeFiles/nspluginviewer.dir/all] Error 2
==========
Linking CXX executable kdesktop_lock
cd /home/albator/rpmbuild/BUILD/kdebase/build/kdesktop/lock &&
/usr/bin/cmake -E cmake_link_script
CMakeFiles/kdesktop_lock.dir/link.txt --verbose=1
/usr/lib64/ccache/c++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL
-DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT
-include tqt.h -ldl CMakeFiles/kdesktop_lock.dir/lockprocess.cc.o
CMakeFiles/kdesktop_lock.dir/lockdlg.cc.o
CMakeFiles/kdesktop_lock.dir/infodlg.cc.o
CMakeFiles/kdesktop_lock.dir/querydlg.cc.o
CMakeFiles/kdesktop_lock.dir/sakdlg.cc.o
CMakeFiles/kdesktop_lock.dir/securedlg.cc.o
CMakeFiles/kdesktop_lock.dir/autologout.cc.o
CMakeFiles/kdesktop_lock.dir/main.cc.o -o kdesktop_lock -rdynamic
-L/opt/trinity/lib64 -L/usr/lib64/qt-3.3/lib ../libkdesktopsettings.a
../../kdmlib/libdmctl.a /opt/trinity/lib64/libkio.so.4.2.0 -lGL -lXau
/opt/trinity/lib64/libkdeui.so.4.2.0 -lfreetype -lfontconfig
/opt/trinity/lib64/libkdesu.so.4.2.0 -lutil
/opt/trinity/lib64/libkwalletclient.so.1.0.1
/opt/trinity/lib64/libkdecore.so.4.2.0
/opt/trinity/lib64/libDCOP.so.4.2.0 /opt/trinity/lib64/libkdefx.so.4.2.0
-ltqt -lqt-mt -lXrender -lX11 -lz -lXcomposite -lICE -lSM
-Wl,-rpath,/opt/trinity/lib64:/usr/lib64/qt-3.3/lib:
/usr/bin/ld: CMakeFiles/kdesktop_lock.dir/lockprocess.cc.o: undefined
reference to symbol 'DPMSInfo'
/usr/bin/ld: note: 'DPMSInfo' is defined in DSO /usr/lib64/libXext.so.6
so try adding it to the linker command line
/usr/lib64/libXext.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[2]: *** [kdesktop/lock/kdesktop_lock] Error 1
make[2]: Leaving directory `/home/albator/rpmbuild/BUILD/kdebase/build'
make[1]: *** [kdesktop/lock/CMakeFiles/kdesktop_lock.dir/all] Error 2
==========
To sum up things, I can compile if I set the following variable
export LDFLAGS="-ldl -lXext"
Thanks
Francois Andriot
As I do not have a Fedora system to test on, can you please try adding the
required link flags to the CMakeLists.txt file in the offending source
directories, then rebuilding? If you can get it working that way then
please submit a patch to this mailing list.
Ubuntu has a similar library policy, yet I have not run into any problems
building kdebase from SVN.
Thanks!
Tim