I have just gotten started with the framework, and I intend to build one of the example projects, by following the "getting started" guide. However, when I run
Code: Select all
idf.py menuconfig
Code: Select all
[luis@localhost build]$ get_idf
Adding ESP-IDF tools to PATH...
WARNING: tool openocd-esp32 found in path, but failed to run
Checking if Python packages are up to date...
Python requirements from /home/luis/src/esp-idf/requirements.txt are satisfied.
Added the following directories to PATH:
/home/luis/src/esp-idf/components/esptool_py/esptool
/home/luis/src/esp-idf/components/espcoredump
/home/luis/src/esp-idf/components/partition_table/
/home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin
/home/luis/.espressif/tools/esp32ulp-elf/2.28.51.20170517/esp32ulp-elf-binutils/bin
/home/luis/.espressif/tools/openocd-esp32/v0.10.0-esp32-20190313/openocd-esp32/bin
/home/luis/.espressif/python_env/idf4.0_py3.8_env/bin
/home/luis/src/esp-idf/tools
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:
idf.py build
[luis@localhost build]$ cd $IDF_PATH/examples/get-started/hello_world/
[luis@localhost hello_world]$ idf.py menuconfig
Checking Python dependencies...
Python requirements from /home/luis/src/esp-idf/requirements.txt are satisfied.
Executing action: menuconfig
Running cmake in directory /home/luis/src/esp-idf/examples/get-started/hello_world/build
Executing "cmake -G 'Unix Makefiles' -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 --warn-uninitialized -DWARN_UNINITIALIZED=1 -DCCACHE_ENABLE=0 /home/luis/src/esp-idf/examples/get-started/hello_world"...
Warn about uninitialized values.
-- Found Git: /usr/bin/git (found version "2.26.2")
-- Component directory /home/luis/src/esp-idf/components/cbor does not contain a CMakeLists.txt file. No component will be added
-- Component directory /home/luis/src/esp-idf/components/tinyusb does not contain a CMakeLists.txt file. No component will be added
-- IDF_TARGET not set, using default target: esp32
-- The C compiler identification is GNU 8.2.0
-- The CXX compiler identification is GNU 8.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
-- Check for working C compiler: /home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++
-- Check for working CXX compiler: /home/luis/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project version: v4.0.1
-- Building ESP-IDF components for target esp32
-- Found PythonInterp: /home/luis/.espressif/python_env/idf4.0_py3.8_env/bin/python (found version "3.8.2")
-- Found Perl: /usr/bin/perl (found version "5.30.2")
-- Adding linker script /home/luis/src/esp-idf/examples/get-started/hello_world/build/esp-idf/esp32/esp32_out.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script /home/luis/src/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script /home/luis/src/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_ringbuf esp_rom esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip main mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: /home/luis/src/esp-idf/components/app_trace /home/luis/src/esp-idf/components/app_update /home/luis/src/esp-idf/components/asio /home/luis/src/esp-idf/components/bootloader /home/luis/src/esp-idf/components/bootloader_support /home/luis/src/esp-idf/components/bt /home/luis/src/esp-idf/components/coap /home/luis/src/esp-idf/components/console /home/luis/src/esp-idf/components/cxx /home/luis/src/esp-idf/components/driver /home/luis/src/esp-idf/components/efuse /home/luis/src/esp-idf/components/esp-tls /home/luis/src/esp-idf/components/esp32 /home/luis/src/esp-idf/components/esp_adc_cal /home/luis/src/esp-idf/components/esp_common /home/luis/src/esp-idf/components/esp_eth /home/luis/src/esp-idf/components/esp_event /home/luis/src/esp-idf/components/esp_gdbstub /home/luis/src/esp-idf/components/esp_http_client /home/luis/src/esp-idf/components/esp_http_server /home/luis/src/esp-idf/components/esp_https_ota /home/luis/src/esp-idf/components/esp_https_server /home/luis/src/esp-idf/components/esp_local_ctrl /home/luis/src/esp-idf/components/esp_ringbuf /home/luis/src/esp-idf/components/esp_rom /home/luis/src/esp-idf/components/esp_websocket_client /home/luis/src/esp-idf/components/esp_wifi /home/luis/src/esp-idf/components/espcoredump /home/luis/src/esp-idf/components/esptool_py /home/luis/src/esp-idf/components/expat /home/luis/src/esp-idf/components/fatfs /home/luis/src/esp-idf/components/freemodbus /home/luis/src/esp-idf/components/freertos /home/luis/src/esp-idf/components/heap /home/luis/src/esp-idf/components/idf_test /home/luis/src/esp-idf/components/jsmn /home/luis/src/esp-idf/components/json /home/luis/src/esp-idf/components/libsodium /home/luis/src/esp-idf/components/log /home/luis/src/esp-idf/components/lwip /home/luis/src/esp-idf/examples/get-started/hello_world/main /home/luis/src/esp-idf/components/mbedtls /home/luis/src/esp-idf/components/mdns /home/luis/src/esp-idf/components/mqtt /home/luis/src/esp-idf/components/newlib /home/luis/src/esp-idf/components/nghttp /home/luis/src/esp-idf/components/nvs_flash /home/luis/src/esp-idf/components/openssl /home/luis/src/esp-idf/components/partition_table /home/luis/src/esp-idf/components/protobuf-c /home/luis/src/esp-idf/components/protocomm /home/luis/src/esp-idf/components/pthread /home/luis/src/esp-idf/components/sdmmc /home/luis/src/esp-idf/components/soc /home/luis/src/esp-idf/components/spi_flash /home/luis/src/esp-idf/components/spiffs /home/luis/src/esp-idf/components/tcp_transport /home/luis/src/esp-idf/components/tcpip_adapter /home/luis/src/esp-idf/components/ulp /home/luis/src/esp-idf/components/unity /home/luis/src/esp-idf/components/vfs /home/luis/src/esp-idf/components/wear_levelling /home/luis/src/esp-idf/components/wifi_provisioning /home/luis/src/esp-idf/components/wpa_supplicant /home/luis/src/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/luis/src/esp-idf/examples/get-started/hello_world/build
Running make in directory /home/luis/src/esp-idf/examples/get-started/hello_world/build
Executing "make -j 10 menuconfig"...
Scanning dependencies of target mconf-idf
[ 0%] Creating directories for 'mconf-idf'
[ 0%] No download step for 'mconf-idf'
[ 0%] No update step for 'mconf-idf'
[ 0%] No patch step for 'mconf-idf'
[ 0%] No configure step for 'mconf-idf'
[ 0%] Performing build step for 'mconf-idf'
/bin/sh: gperf: command not found
make[4]: *** [/home/luis/src/esp-idf/tools/kconfig/Makefile:343: zconf.hash.c] Error 127
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [CMakeFiles/mconf-idf.dir/build.make:148: mconf-idf-prefix/src/mconf-idf-stamp/mconf-idf-build] Error 2
make[2]: *** [CMakeFiles/Makefile2:1816: CMakeFiles/mconf-idf.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:1850: CMakeFiles/menuconfig.dir/rule] Error 2
make: *** [Makefile:301: menuconfig] Error 2
make failed with exit code 2
[luis@localhost hello_world]$
For a check, I tested that curses works in that very same shell I'm running this commands on, by executing this test script and seeing a ncurses interface actually getting drawn.
My system is Arch Linux x64, Python 3.8.3... is there any other specification required?
Thanks for your help!