[CMake] cmake 2.8.6 On Linux , link error and added headers to ..._EXTERNAL_OBJECTS for executables

Michael Hertling mhertling at online.de
Tue Nov 15 11:52:14 EST 2011


On 11/12/2011 12:41 AM, david_bjornbak at agilent.com wrote:
> I'm getting a Link error on Linux when I use CMake 2.8.6 or 2.8.5.  If use CMake 2.6.3, with the exact same configuration, the link works.
> 
> I did a diff on the build.make from 2.8.6 and 2.6.3 and found  when I use cmake 2.8.6 On Linux  adding headers to ..._EXTERNAL_OBJECTS  for executables under the build.make.
> 
> The following is the link error I get, it looks for a header but, the link.txt does need it and the diff on build.make that looks like is causing this.
> 
> Link Error Message
> 
> 
> nux_x86_64/lib/libeemdump.so /hped/builds/tools/google-breakpad/784/lib.linux_x86_64/release/libbreakpad.a /hped/builds/tools/google-breakpad/78
> 4/lib.linux_x86_64/release/libbreakpad_client.a /hped/builds/tools/google-breakpad/784/lib.linux_x86_64/release/libbreakpad_server.a /gfs/sr/blu
> efin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/lib/libplugin_manager.so /hped/builds/tools/qt/4.7.4/linux_x86_6
> 4/lib/libQtCore.so /hped/builds/tools/cryptopp/5.6.0_0/linux_x86_64/release/libcryptopp.a /hped/builds/tools/boost/boost_1_45_0/lib.linux_x86_64
> /release/libboost_date_time.a /hped/builds/tools/boost/boost_1_45_0/lib.linux_x86_64/release/libboost_filesystem.a /hped/builds/tools/boost/boos
> t_1_45_0/lib.linux_x86_64/release/libboost_program_options.a /hped/builds/tools/boost/boost_1_45_0/lib.linux_x86_64/release/libboost_system.a /h
> ped/builds/tools/boost/boost_1_45_0/lib.linux_x86_64/release/libboost_thread.a /hped/builds/tools/stl/5.2.1/lib.linux_x86_64/libstlport_gcc.so -
> Wl,-rpath,/hped/builds/tools/qt/4.7.4/linux_x86_64/lib:/hped/builds/tools/stl/5.2.1/lib.linux_x86_64:/gfs/sr/bluefin/d1/build/hped/builds/sr/dev
> XXX/rcupgrd_int/build/64bitrelease/linux_x86_64/lib:/release:
> msgs_eesofpvm_multitool.h:4:19: fatal error: Diag.h: No such file or directory
> compilation terminated.
> make[3]: *** [/gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool] Error 1
> make[3]: Leaving directory `/hfs/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease'
> make[2]: *** [projects/simsys/source/eesofpvm_multitool/CMakeFiles/eesofpvm_multitool.dir/all] Error 2
> 
> 
> Diff with the build.make file, notice the file msgs_eesofpvm_multitool.h
> 
> 
> < eesofpvm_multitool_EXTERNAL_OBJECTS =
> ---
>> eesofpvm_multitool_EXTERNAL_OBJECTS = \
>> "/hfs/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/projects/simsys/source/eesofpvm_multitool/msgs_eesofpvm_multitool.h"
> 498d482
> < /gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool: /hped/builds/tools/qt/4.7.4
> /linux_x86_64/lib/libQtCLucene.so
> 500,502d483
> < /gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool: /usr/X11R6/lib64/libXext.so
> < /gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool: /usr/X11R6/lib64/libX11.so
> < /gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool: /usr/lib64/libm.so
> 519a501
>> /gfs/sr/bluefin/d1/build/hped/builds/sr/devXXX/rcupgrd_int/build/64bitrelease/linux_x86_64/bin/eesofpvm_multitool: projects/simsys/source/eeso
> fpvm_multitool/msgs_eesofpvm_multitool.h
> 
> 
> ++David->Bjornbak;

Could you boild down this issue to a minimal and self-sufficient example
- i.e. a project working with 2.6 (quite old) but failing with 2.8 - and
post it here for further investigation?

Regards,

Michael


More information about the CMake mailing list