Determining if the pthread_create exist failed with the following output: Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_345bf/fast" make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' /usr/bin/make -f CMakeFiles/cmTC_345bf.dir/build.make CMakeFiles/cmTC_345bf.dir/build make[2]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_345bf.dir/CheckSymbolExists.c.o /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -o CMakeFiles/cmTC_345bf.dir/CheckSymbolExists.c.o -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTC_345bf /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_345bf.dir/link.txt --verbose=1 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -rdynamic CMakeFiles/cmTC_345bf.dir/CheckSymbolExists.c.o -o cmTC_345bf CMakeFiles/cmTC_345bf.dir/CheckSymbolExists.c.o: In function `main': CheckSymbolExists.c:(.text+0xe): undefined reference to `pthread_create' CheckSymbolExists.c:(.text+0x12): undefined reference to `pthread_create' collect2: error: ld returned 1 exit status CMakeFiles/cmTC_345bf.dir/build.make:97: recipe for target 'cmTC_345bf' failed make[2]: *** [cmTC_345bf] Error 1 make[2]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_345bf/fast' failed make[1]: *** [cmTC_345bf/fast] Error 2 make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' File /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; return 0; #endif } Determining if the function pthread_create exists in the pthreads failed with the following output: Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_012e5/fast" make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' /usr/bin/make -f CMakeFiles/cmTC_012e5.dir/build.make CMakeFiles/cmTC_012e5.dir/build make[2]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Building C object CMakeFiles/cmTC_012e5.dir/CheckFunctionExists.c.o /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_012e5.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.10/Modules/CheckFunctionExists.c Linking C executable cmTC_012e5 /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_012e5.dir/link.txt --verbose=1 /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-gcc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_012e5.dir/CheckFunctionExists.c.o -o cmTC_012e5 -lpthreads /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status CMakeFiles/cmTC_012e5.dir/build.make:97: recipe for target 'cmTC_012e5' failed make[2]: *** [cmTC_012e5] Error 1 make[2]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_012e5/fast' failed make[1]: *** [cmTC_012e5/fast] Error 2 make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Performing C++ SOURCE FILE Test MSGPACK_ENABLE_GCC_CXX_ATOMIC failed with the following output: Change Dir: /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_2bbf9/fast" make[1]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' /usr/bin/make -f CMakeFiles/cmTC_2bbf9.dir/build.make CMakeFiles/cmTC_2bbf9.dir/build make[2]: Entering directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_2bbf9.dir/src.cxx.o /usr/bin/c++ -DMSGPACK_DEFAULT_API_VERSION=3 -std=c++98 -DMSGPACK_ENABLE_GCC_CXX_ATOMIC -o CMakeFiles/cmTC_2bbf9.dir/src.cxx.o -c /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp/src.cxx /opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp/src.cxx:2:10: fatal error: bits/atomicity.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated. CMakeFiles/cmTC_2bbf9.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_2bbf9.dir/src.cxx.o' failed make[2]: *** [CMakeFiles/cmTC_2bbf9.dir/src.cxx.o] Error 1 make[2]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Makefile:126: recipe for target 'cmTC_2bbf9/fast' failed make[1]: *** [cmTC_2bbf9/fast] Error 2 make[1]: Leaving directory '/opt/ti-processor-sdk-linux-am335x-evm-04.02.00.09/EVSE/GPL/msgpack-3.1.1/release/CMakeFiles/CMakeTmp' Source file was: #include int atomic_sub(int i) { return __gnu_cxx::__exchange_and_add(&i, -1) - 1; } int atomic_add(int i) { return __gnu_cxx::__exchange_and_add(&i, 1) + 1; } int main(int argc, char * argv[]) { atomic_sub(1); atomic_add(1); }