CMake error: The C compiler is not able to compile a simple test program.
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
CMake error: The C compiler is not able to compile a simple test program.
I am getting a CMake error when I do 'idf.py set-target esp32'. What am I doing wrong?
CMakeError.log:
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Build flags: -mlongcalls;-Wno-frame-address
Id flags:
The output was:
1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
Build flags: -mlongcalls;-Wno-frame-address
Id flags:
The output was:
1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
Determining if the C compiler works failed with the following output:
Change Dir: /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_c017e/fast && /usr/bin/make -f CMakeFiles/cmTC_c017e.dir/build.make CMakeFiles/cmTC_c017e.dir/build
make[1]: Entering directory '/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -mlongcalls -Wno-frame-address -o CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj -c /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_c017e
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c017e.dir/link.txt --verbose=1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -mlongcalls -Wno-frame-address CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj -o cmTC_c017e
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_c017e.dir/build.make:87: cmTC_c017e] Error 1
make[1]: Leaving directory '/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_c017e/fast] Error 2
CMakeOutput.log:
The target system is: Generic - -
The host system is: Linux - 5.10.103-v7l+ - armv7l
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Build flags: -mlongcalls;-Wno-frame-address
Id flags: -c
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
The C compiler identification is GNU, found in "/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.o"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
Build flags: -mlongcalls;-Wno-frame-address
Id flags: -c
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
The CXX compiler identification is GNU, found in "/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.o"
Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)":
xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2-patch3) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
CMakeError.log:
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Build flags: -mlongcalls;-Wno-frame-address
Id flags:
The output was:
1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
Build flags: -mlongcalls;-Wno-frame-address
Id flags:
The output was:
1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
Determining if the C compiler works failed with the following output:
Change Dir: /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_c017e/fast && /usr/bin/make -f CMakeFiles/cmTC_c017e.dir/build.make CMakeFiles/cmTC_c017e.dir/build
make[1]: Entering directory '/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -mlongcalls -Wno-frame-address -o CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj -c /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_c017e
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c017e.dir/link.txt --verbose=1
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -mlongcalls -Wno-frame-address CMakeFiles/cmTC_c017e.dir/testCCompiler.c.obj -o cmTC_c017e
/home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: error loading plugin: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/../libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: cannot open shared object file: No such file or directory
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_c017e.dir/build.make:87: cmTC_c017e] Error 1
make[1]: Leaving directory '/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_c017e/fast] Error 2
CMakeOutput.log:
The target system is: Generic - -
The host system is: Linux - 5.10.103-v7l+ - armv7l
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Build flags: -mlongcalls;-Wno-frame-address
Id flags: -c
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o"
The C compiler identification is GNU, found in "/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.o"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /home/heller/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
Build flags: -mlongcalls;-Wno-frame-address
Id flags: -c
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "CMakeCXXCompilerId.o"
The CXX compiler identification is GNU, found in "/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/3.16.3/CompilerIdCXX/CMakeCXXCompilerId.o"
Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)":
xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2-patch3) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
About my previous post able CMake failing...
The problem seems to be be scpecific to my Raspberry Pi. The same code works on an x86_64 host. (And yes, I did install the ARM host build toolchain on the Raspberry Pi.)
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
Re: CMake error: The C compiler is not able to compile a simple test program.
This problem seems to be specificly with a Raspberry Pi as the host. I *think* it might be a arch. error -- The toolchain seem to be for a different ARM Linux system than the Raspberry Pi. I am using a Pi 4:
fruitloops% objdump -x .espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so|head
.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: file format elf32-littlearm
.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so
architecture: armv4t, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00002420
Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x0001099c memsz 0x0001099c flags r-x
fruitloops%
fruitloops% objdump -x /usr/lib/arm-linux-gnueabihf/libstdc++.so.6|head
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6: file format elf32-littlearm
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
architecture: arm, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0006e340
Program Header:
0x70000001 off 0x00129780 vaddr 0x00129780 paddr 0x00129780 align 2**2
filesz 0x00004270 memsz 0x00004270 flags r--
fruitloops% fruitloops% cat /etc/issue
Raspbian GNU/Linux 10 \n \l
fruitloops% uname -a
Linux fruitloops 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
fruitloops% cat /proc/cpu
cpu/ cpuinfo
fruitloops% head /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
fruitloops%
fruitloops% objdump -x .espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so|head
.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so: file format elf32-littlearm
.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/8.4.0/liblto_plugin.so
architecture: armv4t, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00002420
Program Header:
LOAD off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**16
filesz 0x0001099c memsz 0x0001099c flags r-x
fruitloops%
fruitloops% objdump -x /usr/lib/arm-linux-gnueabihf/libstdc++.so.6|head
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6: file format elf32-littlearm
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
architecture: arm, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0006e340
Program Header:
0x70000001 off 0x00129780 vaddr 0x00129780 paddr 0x00129780 align 2**2
filesz 0x00004270 memsz 0x00004270 flags r--
fruitloops% fruitloops% cat /etc/issue
Raspbian GNU/Linux 10 \n \l
fruitloops% uname -a
Linux fruitloops 5.10.103-v7l+ #1529 SMP Tue Mar 8 12:24:00 GMT 2022 armv7l GNU/Linux
fruitloops% cat /proc/cpu
cpu/ cpuinfo
fruitloops% head /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
fruitloops%
-
- Posts: 9759
- Joined: Thu Nov 26, 2015 4:08 am
Re: CMake error: The C compiler is not able to compile a simple test program.
What esp-idf version is this? Can you try updating to the master branch to see if this is still an issue?
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
Re: CMake error: The C compiler is not able to compile a simple test program.
I am using 4.4.1. I am not sure if the main third-party component I am using (OpenMRNIDF) will work correctly with a newer version of the IDF.
My project compiles just fine with 4.4.1 on my x86_64 Ubuntu 18.04 machine. The problem is the Rasperry Pi 4 is my workbench machine, and I would like to use it as the machine I flash my projects.
My project compiles just fine with 4.4.1 on my x86_64 Ubuntu 18.04 machine. The problem is the Rasperry Pi 4 is my workbench machine, and I would like to use it as the machine I flash my projects.
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
Re: CMake error: The C compiler is not able to compile a simple test program.
OK, I tried to install from the master branch, but things fail in install.sh:
After installing the newer compilers, I get this error:
Installing Python environment and packages
ERROR: This script was called from a virtual environment, can not create a virtual environment again
Which makes no sense.
I guess the answer seems to be that the esp-idf does not work with a Raspberry Pi host...
After installing the newer compilers, I get this error:
Installing Python environment and packages
ERROR: This script was called from a virtual environment, can not create a virtual environment again
Which makes no sense.
I guess the answer seems to be that the esp-idf does not work with a Raspberry Pi host...
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
Re: CMake error: The C compiler is not able to compile a simple test program.
Things seem to be working fine on my Banana Pi M64 (running 64-bit (aarch64) Armbian). The problem seems to be a mis-built toolchain for 32-bit arm (bad -march options?).
-
- Posts: 7
- Joined: Sat Jun 25, 2022 3:44 pm
Re: CMake error: The C compiler is not able to compile a simple test program.
OK, I finally go around to updating to the master branch. Different error:ESP_Sprite wrote: ↑Sun Jun 26, 2022 2:31 amWhat esp-idf version is this? Can you try updating to the master branch to see if this is still an issue?
Code: Select all
-- Building ESP-IDF components for target esp32
CMake Error at /home/heller/esp-idf/tools/cmake/build.cmake:249 (message):
Failed to resolve component 'mdns'.
Call Stack (most recent call first):
/home/heller/esp-idf/tools/cmake/build.cmake:285 (__build_resolve_and_add_req)
/home/heller/esp-idf/tools/cmake/build.cmake:286 (__build_expand_requirements)
/home/heller/esp-idf/tools/cmake/build.cmake:580 (__build_expand_requirements)
/home/heller/esp-idf/tools/cmake/project.cmake:434 (idf_build_process)
CMakeLists.txt:16 (project)
-- Configuring incomplete, errors occurred!
See also "/home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1
Executing action: all (aliases: build)
Running cmake in directory /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /home/heller/RRCircuits/ESP32-D0WD-V3-MultiFunctionOpenMRNIDF"...
Re: CMake error: The C compiler is not able to compile a simple test program.
mdns has moved to be a separate component now.
Run 'idf.py add-dependency espressif/mdns==1.0.3' in your project and then build. You'll end up with a 'dependencies.lock' file that you should add to your version control.
Run 'idf.py add-dependency espressif/mdns==1.0.3' in your project and then build. You'll end up with a 'dependencies.lock' file that you should add to your version control.
Who is online
Users browsing this forum: No registered users and 89 guests