Ошибка добавления символов bad value

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

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, шаблоны (Все метки)


При выполнении команды:

Bash
1
$ g++ -o -Wall Rab3 ./Rab3.cpp

Выдает ошибку:

Bash
1
2
3
/usr/bin/x86_64-linux-gnu-ld: Rab3: _ZSt4cout: invalid version 2 (max 0)
Rab3: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

Понимаю что ошибка в коде, помогите ее найти

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include "time.h"
#include <string>
 
using namespace std;
 
template <typename T>
class Matrix
{
    int a;
    int b;
    T **array;
public:
    Matrix(int aa = 1, int bb = 1)
    {
        a = aa;
        b = bb;
        *array = new int[aa];
    for (int count = 0; count < aa; count++)
        array[count] = new  T[bb];
    }
    ~Matrix()
    {
        delete []array;
    }
    void DataSizeOf()
    {
        cout << "Size of Massive: " << sizeof(array);
    }
    void PrintArray()
    {
        cout << "Massive: " << endl;
        for (int i = 0; i < a; i++)
        {
            for (int j = 0; j < b; j++)
            cout << array [i][j] << "t";
        cout << "n";
        }
        cout << endl;
    }
    void ReadArray()
    {
        for (int i = 0; i < a; i++)
        {
        cout << "Введите " << a << "-ю строку: " << endl;
            for (int j = 0; j < b; j++)
            {
                cin >> array[i][j];
            }
        }
    }
};
 
int main()
{
    Matrix <int> TestArray(2, 2);
    TestArray.ReadArray();
    TestArray.PrintArray();
 
    return 0;
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

zss

Модератор

Эксперт С++

12627 / 10125 / 6097

Регистрация: 18.12.2011

Сообщений: 27,158

09.07.2018, 14:36

2

Лучший ответ Сообщение было отмечено AcroMan как решение

Решение

Ошибок компиляции нет

Есть ошибки исполнения

*array = new int[aa];

C++
1
        array = new T*[aa];
C++
1
2
3
4
5
6
     ~Matrix()
    {
        for (int count = 0; count < a; count++)
           delete[] array[count];
       delete[] array;
    }

1

Electroflower

Shiningemerald

384 / 117 / 22

Регистрация: 05.01.2012

Сообщений: 951

09.07.2018, 16:44

3

тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение:

Цитата
Сообщение от AcroMan
Посмотреть сообщение

cout << «Введите » << a << «-ю строку: » << endl;

Добавлено через 5 минут
Еще у меня своеобразная аллергия на определение функций внутри класса, но это уже мои тараканы, скорее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include "time.h"
#include <string>
 
using namespace std;
 
template <typename T>
class Matrix
{
private:
    int a;
    int b;
    T **array;
public:
    Matrix (int aa = 1, int bb = 1);
    ~Matrix(); 
    void PrintArray();
    void ReadArray();
};
 
 
template <typename T> Matrix <T>:: Matrix (int aa, int bb)
{
    a = aa;
    b = bb;
    array = new T*[aa];
    for (int i = 0; i < aa; i++)
        array[i] = new  T[bb];
}
 
template <typename T> Matrix <T>::~Matrix()
{
    for (int i = 0; i<a; i++){ delete[]array[i]; }
    delete[]array;
 }
 
 
template<typename T>
void Matrix<T>::PrintArray()
{
    cout << "Massive: " << endl;
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < b; j++)
            cout << array[i][j] << "t";
        cout << "n";
    }
    cout << endl;
}
 
template<typename T>
void Matrix<T>::ReadArray()
{
    for (int i = 0; i < a; i++)
    {
        cout << "Введите " << i << "-ю строку: " << endl;
        for (int j = 0; j < b; j++)
        {
            cin >> array[i][j];
        }
    }
}
 
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    Matrix <int> TestArray(3, 4);
    TestArray.ReadArray();
    TestArray.PrintArray();
 
    return 0;
}

0

0 / 0 / 0

Регистрация: 23.10.2017

Сообщений: 14

09.07.2018, 18:45

 [ТС]

4

Цитата
Сообщение от Electroflower
Посмотреть сообщение

тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение:

После запуска кода я сразу это пофиксил)

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

Shofiqul Alam's user avatar

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

michael.bochkaryov's user avatar

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

Shofiqul Alam's user avatar

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

michael.bochkaryov's user avatar

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

cronburg's user avatar

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

cronburg's user avatar

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

cronburg's user avatar

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

cronburg's user avatar

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&amp;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&amp;subset=latin" rel="stylesheet" type="text/css"/>

Вёрстка

21.07.2017

up: 14.11.2019

3.3 г.
просмотров: 7.6k


  • Сниппеты
  • Дизайн и вёрстка
  • Валидация W3C

@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. Показов 6513. Ответов 3

Метки c, core, шаблоны (Все метки)


Студворк — интернет-сервис помощи студентам

При выполнении команды:

Bash
1
$ g++ -o -Wall Rab3 ./Rab3.cpp

Выдает ошибку:

Bash
1
2
3
/usr/bin/x86_64-linux-gnu-ld: Rab3: _ZSt4cout: invalid version 2 (max 0)
Rab3: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

Понимаю что ошибка в коде, помогите ее найти

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include "time.h"
#include <string>
 
using namespace std;
 
template <typename T>
class Matrix
{
    int a;
    int b;
    T **array;
public:
    Matrix(int aa = 1, int bb = 1)
    {
        a = aa;
        b = bb;
        *array = new int[aa];
    for (int count = 0; count < aa; count++)
        array[count] = new  T[bb];
    }
    ~Matrix()
    {
        delete []array;
    }
    void DataSizeOf()
    {
        cout << "Size of Massive: " << sizeof(array);
    }
    void PrintArray()
    {
        cout << "Massive: " << endl;
        for (int i = 0; i < a; i++)
        {
            for (int j = 0; j < b; j++)
            cout << array [i][j] << "t";
        cout << "n";
        }
        cout << endl;
    }
    void ReadArray()
    {
        for (int i = 0; i < a; i++)
        {
        cout << "Введите " << a << "-ю строку: " << endl;
            for (int j = 0; j < b; j++)
            {
                cin >> array[i][j];
            }
        }
    }
};
 
int main()
{
    Matrix <int> TestArray(2, 2);
    TestArray.ReadArray();
    TestArray.PrintArray();
 
    return 0;
}



0



zss

Модератор

Эксперт С++

13320 / 10454 / 6253

Регистрация: 18.12.2011

Сообщений: 27,910

09.07.2018, 14:36

2

Лучший ответ Сообщение было отмечено AcroMan как решение

Решение

Ошибок компиляции нет

Есть ошибки исполнения

*array = new int[aa];

C++
1
        array = new T*[aa];
C++
1
2
3
4
5
6
     ~Matrix()
    {
        for (int count = 0; count < a; count++)
           delete[] array[count];
       delete[] array;
    }



1



Electroflower

Shiningemerald

384 / 117 / 22

Регистрация: 05.01.2012

Сообщений: 951

09.07.2018, 16:44

3

тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение:

Цитата
Сообщение от AcroMan
Посмотреть сообщение

cout << «Введите » << a << «-ю строку: » << endl;

Добавлено через 5 минут
Еще у меня своеобразная аллергия на определение функций внутри класса, но это уже мои тараканы, скорее:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include "time.h"
#include <string>
 
using namespace std;
 
template <typename T>
class Matrix
{
private:
    int a;
    int b;
    T **array;
public:
    Matrix (int aa = 1, int bb = 1);
    ~Matrix(); 
    void PrintArray();
    void ReadArray();
};
 
 
template <typename T> Matrix <T>:: Matrix (int aa, int bb)
{
    a = aa;
    b = bb;
    array = new T*[aa];
    for (int i = 0; i < aa; i++)
        array[i] = new  T[bb];
}
 
template <typename T> Matrix <T>::~Matrix()
{
    for (int i = 0; i<a; i++){ delete[]array[i]; }
    delete[]array;
 }
 
 
template<typename T>
void Matrix<T>::PrintArray()
{
    cout << "Massive: " << endl;
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < b; j++)
            cout << array[i][j] << "t";
        cout << "n";
    }
    cout << endl;
}
 
template<typename T>
void Matrix<T>::ReadArray()
{
    for (int i = 0; i < a; i++)
    {
        cout << "Введите " << i << "-ю строку: " << endl;
        for (int j = 0; j < b; j++)
        {
            cin >> array[i][j];
        }
    }
}
 
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    Matrix <int> TestArray(3, 4);
    TestArray.ReadArray();
    TestArray.PrintArray();
 
    return 0;
}



0



0 / 0 / 0

Регистрация: 23.10.2017

Сообщений: 14

09.07.2018, 18:45

 [ТС]

4

Цитата
Сообщение от Electroflower
Посмотреть сообщение

тут тоже как бы будет все время просить ввести последнюю строку, что введет в заблуждение:

После запуска кода я сразу это пофиксил)



0



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

cronburg's user avatar

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

cronburg's user avatar

cronburgcronburg

6761 gold badge7 silver badges14 bronze badges

  • Ошибка добавления принтера 1801
  • Ошибка добавления позиции 115
  • Ошибка добавления кода донации
  • Ошибка добавления карты яндекс еда
  • Ошибка добавления видеостены smart pss