Hi all,
I'm running into issues with cmake or likely our set-up/usage of cmake, when trying to build the component based tool framework (CBTF) with cmake. The issue I'm seeing only occurs on machines where binutils-devel is not installed and I build my own version of binutils. It seems that something gets out of sync with ld and gcc. I'm on laboratory machines where I don't control the software that is installed, so that is why I'm building my own version of binutils. Has anyone seen something like this (output listed below) or has any suggestions on where to look and/or what to look for to solve this? ********************************************************************************* CMAKE OUTPUT: ********************************************************************************* -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- broken CMake Error at /global/common/hopper2/usg/cmake/2.8.2/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): The C compiler "/usr/bin/gcc" is not able to compile a simple test program. It fails with the following output: Change Dir: /global/homes/j/jgalaro/hopper/cbtf/framework/build/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/gmake "cmTryCompileExec/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build gmake[1]: Entering directory `/global/u2/j/jgalaro/hopper/cbtf/framework/build/CMakeFiles/CMakeTmp' /global/common/hopper2/usg/cmake/2.8.2/bin/cmake -E cmake_progress_report /global/homes/j/jgalaro/hopper/cbtf/framework/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o /usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /global/homes/j/jgalaro/hopper/cbtf/framework/build/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec /global/common/hopper2/usg/cmake/2.8.2/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 /usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic /global/u2/j/jgalaro/hopper/cbtf_install/bin/ld: cannot find crtbegin.o: No such file or directory /global/u2/j/jgalaro/hopper/cbtf_install/bin/ld: cannot find -lgcc /global/u2/j/jgalaro/hopper/cbtf_install/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec] Error 1 gmake[1]: Leaving directory `/global/u2/j/jgalaro/hopper/cbtf/framework/build/CMakeFiles/CMakeTmp' gmake: *** [cmTryCompileExec/fast] Error 2 In experimenting to get some clues about what is causing the cmake failures, I tried not setting PATH and LD_LIBRARY_PATH to point to my version of binutils. That didn't make a difference. I don't think the fact that binutils-devel is not installed is what tweaking the cmake build, it seems more like the alternative bintuils install that does it. I've tried setting LD_LIBRARY_PATH to point to the library location of crtbegin.so, libgcc, and libgcc_s that the cmake build complains that it can not find. But, this doesn't work either. I then added a line to the CMakeLists.txt file we have for building CBTF, but that also did not make a difference. When I play with this on my laptop, I can reproduce what I see on the laboratory machines. I've listed the build file (CMakeLists.txt) below. This is the line that I added to see if I could help cmake file the crtbegin.so, libgcc and libgcc_s: list( APPEND libSearchDirs /usr/lib64/gcc/x86_64-suse-linux/4.3) Any tips/help will be greatly appreciated. Thanks, Jim G ********************************************************************************* Shows where crtbegin.so, etc. are located. ********************************************************************************* hopper08-796>lsr /usr/lib64/gcc/x86_64-suse-linux/4.3 total 35824 4 drwxr-xr-x 3 root root 4096 2010-05-05 05:44 ../ 756 -rw-r--r-- 1 root root 766626 2010-05-05 05:46 libsupc++.a 12148 -rw-r--r-- 1 root root 12420868 2010-05-05 05:46 libstdc++.a 252 -rw-r--r-- 1 root root 253440 2010-05-05 05:46 libgcc_eh.a 5824 -rw-r--r-- 1 root root 5951124 2010-05-05 05:46 libgcc.a 176 -rw-r--r-- 1 root root 174428 2010-05-05 05:46 libgcov.a 4 -rw-r--r-- 1 root root 170 2010-05-05 05:46 libgomp.spec 300 -rw-r--r-- 1 root root 299624 2010-05-05 05:46 libgomp.a 4 -rw-r--r-- 1 root root 3288 2010-05-05 05:46 crtprec80.o 4 -rw-r--r-- 1 root root 3480 2010-05-05 05:46 crtprec64.o 4 -rw-r--r-- 1 root root 3288 2010-05-05 05:46 crtprec32.o 4 -rw-r--r-- 1 root root 3320 2010-05-05 05:46 crtfastmath.o 4 -rw-r--r-- 1 root root 1928 2010-05-05 05:46 crtendS.o 4 -rw-r--r-- 1 root root 1928 2010-05-05 05:46 crtend.o 4 -rw-r--r-- 1 root root 3024 2010-05-05 05:46 crtbeginT.o 4 -rw-r--r-- 1 root root 2872 2010-05-05 05:46 crtbeginS.o 4 -rw-r--r-- 1 root root 2528 2010-05-05 05:46 crtbegin.o 7780 -rwxr-xr-x 1 root root 7951440 2010-05-05 05:46 cc1* 116 -rwxr-xr-x 1 root root 113656 2010-05-05 05:46 collect2* 8412 -rwxr-xr-x 1 root root 8594552 2010-05-05 05:47 cc1plus* 0 lrwxrwxrwx 1 root root 23 2012-01-12 22:05 libstdc++.so -> ../../../libstdc++.so.6* 0 lrwxrwxrwx 1 root root 21 2012-01-12 22:05 libgomp.so -> ../../../libgomp.so.1* 0 lrwxrwxrwx 1 root root 20 2012-01-12 22:05 libgcc_s.so -> /lib64/libgcc_s.so.1* 4 drwxr-xr-x 2 root root 4096 2012-01-12 22:05 include-fixed/ 4 drwxr-xr-x 2 root root 4096 2012-01-12 22:05 include/ 4 drwxr-xr-x 5 root root 4096 2012-01-12 22:06 ./ 4 drwxr-xr-x 2 root root 4096 2012-01-12 22:06 32/ hopper08-797> ********************************************************************************* CMakeLists.txt SOURCE: ********************************************************************************* cat -n CMakeLists.txt 18 19 cmake_minimum_required(VERSION 2.8.0) 20 21 project(CBTF) 22 23 24 if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc*") 25 set(CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib) 26 elseif(EXISTS /usr/lib64) 27 set(LIB_SUFFIX 64) 28 set(CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) 29 endif() 30 31 list( APPEND libSearchDirs /usr/lib64/gcc/x86_64-suse-linux/4.3) 32 33 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}) 34 35 find_package(Boost 1.35.0 REQUIRED 36 COMPONENTS date_time filesystem system thread unit_test_framework 37 ) 38 find_package(MRNet 3.1) 39 find_package(Threads) 40 find_package(XercesC 3.0) 41 42 add_subdirectory(libcbtf) 43 44 if(XERCESC_FOUND) 45 add_subdirectory(libcbtf-xml) 46 endif() 47 48 if(XERCESC_FOUND AND MRNET_FOUND) 49 add_subdirectory(libcbtf-mrnet) 50 add_subdirectory(libcbtf-mrnet-backend) 51 add_subdirectory(libcbtf-mrnet-filter) 52 add_subdirectory(BasicMRNetLaunchers) 53 endif() 54 55 add_subdirectory(examples) 56 add_subdirectory(test) -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake