I’ve successfully build several 32 bit, static and Shared, libraries on Linux x86_x64 and I’m now trying to link them together to an executable and I get the following error:
/usr/bin/ld: foo.so: __moddi3: invalid version 21 (max 0)
foo.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
where foo.so is one of the shared libraries I built.
the __moddi3 function is part of the libgcc Integer Library Routines. Its signature is:
— Runtime Function: long __moddi3 (long a, long b)
And its role is to provide 64 bit arithmetic for 32 bit code.
I can’t even find the meaning of the versions of this library.
Why do I see this error now — after the library was already build?
I built all the shared libs with -fPIC and -m32 flag for compiling and linking.
The executable is CXX executable.
here’s the linker output with —verbose
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/32/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/:/lib/i386-linux-gnu/:/lib/../lib32/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib32/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/i386-linux-gnu/:/lib/:/usr/lib/i386-linux-gnu/:/usr/lib/
COLLECT_GCC_OPTIONS='-g' '-m32' '-v' '-o' '../BIN/Y' '-L/home/X/W/Y/LibTee/lib/Linux' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccM5EczN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o ../BIN/Y /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/32/crtbegin.o -L/home/X/W/Y/LibTee/lib/Linux -L/usr/lib/gcc/x86_64-linux-gnu/5/32 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32 -L/lib/i386-linux-gnu -L/lib/../lib32 -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -L/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -rpath /home/X/W/Y/LibTee/lib/Linux:/home/X/W/Y/BIN -ltee ../openssl/Lib/Linux/libssl.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcore.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcp.a ../IPP_5_3_1_064/IA32/lib/Linux/libipps.a ../BIN/libCryptoDataGen.so -lgcc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/32/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crtn.o
/usr/bin/ld: ../BIN/libCryptoDataGen.so: __moddi3: invalid version 21 (max 0)
../BIN/libCryptoDataGen.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
@xlz Below is the CMake Output log
Output Log
The system is: Linux — 3.16.0-30-generic — x86_64
Compiling the C compiler identification source file «CMakeCCompilerId.c» succeeded.
Compiler: /usr/bin/cc
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source «CMakeCCompilerId.c» produced «a.out»
The C compiler identification is GNU, found in «/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/2.8.12.2/CompilerIdC/a.out»
Compiling the CXX compiler identification source file «CMakeCXXCompilerId.cpp» succeeded.
Compiler: /usr/bin/c++
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source «CMakeCXXCompilerId.cpp» produced «a.out»
The CXX compiler identification is GNU, found in «/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out»
Determining if the C compiler works passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1360601942/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1360601942.dir/build.make CMakeFiles/cmTryCompileExec1360601942.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec1360601942 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1360601942.dir/link.txt --verbose=1 /usr/bin/cc CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o -o cmTryCompileExec1360601942 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1471148617/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1471148617.dir/build.make CMakeFiles/cmTryCompileExec1471148617.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c Linking C executable cmTryCompileExec1471148617 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1471148617.dir/link.txt --verbose=1 /usr/bin/cc -v CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec1471148617 -rdynamic Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1471148617' '-rdynamic' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec1471148617 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Parsed C implicit link information from above output:
link line regex: [^( _|._[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)]
ignore line: [Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make «cmTryCompileExec1471148617/fast»]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec1471148617.dir/build.make CMakeFiles/cmTryCompileExec1471148617.dir/build]
ignore line: [make[1]: Entering directory `/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’]
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building C object CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/cc -o CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c]
ignore line: [Linking C executable cmTryCompileExec1471148617]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1471148617.dir/link.txt —verbose=1]
ignore line: [/usr/bin/cc -v CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec1471148617 -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v —with-pkgversion=’Ubuntu 4.8.2-19ubuntu1′ —with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs —enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ —prefix=/usr —program-suffix=-4.8 —enable-shared —enable-linker-build-id —libexecdir=/usr/lib —without-included-gettext —enable-threads=posix —with-gxx-include-dir=/usr/include/c++/4.8 —libdir=/usr/lib —enable-nls —with-sysroot=/ —enable-clocale=gnu —enable-libstdcxx-debug —enable-libstdcxx-time=yes —enable-gnu-unique-object —disable-libmudflap —enable-plugin —with-system-zlib —disable-browser-plugin —enable-java-awt=gtk —enable-gtk-cairo —with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre —enable-java-home —with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 —with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 —with-arch-directory=amd64 —with-ecj-jar=/usr/share/java/eclipse-ecj.jar —enable-objc-gc —enable-multiarch —disable-werror —with-arch-32=i686 —with-abi=m64 —with-multilib-list=m32,m64,mx32 —with-tune=generic —enable-checking=release —build=x86_64-linux-gnu —host=x86_64-linux-gnu —target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS=’-v’ ‘-o’ ‘cmTryCompileExec1471148617’ ‘-rdynamic’ ‘-mtune=generic’ ‘-march=x86-64’]
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 —sysroot=/ —build-id —eh-frame-hdr -m elf_x86_64 —hash-style=gnu —as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec1471148617 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -lgcc —as-needed -lgcc_s —no-as-needed -lc -lgcc —as-needed -lgcc_s —no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
arg [—sysroot=/] ==> ignore
arg [—build-id] ==> ignore
arg [—eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [—hash-style=gnu] ==> ignore
arg [—as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec1471148617] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
arg [CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [—as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [—no-as-needed] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [—as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [—no-as-needed] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
implicit libs: [c]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Determining if the CXX compiler works passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3870665989/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3870665989.dir/build.make CMakeFiles/cmTryCompileExec3870665989.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTryCompileExec3870665989 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3870665989.dir/link.txt --verbose=1 /usr/bin/c++ CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o -o cmTryCompileExec3870665989 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3149319609/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3149319609.dir/build.make CMakeFiles/cmTryCompileExec3149319609.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp Linking CXX executable cmTryCompileExec3149319609 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3149319609.dir/link.txt --verbose=1 /usr/bin/c++ -v CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3149319609 -rdynamic Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3149319609' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3149319609 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Parsed CXX implicit link information from above output:
link line regex: [^( _|._[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)]
ignore line: [Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make «cmTryCompileExec3149319609/fast»]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec3149319609.dir/build.make CMakeFiles/cmTryCompileExec3149319609.dir/build]
ignore line: [make[1]: Entering directory `/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’]
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building CXX object CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Linking CXX executable cmTryCompileExec3149319609]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3149319609.dir/link.txt —verbose=1]
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3149319609 -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v —with-pkgversion=’Ubuntu 4.8.2-19ubuntu1′ —with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs —enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ —prefix=/usr —program-suffix=-4.8 —enable-shared —enable-linker-build-id —libexecdir=/usr/lib —without-included-gettext —enable-threads=posix —with-gxx-include-dir=/usr/include/c++/4.8 —libdir=/usr/lib —enable-nls —with-sysroot=/ —enable-clocale=gnu —enable-libstdcxx-debug —enable-libstdcxx-time=yes —enable-gnu-unique-object —disable-libmudflap —enable-plugin —with-system-zlib —disable-browser-plugin —enable-java-awt=gtk —enable-gtk-cairo —with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre —enable-java-home —with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 —with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 —with-arch-directory=amd64 —with-ecj-jar=/usr/share/java/eclipse-ecj.jar —enable-objc-gc —enable-multiarch —disable-werror —with-arch-32=i686 —with-abi=m64 —with-multilib-list=m32,m64,mx32 —with-tune=generic —enable-checking=release —build=x86_64-linux-gnu —host=x86_64-linux-gnu —target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS=’-v’ ‘-o’ ‘cmTryCompileExec3149319609’ ‘-rdynamic’ ‘-shared-libgcc’ ‘-mtune=generic’ ‘-march=x86-64’]
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 —sysroot=/ —build-id —eh-frame-hdr -m elf_x86_64 —hash-style=gnu —as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3149319609 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
arg [—sysroot=/] ==> ignore
arg [—build-id] ==> ignore
arg [—eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [—hash-style=gnu] ==> ignore
arg [—as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec3149319609] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
arg [CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
implicit libs: [stdc++;m;c]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Performing C SOURCE FILE Test TURBOJPEG_WORKS succeded with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3088257746/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3088257746.dir/build.make CMakeFiles/cmTryCompileExec3088257746.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o /usr/bin/cc -DTURBOJPEG_WORKS -o CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/src.c Linking C executable cmTryCompileExec3088257746 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3088257746.dir/link.txt --verbose=1 /usr/bin/cc -DTURBOJPEG_WORKS CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o -o cmTryCompileExec3088257746 -rdynamic -Wl,-Bstatic -lturbojpeg -Wl,-Bdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Source file was:
#include <turbojpeg.h>
int main(void) { tjhandle h=tjInitCompress(); return 0; }
Determining if the function XOpenDisplay exists in the /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1173971214/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1173971214.dir/build.make CMakeFiles/cmTryCompileExec1173971214.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=XOpenDisplay -o CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1173971214 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1173971214.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=XOpenDisplay CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o -o cmTryCompileExec1173971214 -rdynamic -lX11 -lXext make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function gethostbyname exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1850147252/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1850147252.dir/build.make CMakeFiles/cmTryCompileExec1850147252.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=gethostbyname -o CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1850147252 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1850147252.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=gethostbyname CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o -o cmTryCompileExec1850147252 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function connect exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec18625475/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec18625475.dir/build.make CMakeFiles/cmTryCompileExec18625475.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=connect -o CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec18625475 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec18625475.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=connect CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o -o cmTryCompileExec18625475 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function remove exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1490151098/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1490151098.dir/build.make CMakeFiles/cmTryCompileExec1490151098.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=remove -o CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1490151098 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1490151098.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=remove CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o -o cmTryCompileExec1490151098 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function shmat exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec2211630993/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec2211630993.dir/build.make CMakeFiles/cmTryCompileExec2211630993.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=shmat -o CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec2211630993 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2211630993.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=shmat CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o -o cmTryCompileExec2211630993 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function IceConnectionNumber exists in the ICE passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec2903442051/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec2903442051.dir/build.make CMakeFiles/cmTryCompileExec2903442051.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber -o CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec2903442051 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2903442051.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o -o cmTryCompileExec2903442051 -rdynamic -lICE make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
I’ve successfully build several 32 bit, static and Shared, libraries on Linux x86_x64 and I’m now trying to link them together to an executable and I get the following error:
/usr/bin/ld: foo.so: __moddi3: invalid version 21 (max 0)
foo.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
where foo.so is one of the shared libraries I built.
the __moddi3 function is part of the libgcc Integer Library Routines. Its signature is:
— Runtime Function: long __moddi3 (long a, long b)
And its role is to provide 64 bit arithmetic for 32 bit code.
I can’t even find the meaning of the versions of this library.
Why do I see this error now — after the library was already build?
I built all the shared libs with -fPIC and -m32 flag for compiling and linking.
The executable is CXX executable.
here’s the linker output with —verbose
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/32/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/:/lib/i386-linux-gnu/:/lib/../lib32/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib32/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/i386-linux-gnu/:/lib/:/usr/lib/i386-linux-gnu/:/usr/lib/
COLLECT_GCC_OPTIONS='-g' '-m32' '-v' '-o' '../BIN/Y' '-L/home/X/W/Y/LibTee/lib/Linux' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccM5EczN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o ../BIN/Y /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/32/crtbegin.o -L/home/X/W/Y/LibTee/lib/Linux -L/usr/lib/gcc/x86_64-linux-gnu/5/32 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32 -L/lib/i386-linux-gnu -L/lib/../lib32 -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -L/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -rpath /home/X/W/Y/LibTee/lib/Linux:/home/X/W/Y/BIN -ltee ../openssl/Lib/Linux/libssl.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcore.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcp.a ../IPP_5_3_1_064/IA32/lib/Linux/libipps.a ../BIN/libCryptoDataGen.so -lgcc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/32/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crtn.o
/usr/bin/ld: ../BIN/libCryptoDataGen.so: __moddi3: invalid version 21 (max 0)
../BIN/libCryptoDataGen.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
@xlz Below is the CMake Output log
Output Log
The system is: Linux — 3.16.0-30-generic — x86_64
Compiling the C compiler identification source file «CMakeCCompilerId.c» succeeded.
Compiler: /usr/bin/cc
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source «CMakeCCompilerId.c» produced «a.out»
The C compiler identification is GNU, found in «/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/2.8.12.2/CompilerIdC/a.out»
Compiling the CXX compiler identification source file «CMakeCXXCompilerId.cpp» succeeded.
Compiler: /usr/bin/c++
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source «CMakeCXXCompilerId.cpp» produced «a.out»
The CXX compiler identification is GNU, found in «/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out»
Determining if the C compiler works passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1360601942/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1360601942.dir/build.make CMakeFiles/cmTryCompileExec1360601942.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec1360601942 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1360601942.dir/link.txt --verbose=1 /usr/bin/cc CMakeFiles/cmTryCompileExec1360601942.dir/testCCompiler.c.o -o cmTryCompileExec1360601942 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1471148617/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1471148617.dir/build.make CMakeFiles/cmTryCompileExec1471148617.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o /usr/bin/cc -o CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c Linking C executable cmTryCompileExec1471148617 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1471148617.dir/link.txt --verbose=1 /usr/bin/cc -v CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec1471148617 -rdynamic Using built-in specs. COLLECT_GCC=/usr/bin/cc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1471148617' '-rdynamic' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec1471148617 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Parsed C implicit link information from above output:
link line regex: [^( _|._[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)]
ignore line: [Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make «cmTryCompileExec1471148617/fast»]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec1471148617.dir/build.make CMakeFiles/cmTryCompileExec1471148617.dir/build]
ignore line: [make[1]: Entering directory `/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’]
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building C object CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/cc -o CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c]
ignore line: [Linking C executable cmTryCompileExec1471148617]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1471148617.dir/link.txt —verbose=1]
ignore line: [/usr/bin/cc -v CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec1471148617 -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v —with-pkgversion=’Ubuntu 4.8.2-19ubuntu1′ —with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs —enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ —prefix=/usr —program-suffix=-4.8 —enable-shared —enable-linker-build-id —libexecdir=/usr/lib —without-included-gettext —enable-threads=posix —with-gxx-include-dir=/usr/include/c++/4.8 —libdir=/usr/lib —enable-nls —with-sysroot=/ —enable-clocale=gnu —enable-libstdcxx-debug —enable-libstdcxx-time=yes —enable-gnu-unique-object —disable-libmudflap —enable-plugin —with-system-zlib —disable-browser-plugin —enable-java-awt=gtk —enable-gtk-cairo —with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre —enable-java-home —with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 —with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 —with-arch-directory=amd64 —with-ecj-jar=/usr/share/java/eclipse-ecj.jar —enable-objc-gc —enable-multiarch —disable-werror —with-arch-32=i686 —with-abi=m64 —with-multilib-list=m32,m64,mx32 —with-tune=generic —enable-checking=release —build=x86_64-linux-gnu —host=x86_64-linux-gnu —target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS=’-v’ ‘-o’ ‘cmTryCompileExec1471148617’ ‘-rdynamic’ ‘-mtune=generic’ ‘-march=x86-64’]
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 —sysroot=/ —build-id —eh-frame-hdr -m elf_x86_64 —hash-style=gnu —as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec1471148617 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o -lgcc —as-needed -lgcc_s —no-as-needed -lc -lgcc —as-needed -lgcc_s —no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
arg [—sysroot=/] ==> ignore
arg [—build-id] ==> ignore
arg [—eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [—hash-style=gnu] ==> ignore
arg [—as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec1471148617] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
arg [CMakeFiles/cmTryCompileExec1471148617.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [—as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [—no-as-needed] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [—as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [—no-as-needed] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
implicit libs: [c]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Determining if the CXX compiler works passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3870665989/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3870665989.dir/build.make CMakeFiles/cmTryCompileExec3870665989.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/testCXXCompiler.cxx Linking CXX executable cmTryCompileExec3870665989 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3870665989.dir/link.txt --verbose=1 /usr/bin/c++ CMakeFiles/cmTryCompileExec3870665989.dir/testCXXCompiler.cxx.o -o cmTryCompileExec3870665989 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3149319609/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3149319609.dir/build.make CMakeFiles/cmTryCompileExec3149319609.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building CXX object CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o /usr/bin/c++ -o CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp Linking CXX executable cmTryCompileExec3149319609 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3149319609.dir/link.txt --verbose=1 /usr/bin/c++ -v CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3149319609 -rdynamic Using built-in specs. COLLECT_GCC=/usr/bin/c++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec3149319609' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3149319609 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Parsed CXX implicit link information from above output:
link line regex: [^( _|._[/])(ld|([^/]+-)?ld|collect2)[^/]*( |$)]
ignore line: [Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make «cmTryCompileExec3149319609/fast»]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec3149319609.dir/build.make CMakeFiles/cmTryCompileExec3149319609.dir/build]
ignore line: [make[1]: Entering directory `/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’]
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building CXX object CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Linking CXX executable cmTryCompileExec3149319609]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3149319609.dir/link.txt —verbose=1]
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec3149319609 -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v —with-pkgversion=’Ubuntu 4.8.2-19ubuntu1′ —with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs —enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ —prefix=/usr —program-suffix=-4.8 —enable-shared —enable-linker-build-id —libexecdir=/usr/lib —without-included-gettext —enable-threads=posix —with-gxx-include-dir=/usr/include/c++/4.8 —libdir=/usr/lib —enable-nls —with-sysroot=/ —enable-clocale=gnu —enable-libstdcxx-debug —enable-libstdcxx-time=yes —enable-gnu-unique-object —disable-libmudflap —enable-plugin —with-system-zlib —disable-browser-plugin —enable-java-awt=gtk —enable-gtk-cairo —with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre —enable-java-home —with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 —with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 —with-arch-directory=amd64 —with-ecj-jar=/usr/share/java/eclipse-ecj.jar —enable-objc-gc —enable-multiarch —disable-werror —with-arch-32=i686 —with-abi=m64 —with-multilib-list=m32,m64,mx32 —with-tune=generic —enable-checking=release —build=x86_64-linux-gnu —host=x86_64-linux-gnu —target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS=’-v’ ‘-o’ ‘cmTryCompileExec3149319609’ ‘-rdynamic’ ‘-shared-libgcc’ ‘-mtune=generic’ ‘-march=x86-64’]
link line: [ /usr/lib/gcc/x86_64-linux-gnu/4.8/collect2 —sysroot=/ —build-id —eh-frame-hdr -m elf_x86_64 —hash-style=gnu —as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -z relro -o cmTryCompileExec3149319609 /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/collect2] ==> ignore
arg [—sysroot=/] ==> ignore
arg [—build-id] ==> ignore
arg [—eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [—hash-style=gnu] ==> ignore
arg [—as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec3149319609] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..]
arg [CMakeFiles/cmTryCompileExec3149319609.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o] ==> ignore
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8] ==> [/usr/lib/gcc/x86_64-linux-gnu/4.8]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/4.8/../../..] ==> [/usr/lib]
implicit libs: [stdc++;m;c]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/4.8;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Performing C SOURCE FILE Test TURBOJPEG_WORKS succeded with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec3088257746/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec3088257746.dir/build.make CMakeFiles/cmTryCompileExec3088257746.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o /usr/bin/cc -DTURBOJPEG_WORKS -o CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o -c /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/src.c Linking C executable cmTryCompileExec3088257746 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3088257746.dir/link.txt --verbose=1 /usr/bin/cc -DTURBOJPEG_WORKS CMakeFiles/cmTryCompileExec3088257746.dir/src.c.o -o cmTryCompileExec3088257746 -rdynamic -Wl,-Bstatic -lturbojpeg -Wl,-Bdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Source file was:
#include <turbojpeg.h>
int main(void) { tjhandle h=tjInitCompress(); return 0; }
Determining if the function XOpenDisplay exists in the /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1173971214/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1173971214.dir/build.make CMakeFiles/cmTryCompileExec1173971214.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=XOpenDisplay -o CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1173971214 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1173971214.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=XOpenDisplay CMakeFiles/cmTryCompileExec1173971214.dir/CheckFunctionExists.c.o -o cmTryCompileExec1173971214 -rdynamic -lX11 -lXext make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function gethostbyname exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1850147252/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1850147252.dir/build.make CMakeFiles/cmTryCompileExec1850147252.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=gethostbyname -o CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1850147252 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1850147252.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=gethostbyname CMakeFiles/cmTryCompileExec1850147252.dir/CheckFunctionExists.c.o -o cmTryCompileExec1850147252 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function connect exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec18625475/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec18625475.dir/build.make CMakeFiles/cmTryCompileExec18625475.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=connect -o CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec18625475 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec18625475.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=connect CMakeFiles/cmTryCompileExec18625475.dir/CheckFunctionExists.c.o -o cmTryCompileExec18625475 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function remove exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec1490151098/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec1490151098.dir/build.make CMakeFiles/cmTryCompileExec1490151098.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=remove -o CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec1490151098 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1490151098.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=remove CMakeFiles/cmTryCompileExec1490151098.dir/CheckFunctionExists.c.o -o cmTryCompileExec1490151098 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function shmat exists passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec2211630993/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec2211630993.dir/build.make CMakeFiles/cmTryCompileExec2211630993.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=shmat -o CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec2211630993 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2211630993.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=shmat CMakeFiles/cmTryCompileExec2211630993.dir/CheckFunctionExists.c.o -o cmTryCompileExec2211630993 -rdynamic make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
Determining if the function IceConnectionNumber exists in the ICE passed with the following output:
Change Dir: /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp
Run Build Command:/usr/bin/make «cmTryCompileExec2903442051/fast»
/usr/bin/make -f CMakeFiles/cmTryCompileExec2903442051.dir/build.make CMakeFiles/cmTryCompileExec2903442051.dir/build
make[1]: Entering directory /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp' /usr/bin/cmake -E cmake_progress_report /home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o /usr/bin/cc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber -o CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec2903442051 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2903442051.dir/link.txt --verbose=1 /usr/bin/cc -DCHECK_FUNCTION_EXISTS=IceConnectionNumber CMakeFiles/cmTryCompileExec2903442051.dir/CheckFunctionExists.c.o -o cmTryCompileExec2903442051 -rdynamic -lICE make[1]: Leaving directory
/home/sebastian/libfreenect2/examples/protonect/CMakeFiles/CMakeTmp’
AcroMan 0 / 0 / 0 Регистрация: 23.10.2017 Сообщений: 14 |
||||||||||||
1 |
||||||||||||
09.07.2018, 13:43. Показов 6168. Ответов 3 Метки c, core, шаблоны (Все метки)
При выполнении команды:
Выдает ошибку:
Понимаю что ошибка в коде, помогите ее найти
__________________ 0 |
zss Модератор 12627 / 10125 / 6097 Регистрация: 18.12.2011 Сообщений: 27,158 |
||||||||
09.07.2018, 14:36 |
2 |
|||||||
Сообщение было отмечено AcroMan как решение РешениеОшибок компиляции нет Есть ошибки исполнения *array = new int[aa];
1 |
Electroflower Shiningemerald 384 / 117 / 22 Регистрация: 05.01.2012 Сообщений: 951 |
||||
09.07.2018, 16:44 |
3 |
|||
тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение:
cout << «Введите » << a << «-ю строку: » << endl; Добавлено через 5 минут
0 |
0 / 0 / 0 Регистрация: 23.10.2017 Сообщений: 14 |
|
09.07.2018, 18:45 [ТС] |
4 |
тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение: После запуска кода я сразу это пофиксил) 0 |
Im trying to make mbuni in ubuntu 16.04, but im following their standard documentation , im executing the following command
cd mbuni-version
./bootstrap
./configure --with-cflags=-fPIC --enable-shared
make install
but still getting the following error :
/bin/bash ../libtool --mode=link --tag=CC gcc -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -O4 -Wall -D_REENTRANT=1 -fPIC -D_LARGE_FILES= -I/usr/local/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -fPIC -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -rdynamic -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl -o libmms.la -rpath /usr/local/lib mms_eventlogger.lo mms_mmbox.lo mms_msg.lo mms_queue.lo mms_strings.lo mms_uaprof.lo mms_util.lo mms_mm7soap.lo mms_cfg.lo -lwap -lgwlib -lpthread -ldl -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl
libtool: link: gcc -shared -fPIC -DPIC .libs/mms_eventlogger.o .libs/mms_mmbox.o .libs/mms_msg.o .libs/mms_queue.o .libs/mms_strings.o .libs/mms_uaprof.o .libs/mms_util.o .libs/mms_mm7soap.o .libs/mms_cfg.o -L/usr/local/lib/kannel -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -ldl -lgw -lwap -lgwlib -lrt -lresolv -lnsl -lm -lpthread -lxml2 -lcrypto -lssl -g -O2 -O4 -g -O2 -Wl,-soname -Wl,libmms.so.0 -o .libs/libmms.so.0.0.0
/usr/bin/ld: /usr/local/lib/kannel/libwap.a(wsp_headers.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/kannel/libwap.a: error adding symbols: Bad value
what to do to get around the error to make and install properly ?
asked Jan 24, 2018 at 11:36
2
Here’s quick workaround helped me with compiling Mbuni for Ubuntu 16.04
# NOTE : It's just a quick recipe that not verified in real production
#
# Compile and install Kannel 1.5.0
#
tar jvxf gateway-1.5.0.tar.bz2
cd ./gateway-1.5.0
./configure --prefix=/usr/local/kannel
make
make install
#
# Compile and install Mbuni 1.6.0
#
cd ..
tar zvxf mbuni-1.6.0.tar.gz
cd mbuni-1.6.0
./configure --prefix=/usr/local/mbuni --with-kannel-dir=/usr/local/kannel --disable-shared
make
make install
I got similar error when compiled mbuni without —disable-shared option.
answered Feb 20, 2018 at 4:10
Im trying to make mbuni in ubuntu 16.04, but im following their standard documentation , im executing the following command
cd mbuni-version
./bootstrap
./configure --with-cflags=-fPIC --enable-shared
make install
but still getting the following error :
/bin/bash ../libtool --mode=link --tag=CC gcc -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -O4 -Wall -D_REENTRANT=1 -fPIC -D_LARGE_FILES= -I/usr/local/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -fPIC -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -rdynamic -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl -o libmms.la -rpath /usr/local/lib mms_eventlogger.lo mms_mmbox.lo mms_msg.lo mms_queue.lo mms_strings.lo mms_uaprof.lo mms_util.lo mms_mm7soap.lo mms_cfg.lo -lwap -lgwlib -lpthread -ldl -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl
libtool: link: gcc -shared -fPIC -DPIC .libs/mms_eventlogger.o .libs/mms_mmbox.o .libs/mms_msg.o .libs/mms_queue.o .libs/mms_strings.o .libs/mms_uaprof.o .libs/mms_util.o .libs/mms_mm7soap.o .libs/mms_cfg.o -L/usr/local/lib/kannel -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -ldl -lgw -lwap -lgwlib -lrt -lresolv -lnsl -lm -lpthread -lxml2 -lcrypto -lssl -g -O2 -O4 -g -O2 -Wl,-soname -Wl,libmms.so.0 -o .libs/libmms.so.0.0.0
/usr/bin/ld: /usr/local/lib/kannel/libwap.a(wsp_headers.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/kannel/libwap.a: error adding symbols: Bad value
what to do to get around the error to make and install properly ?
asked Jan 24, 2018 at 11:36
2
Here’s quick workaround helped me with compiling Mbuni for Ubuntu 16.04
# NOTE : It's just a quick recipe that not verified in real production
#
# Compile and install Kannel 1.5.0
#
tar jvxf gateway-1.5.0.tar.bz2
cd ./gateway-1.5.0
./configure --prefix=/usr/local/kannel
make
make install
#
# Compile and install Mbuni 1.6.0
#
cd ..
tar zvxf mbuni-1.6.0.tar.gz
cd mbuni-1.6.0
./configure --prefix=/usr/local/mbuni --with-kannel-dir=/usr/local/kannel --disable-shared
make
make install
I got similar error when compiled mbuni without —disable-shared option.
answered Feb 20, 2018 at 4:10
So, I found the solution. Итак, я нашел решение. The problem was: Проблема заключалась в следующем:
I built a shared library — foo.so. Я создал общую библиотеку — foo.so. foo was linked with some static libraries. foo был связан с некоторыми статическими библиотеками. I found that a lot of them included the __moddi3 function along with more libgcc stuff. Я обнаружил, что многие из них включают функцию __moddi3 вместе с другими вещами libgcc.
I was trying to link foo.so to an executable bar. Я пытался связать foo.so с исполняемой панелью. bar also linked against static libraries and a lot of them also included the __moddi3 function along with more libgcc stuff. bar также связан со статическими библиотеками, и многие из них также включают функцию __moddi3 вместе с другими материалами libgcc.
The problem was that foo.so exported symbols it took from the static libraries — the __moddi3 function was among those symbols. Проблема заключалась в том, что foo.so экспортировал символы, взятые из статических библиотек — среди этих символов была функция __moddi3. See here a detailed cover of the scenario . Смотрите здесь подробную обложку сценария . So apparently what happened is that the executable took some libgcc stuff that weren’t compatible with the __moddi3 function version that was exported by foo, Then when the linker encountered the __moddi3 version — It raised an error about me trying to link incompatible versions. Итак, очевидно, что произошло, так это то, что исполняемый файл взял некоторые материалы libgcc, которые не были совместимы с версией функции __moddi3, которая была экспортирована foo. Затем, когда компоновщик обнаружил версию __moddi3, он поднял ошибку о том, что я пытался связать несовместимые версии.
The Solution is given in the previous link. Решение дано по предыдущей ссылке. The way to deal with this is to use an export list in which you tell the compiler to export wanted symbols and hide all other symbols (using wildcard *). Способ справиться с этим — использовать список экспорта, в котором вы указываете компилятору экспортировать нужные символы и скрывать все остальные символы (используя подстановочный знак *).
Since I’m using CMake — I added -Wl,--version-script,exportmap
to set_target_properties(foo PROPERTIES LINK_FLAGS
. Поскольку я использую CMake, я добавил -Wl,--version-script,exportmap
к set_target_properties(foo PROPERTIES LINK_FLAGS
. ‘exportmap’ is the name of my export list file. ‘exportmap’ — это имя моего файла списка экспорта. It’s in the format of: Он в формате:
{
global:
func_1;
func_2;
func_3;
local:
*;
}
If you’re not using CMake add -Wl,--version-script,exportmap
to C_FLAGS
or CXX_FLAGS
in the makefile. Если вы не используете CMake, добавьте -Wl,--version-script,exportmap
в C_FLAGS
или CXX_FLAGS
в make-файле.
use readelf -Ws foo.so
to see your export symbols table. используйте readelf -Ws foo.so
, чтобы просмотреть таблицу символов экспорта.
Here’s another good read on the subject . Вот еще хорошее чтение на эту тему .
en
I also encountered this issue. Я также столкнулся с этой проблемой. In my case, it was because my student forgot a -c
tag when compiling an object. В моем случае это произошло потому, что мой ученик забыл тег -c
при компиляции объекта.
The student had У студента было
gcc mySource.c -o myObject.o
but it should have been но это должно было быть
gcc -c mySource.c -o myObject.o
instead. вместо.
en
Я успешно создал несколько 32-битных, статических и общих библиотек в Linux x86_x64, и сейчас я пытаюсь связать их вместе с исполняемым файлом, и я получаю следующую ошибку:
/usr/bin/ld: foo.so: __moddi3: invalid version 21 (max 0)
foo.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
где foo.so — одна из общих библиотек, которые я создал.
функция __moddi3 является частью Библиотека целочисленных библиотек libgcc. Его подпись:
— Runtime Function: long __moddi3 (long a, long b)
И его правило заключается в предоставлении 64-битной арифметики для 32-битного кода.
Я даже не могу найти значение версий этой библиотеки.
Почему я вижу эту ошибку сейчас — после того, как библиотека уже была собрана?
Я построил все общие библиотеки с -ППИЦ а также -m32 флаг для компиляции и компоновки.
Исполняемый файл является исполняемым CXX.
вот вывод компоновщика с —verbose
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/32/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/:/lib/i386-linux-gnu/:/lib/../lib32/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib32/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/i386-linux-gnu/:/lib/:/usr/lib/i386-linux-gnu/:/usr/lib/
COLLECT_GCC_OPTIONS='-g' '-m32' '-v' '-o' '../BIN/Y' '-L/home/X/W/Y/LibTee/lib/Linux' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccM5EczN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o ../BIN/Y /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/32/crtbegin.o -L/home/X/W/Y/LibTee/lib/Linux -L/usr/lib/gcc/x86_64-linux-gnu/5/32 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32 -L/lib/i386-linux-gnu -L/lib/../lib32 -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -L/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -rpath /home/X/W/Y/LibTee/lib/Linux:/home/X/W/Y/BIN -ltee ../openssl/Lib/Linux/libssl.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcore.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcp.a ../IPP_5_3_1_064/IA32/lib/Linux/libipps.a ../BIN/libCryptoDataGen.so -lgcc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/32/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crtn.o
/usr/bin/ld: ../BIN/libCryptoDataGen.so: __moddi3: invalid version 21 (max 0)
../BIN/libCryptoDataGen.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
6
Решение
Итак, я нашел решение. Проблема была:
Я построил общую библиотеку — foo.so. Foo был связан с некоторыми статическими
библиотеки. Я обнаружил, что многие из них включали функцию __moddi3
наряду с большим количеством материала libgcc.
Я пытался связать foo.so с исполняемой панелью. бар также связан со статическими библиотеками, и многие из них также включали
Функция __moddi3 вместе с дополнительным материалом libgcc.
Проблема заключалась в том, что foo.so экспортировал символы, которые он взял из статических библиотек — функция __moddi3 была среди этих символов. Смотрите здесь подробное покрытие сценария. Итак, очевидно, что случилось то, что
исполняемый файл занял некоторые вещи libgcc, которые не были совместимы с
Версия функции __moddi3, которая была экспортирована foo, Затем, когда компоновщик обнаружил версию __moddi3 — возникла ошибка
я пытаюсь связать несовместимые версии.
Решение дано в предыдущей ссылке. Чтобы справиться с этим, используйте список экспорта, в котором вы указываете компилятору экспортировать нужные символы и скрывать все остальные символы (используя подстановочные знаки *).
Так как я использую CMake — я добавил -Wl,--version-script,exportmap
в set_target_properties(foo PROPERTIES LINK_FLAGS
, ‘exportmap’ — это имя моего файла списка экспорта. Это в формате:
{
global:
func_1;
func_2;
func_3;
local:
*;
}
Если вы не используете CMake добавить -Wl,--version-script,exportmap
в C_FLAGS
или же CXX_FLAGS
в make-файле.
использование readelf -Ws foo.so
чтобы увидеть вашу таблицу символов экспорта.
Вот еще одна хорошая статья на эту тему..
6
Другие решения
Других решений пока нет …
I was building GHC to get more libraries than the default installation the Arch repos give, but I managed to do something to the system which makes the initial configure fail on a clean copy of the source:
:~/tmp$ tar -xvf ghc-7.10.2-src.tar.xz
...
:~/tmp$ cd ghc-7.10.2
:~/tmp/ghc-7.10.2$ ./configure --prefix=`pwd`/inst
checking for gfind... no
checking for find... /usr/bin/find
checking for sort... /usr/bin/sort
checking for GHC Git commit id... given 0da488c4438d88c9252e0b860426b8e74b5fc9e8
checking for ghc... /usr/local/bin/ghc
checking version of ghc... 7.10.2
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Build platform inferred as: x86_64-unknown-linux
Host platform inferred as: x86_64-unknown-linux
Target platform inferred as: x86_64-unknown-linux
GHC build : x86_64-unknown-linux
GHC host : x86_64-unknown-linux
GHC target : x86_64-unknown-linux
configure: Building in-tree ghc-pwd
/usr/bin/ld: utils/ghc-pwd/dist-boot/Main.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
utils/ghc-pwd/dist-boot/Main.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
configure: error: Building ghc-pwd failed
What could I have done to the system? I can only remember doing a sudo make install
(before deciding I wanted a user-land install as in the command line above) after getting it to build once, but the error is a ld
error not a ghc
error…
asked Nov 4, 2015 at 17:55
I was only looking in /usr/local/lib
and /usr/local/bin
for ghc
stuff to purge, but it seems the make install
actually installed things here:
/usr/local/haskell/ghc-7.10.2-x86_64
After removing this directory and reinstalling the repo version of ghc
, the configure error goes away. A useful command for me in finding this directory was:
sudo updatedb && (locate ghc | cut -f1-4 -d'/' | sort | uniq)
answered Nov 4, 2015 at 18:50
cronburgcronburg
6761 gold badge7 silver badges14 bronze badges
I was building GHC to get more libraries than the default installation the Arch repos give, but I managed to do something to the system which makes the initial configure fail on a clean copy of the source:
:~/tmp$ tar -xvf ghc-7.10.2-src.tar.xz
...
:~/tmp$ cd ghc-7.10.2
:~/tmp/ghc-7.10.2$ ./configure --prefix=`pwd`/inst
checking for gfind... no
checking for find... /usr/bin/find
checking for sort... /usr/bin/sort
checking for GHC Git commit id... given 0da488c4438d88c9252e0b860426b8e74b5fc9e8
checking for ghc... /usr/local/bin/ghc
checking version of ghc... 7.10.2
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
Build platform inferred as: x86_64-unknown-linux
Host platform inferred as: x86_64-unknown-linux
Target platform inferred as: x86_64-unknown-linux
GHC build : x86_64-unknown-linux
GHC host : x86_64-unknown-linux
GHC target : x86_64-unknown-linux
configure: Building in-tree ghc-pwd
/usr/bin/ld: utils/ghc-pwd/dist-boot/Main.o: relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
utils/ghc-pwd/dist-boot/Main.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
configure: error: Building ghc-pwd failed
What could I have done to the system? I can only remember doing a sudo make install
(before deciding I wanted a user-land install as in the command line above) after getting it to build once, but the error is a ld
error not a ghc
error…
asked Nov 4, 2015 at 17:55
I was only looking in /usr/local/lib
and /usr/local/bin
for ghc
stuff to purge, but it seems the make install
actually installed things here:
/usr/local/haskell/ghc-7.10.2-x86_64
After removing this directory and reinstalling the repo version of ghc
, the configure error goes away. A useful command for me in finding this directory was:
sudo updatedb && (locate ghc | cut -f1-4 -d'/' | sort | uniq)
answered Nov 4, 2015 at 18:50
cronburgcronburg
6761 gold badge7 silver badges14 bronze badges
-
сервер
php, mysql, nginx, centos -
клиент
js, jquery, react -
клиент-сервер
ajax, fetch, node.js -
вёрстка
css, html
Решение для исключения ошибки при валидации W3c на сайте с несколькими подключёнными шрифтами Google Fonts через тег link.
// Подключение нескольких шрифтов с Google Fonts таким способом вызовет ошибку при валидации W3C <link href="https://fonts.googleapis.com/css?family=Ubuntu:400|Kurale&subset=latin" rel="stylesheet" type="text/css"/> // Ошибка при валидации W3C Bad value "https://fonts.googleapis.com/css?family=Ubuntu:400|Kurale&subset=latin" for attribute href on element link: Illegal character in query: | is not allowed. // Решение: замена символа | на %7C <link href="https://fonts.googleapis.com/css?family=Ubuntu:400%7CKurale&subset=latin" rel="stylesheet" type="text/css"/>
Вёрстка
21.07.2017
up: 14.11.2019
3.3 г.
просмотров: 7.6k
- Сниппеты
- —
- Дизайн и вёрстка
- —
- Валидация W3C
Im trying to make mbuni in ubuntu 16.04, but im following their standard documentation , im executing the following command
cd mbuni-version
./bootstrap
./configure --with-cflags=-fPIC --enable-shared
make install
but still getting the following error :
/bin/bash ../libtool --mode=link --tag=CC gcc -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -O4 -Wall -D_REENTRANT=1 -fPIC -D_LARGE_FILES= -I/usr/local/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -fPIC -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -rdynamic -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl -o libmms.la -rpath /usr/local/lib mms_eventlogger.lo mms_mmbox.lo mms_msg.lo mms_queue.lo mms_strings.lo mms_uaprof.lo mms_util.lo mms_mm7soap.lo mms_cfg.lo -lwap -lgwlib -lpthread -ldl -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl
libtool: link: gcc -shared -fPIC -DPIC .libs/mms_eventlogger.o .libs/mms_mmbox.o .libs/mms_msg.o .libs/mms_queue.o .libs/mms_strings.o .libs/mms_uaprof.o .libs/mms_util.o .libs/mms_mm7soap.o .libs/mms_cfg.o -L/usr/local/lib/kannel -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -ldl -lgw -lwap -lgwlib -lrt -lresolv -lnsl -lm -lpthread -lxml2 -lcrypto -lssl -g -O2 -O4 -g -O2 -Wl,-soname -Wl,libmms.so.0 -o .libs/libmms.so.0.0.0
/usr/bin/ld: /usr/local/lib/kannel/libwap.a(wsp_headers.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/kannel/libwap.a: error adding symbols: Bad value
what to do to get around the error to make and install properly ?
asked Jan 24, 2018 at 11:36
2
Here’s quick workaround helped me with compiling Mbuni for Ubuntu 16.04
# NOTE : It's just a quick recipe that not verified in real production
#
# Compile and install Kannel 1.5.0
#
tar jvxf gateway-1.5.0.tar.bz2
cd ./gateway-1.5.0
./configure --prefix=/usr/local/kannel
make
make install
#
# Compile and install Mbuni 1.6.0
#
cd ..
tar zvxf mbuni-1.6.0.tar.gz
cd mbuni-1.6.0
./configure --prefix=/usr/local/mbuni --with-kannel-dir=/usr/local/kannel --disable-shared
make
make install
I got similar error when compiled mbuni without —disable-shared option.
answered Feb 20, 2018 at 4:10
Im trying to make mbuni in ubuntu 16.04, but im following their standard documentation , im executing the following command
cd mbuni-version
./bootstrap
./configure --with-cflags=-fPIC --enable-shared
make install
but still getting the following error :
/bin/bash ../libtool --mode=link --tag=CC gcc -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -O4 -Wall -D_REENTRANT=1 -fPIC -D_LARGE_FILES= -I/usr/local/include/kannel -g -O2 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -fPIC -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -rdynamic -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl -o libmms.la -rpath /usr/local/lib mms_eventlogger.lo mms_mmbox.lo mms_msg.lo mms_queue.lo mms_strings.lo mms_uaprof.lo mms_util.lo mms_mm7soap.lo mms_cfg.lo -lwap -lgwlib -lpthread -ldl -L/usr/local/lib/kannel -lgw -lwap -lgwlib -lssl -lrt -lresolv -lnsl -lm -lpthread -lxml2 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -lcrypto -lssl
libtool: link: gcc -shared -fPIC -DPIC .libs/mms_eventlogger.o .libs/mms_mmbox.o .libs/mms_msg.o .libs/mms_queue.o .libs/mms_strings.o .libs/mms_uaprof.o .libs/mms_util.o .libs/mms_mm7soap.o .libs/mms_cfg.o -L/usr/local/lib/kannel -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -ldl -lgw -lwap -lgwlib -lrt -lresolv -lnsl -lm -lpthread -lxml2 -lcrypto -lssl -g -O2 -O4 -g -O2 -Wl,-soname -Wl,libmms.so.0 -o .libs/libmms.so.0.0.0
/usr/bin/ld: /usr/local/lib/kannel/libwap.a(wsp_headers.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/kannel/libwap.a: error adding symbols: Bad value
what to do to get around the error to make and install properly ?
asked Jan 24, 2018 at 11:36
2
Here’s quick workaround helped me with compiling Mbuni for Ubuntu 16.04
# NOTE : It's just a quick recipe that not verified in real production
#
# Compile and install Kannel 1.5.0
#
tar jvxf gateway-1.5.0.tar.bz2
cd ./gateway-1.5.0
./configure --prefix=/usr/local/kannel
make
make install
#
# Compile and install Mbuni 1.6.0
#
cd ..
tar zvxf mbuni-1.6.0.tar.gz
cd mbuni-1.6.0
./configure --prefix=/usr/local/mbuni --with-kannel-dir=/usr/local/kannel --disable-shared
make
make install
I got similar error when compiled mbuni without —disable-shared option.
answered Feb 20, 2018 at 4:10
Я успешно создал несколько 32-битных, статических и общих библиотек в Linux x86_x64, и сейчас я пытаюсь связать их вместе с исполняемым файлом, и я получаю следующую ошибку:
/usr/bin/ld: foo.so: __moddi3: invalid version 21 (max 0)
foo.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
где foo.so — одна из общих библиотек, которые я создал.
функция __moddi3 является частью Библиотека целочисленных библиотек libgcc. Его подпись:
— Runtime Function: long __moddi3 (long a, long b)
И его правило заключается в предоставлении 64-битной арифметики для 32-битного кода.
Я даже не могу найти значение версий этой библиотеки.
Почему я вижу эту ошибку сейчас — после того, как библиотека уже была собрана?
Я построил все общие библиотеки с -ППИЦ а также -m32 флаг для компиляции и компоновки.
Исполняемый файл является исполняемым CXX.
вот вывод компоновщика с —verbose
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.4' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/32/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/:/lib/i386-linux-gnu/:/lib/../lib32/:/usr/lib/i386-linux-gnu/:/usr/lib/../lib32/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/i386-linux-gnu/:/lib/:/usr/lib/i386-linux-gnu/:/usr/lib/
COLLECT_GCC_OPTIONS='-g' '-m32' '-v' '-o' '../BIN/Y' '-L/home/X/W/Y/LibTee/lib/Linux' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/ccM5EczN.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o ../BIN/Y /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crt1.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/32/crtbegin.o -L/home/X/W/Y/LibTee/lib/Linux -L/usr/lib/gcc/x86_64-linux-gnu/5/32 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32 -L/lib/i386-linux-gnu -L/lib/../lib32 -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib32 -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../i386-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -L/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -rpath /home/X/W/Y/LibTee/lib/Linux:/home/X/W/Y/BIN -ltee ../openssl/Lib/Linux/libssl.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcore.a ../IPP_5_3_1_064/IA32/lib/Linux/libippcp.a ../IPP_5_3_1_064/IA32/lib/Linux/libipps.a ../BIN/libCryptoDataGen.so -lgcc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/5/32/crtend.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib32/crtn.o
/usr/bin/ld: ../BIN/libCryptoDataGen.so: __moddi3: invalid version 21 (max 0)
../BIN/libCryptoDataGen.so: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
6
Решение
Итак, я нашел решение. Проблема была:
Я построил общую библиотеку — foo.so. Foo был связан с некоторыми статическими
библиотеки. Я обнаружил, что многие из них включали функцию __moddi3
наряду с большим количеством материала libgcc.
Я пытался связать foo.so с исполняемой панелью. бар также связан со статическими библиотеками, и многие из них также включали
Функция __moddi3 вместе с дополнительным материалом libgcc.
Проблема заключалась в том, что foo.so экспортировал символы, которые он взял из статических библиотек — функция __moddi3 была среди этих символов. Смотрите здесь подробное покрытие сценария. Итак, очевидно, что случилось то, что
исполняемый файл занял некоторые вещи libgcc, которые не были совместимы с
Версия функции __moddi3, которая была экспортирована foo, Затем, когда компоновщик обнаружил версию __moddi3 — возникла ошибка
я пытаюсь связать несовместимые версии.
Решение дано в предыдущей ссылке. Чтобы справиться с этим, используйте список экспорта, в котором вы указываете компилятору экспортировать нужные символы и скрывать все остальные символы (используя подстановочные знаки *).
Так как я использую CMake — я добавил -Wl,--version-script,exportmap
в set_target_properties(foo PROPERTIES LINK_FLAGS
, ‘exportmap’ — это имя моего файла списка экспорта. Это в формате:
{
global:
func_1;
func_2;
func_3;
local:
*;
}
Если вы не используете CMake добавить -Wl,--version-script,exportmap
в C_FLAGS
или же CXX_FLAGS
в make-файле.
использование readelf -Ws foo.so
чтобы увидеть вашу таблицу символов экспорта.
Вот еще одна хорошая статья на эту тему..
6
Другие решения
Других решений пока нет …