Joachim Ziegler wrote: > I suppose the problem is in the link line, which says: > > /usr/bin/X11/c++ -fPIC -static > "CMakeFiles/startCompletionServer.dir/StartCompletionServer.o" -o > startCompletionServer -rdynamic -L/KM/home-0/ziegler/tmp/build > -Wl,-Bstatic -lbaselib -Wl,-Bdynamic -lpthread -lz > -Wl,-rpath,/KM/home-0/ziegler/tmp/build
Yes it is. If I replace the above "-Wl,-Bdynamic -lpthread -lz" by an explicit -Wl,-Bstatic -lpthread -lz the problem vanishes. With the original link line issued by CMake as listed above, I have a reference to a non.existing library in my binary file: $ xxd startCompletionServer | head -n 25 0000000: 7f45 4c46 0101 0100 0000 0000 0000 0000 .ELF............ 0000010: 0200 0300 0100 0000 c0b7 0408 3400 0000 ............4... 0000020: 5482 8800 0000 0000 3400 2000 0700 2800 T.......4. ...(. 0000030: 2600 2300 0600 0000 3400 0000 3480 0408 &.#.....4...4... 0000040: 3480 0408 e000 0000 e000 0000 0500 0000 4............... 0000050: 0400 0000 0300 0000 1401 0000 1481 0408 ................ 0000060: 1481 0408 1300 0000 1300 0000 0400 0000 ................ 0000070: 0100 0000 0100 0000 0000 0000 0080 0408 ................ 0000080: 0080 0408 eae3 2500 eae3 2500 0500 0000 ......%...%..... 0000090: 0010 0000 0100 0000 ece3 2500 ec73 2a08 ..........%..s*. 00000a0: ec73 2a08 0405 0000 b811 0000 0600 0000 .s*............. 00000b0: 0010 0000 0200 0000 58e4 2500 5874 2a08 ........X.%.Xt*. 00000c0: 5874 2a08 f000 0000 f000 0000 0600 0000 Xt*............. 00000d0: 0400 0000 0400 0000 2801 0000 2881 0408 ........(...(... 00000e0: 2881 0408 2000 0000 2000 0000 0400 0000 (... ... ....... 00000f0: 0400 0000 51e5 7464 0000 0000 0000 0000 ....Q.td........ 0000100: 0000 0000 0000 0000 0000 0000 0600 0000 ................ 0000110: 0400 0000 2f75 7372 2f6c 6962 2f6c 6962 ..../usr/lib/lib 0000120: 632e 736f 2e31 0000 0400 0000 1000 0000 c.so.1.......... 0000130: 0100 0000 474e 5500 0000 0000 0200 0000 ....GNU......... 0000140: 0400 0000 0100 0000 c500 0000 cb00 0000 ................ There is no /usr/lib/libc.so.1 on my system, and anyway there should be no reference in the binary to a dynamic lib. So what can I do to tell CMake to link everything statically? Thanks and kind regards, Joachim Ziegler _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake