CMake с Конаном жалуется на отсутствующие файлы, когда они существуют. Я не понимаю почему?
Я немного потерян здесь. У меня есть набор инструментов для кросс-компиляции, который я пытаюсь использовать с cmake и conan для сборки googletest (1.8.1). Но во время компиляции ld жалуется, что отсутствуют некоторые библиотечные файлы, такие как libc.so.6
, libc_nonshared.a
, а также ld-linux-aarch64.so.1
в данном пути. Но факт в том, что он существует на пути, который ищет. Итак, я не уверен, что это из-за CMAKE, или conan, или gcc. Любая помощь очень ценится.
Вот журнал из CMakeError.log
Determining if the C compiler works failed with the following output:
Change Dir: /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp
Run Build Command:"/usr/local/bin/gmake" "cmTC_c9ef1/fast"
/usr/local/bin/gmake -f CMakeFiles/cmTC_c9ef1.dir/build.make CMakeFiles/cmTC_c9ef1.dir/build
gmake[1]: Entering directory '/Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc --sysroot=/Users/Sujit/work/clarifai-iot-sdk-dev/conan/profiles/../../../iotvol2/aarch64-rpi3b+-linux-gnueabihf -fPIC -o CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o -c /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_c9ef1
/usr/local/Cellar/cmake/3.11.0/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c9ef1.dir/link.txt --verbose=1
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc --sysroot=/Users/Sujit/work/clarifai-iot-sdk-dev/conan/profiles/../../../iotvol2/aarch64-rpi3b+-linux-gnueabihf -fPIC -rdynamic CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o -o cmTC_c9ef1
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/libc.so.6 inside /Users/Sujit/work/clarifai-iot-sdk-dev/conan/profiles/../../../iotvol2/aarch64-rpi3b+-linux-gnueabihf
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/libc_nonshared.a inside /Users/Sujit/work/clarifai-iot-sdk-dev/conan/profiles/../../../iotvol2/aarch64-rpi3b+-linux-gnueabihf
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/ld-linux-aarch64.so.1 inside /Users/Sujit/work/clarifai-iot-sdk-dev/conan/profiles/../../../iotvol2/aarch64-rpi3b+-linux-gnueabihf
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_c9ef1.dir/build.make:87: cmTC_c9ef1] Error 1
gmake[1]: Leaving directory '/Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:126: cmTC_c9ef1/fast] Error 2
И сообщение об ошибке, которое я получаю в терминале:
gtest/1.8.1@bincrafters/stable: WARN: Build folder is dirty, removing it: /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd
gtest/1.8.1@bincrafters/stable: Building your package in /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd
gtest/1.8.1@bincrafters/stable: Copying sources to build folder
gtest/1.8.1@bincrafters/stable: Generator cmake created conanbuildinfo.cmake
gtest/1.8.1@bincrafters/stable: Calling build()
-- The C compiler identification is GNU 8.1.0
-- The CXX compiler identification is GNU 8.1.0
-- Check for working C compiler: /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc
-- Check for working C compiler: /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc -- broken
CMake Error at /usr/local/Cellar/cmake/3.11.0/share/cmake/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp
Run Build Command:"/usr/local/bin/gmake" "cmTC_c9ef1/fast"
/usr/local/bin/gmake -f CMakeFiles/cmTC_c9ef1.dir/build.make CMakeFiles/cmTC_c9ef1.dir/build
gmake[1]: Entering directory '/Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc --sysroot=/Users/Sujit/project/conan/profiles/../../../cross/aarch64-rpi3b+-linux-gnueabihf -fPIC -o CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o -c /Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_c9ef1
/usr/local/Cellar/cmake/3.11.0/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c9ef1.dir/link.txt --verbose=1
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/bin/aarch64-rpi3b+-linux-gnueabihf-gcc --sysroot=/Users/Sujit/project/conan/profiles/../../../cross/aarch64-rpi3b+-linux-gnueabihf -fPIC -rdynamic CMakeFiles/cmTC_c9ef1.dir/testCCompiler.c.o -o cmTC_c9ef1
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/libc.so.6 inside /Users/Sujit/project/conan/profiles/../../../cross/aarch64-rpi3b+-linux-gnueabihf
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/libc_nonshared.a inside /Users/Sujit/project/conan/profiles/../../../cross/aarch64-rpi3b+-linux-gnueabihf
/Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/lib/gcc/aarch64-rpi3b+-linux-gnueabihf/8.1.0/../../../../aarch64-rpi3b+-linux-gnueabihf/bin/ld: cannot find /Users/Sujit/cross/aarch64-rpi3b+-linux-gnueabihf/aarch64-rpi3b+-linux-gnueabihf/lib/ld-linux-aarch64.so.1 inside /Users/Sujit/project/conan/profiles/../../../cross/aarch64-rpi3b+-linux-gnueabihf
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_c9ef1.dir/build.make:87: cmTC_c9ef1] Error 1
gmake[1]: Leaving directory '/Users/Sujit/.conan/data/gtest/1.8.1/bincrafters/stable/build/402abb32ffec2d8dd422171fcdf2940f7af95bbd/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:126: cmTC_c9ef1/fast] Error 2
И странность в том, что я попытался дать несколько версий кросс-компиляторов (примерно 3 разных), а также попытка использовать локальный компилятор с gcc в итоге выдает одно и то же сообщение об ошибке. Очистка всего, и восстановление не помогает. Итак, я в значительной степени заблудился здесь, что попробовать дальше.
Я строю это на Mac OSX (10.14) с cmake 3.11.0 с минимальным cmake, требуемым в CMakeLists.txt как 3.9
,
Любые указатели, пожалуйста?