[kde-freebsd] devel/kdebindings4-smoke: link failure with non-base gcc

Andriy Gapon avg at icyb.net.ua
Mon Jul 5 16:41:35 CEST 2010


Environment:
devel/kdebindings4-smoke version 4.4.5
gcc-4.4.5.20100622

Here's how it fails when gcc44 is used for compilation (and CMAKE_VERBOSE is set):

Linking CXX executable bin/smokegen
cd /usr/obj/usr/ports/devel/kdebindings4-smoke/work/kdebindings-4.4.5/generator &&
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/smokegen.dir/link.txt --verbose=1
/usr/local/bin/g++44   -O2 -pipe -O2 -fno-strict-aliasing -pipe -march=amdfam10
-O2 -fno-strict-aliasing -pipe  -Wl,--export-dynamic
CMakeFiles/smokegen.dir/main.o CMakeFiles/smokegen.dir/generatorenvironment.o
CMakeFiles/smokegen.dir/generatorvisitor.o
CMakeFiles/smokegen.dir/generatorpreprocessor.o CMakeFiles/smokegen.dir/options.o
CMakeFiles/smokegen.dir/type_compiler.o CMakeFiles/smokegen.dir/name_compiler.o
CMakeFiles/smokegen.dir/type.o  -o bin/smokegen  /usr/local/lib/qt4/libQtCore.so
/usr/local/lib/qt4/libQtXml.so bin/libcppparser.so /usr/local/lib/qt4/libQtCore.so
-Wl,-rpath,/usr/local/lib/qt4:/usr/obj/usr/ports/devel/kdebindings4-smoke/work/kdebindings-4.4.5/generator/bin:

/usr/local/lib/qt4/libQtCore.so: undefined reference to `pthread_create'
/usr/local/lib/qt4/libQtCore.so: undefined reference to `pthread_setschedparam'
/usr/local/lib/qt4/libQtCore.so: undefined reference to `pthread_getschedparam'
collect2: ld returned 1 exit status
*** Error code 1


Here's a patch that seems to help.  Not sure if it's proper one.

--- generator/CMakeLists.txt.orig	2010-07-05 17:33:22.894946345 +0300
+++ generator/CMakeLists.txt	2010-07-05 17:12:20.727257973 +0300
@@ -29,7 +29,7 @@ set (CMAKE_SKIP_BUILD_RPATH FALSE)
 set (CMAKE_SKIP_RPATH FALSE)

 add_executable(smokegen ${generator_SRC})
-target_link_libraries(smokegen ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} cppparser)
+target_link_libraries(smokegen ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} pthread
cppparser)
 set_target_properties(smokegen PROPERTIES COMPILE_DEFINITIONS
__GENERATOR_BUILDING ENABLE_EXPORTS TRUE)

 install(TARGETS smokegen DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)

-- 
Andriy Gapon


More information about the kde-freebsd mailing list