sle118 / squeezelite-esp32

ESP32 Music streaming based on Squeezelite, with support for multi-room sync, AirPlay, Bluetooth, Hardware buttons, display and more
1.25k stars 113 forks source link

Compiling error esp-idf/components/driver/i2s.c:66:5: error: unknown type name 'SemaphoreHandle_t' #63

Closed RamShadow closed 3 years ago

RamShadow commented 3 years ago

Hey, trying build from src. Debian WSL and Windows directly ends with:

Can anyone give me a hint or tell me that the error is real.

PS C:\Users\RamShadow\repo\SqueezeElite\squeezelite-esp32> idf.py all Executing action: all (aliases: build) Running cmake in directory c:\users\ramshadow\repo\squeezeelite\squeezelite-esp32\build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 --warn-uninitialized -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 c:\users\ramshadow\repo\squeezeelite\squeezelite-esp32"... Warn about uninitialized values. -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.29.2.windows.2") -- Building RECOVERY -- ccache will be used for faster recompilation -- 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: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- Check for working C compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- Check for working C compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- 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: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- Check for working CXX compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Project version: custom.build -- Building ESP-IDF components for target esp32 warning: LOGGING_SLIMPROTO (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:3) has leading or trailing whitespace in its prompt warning: LOGGING_STREAM (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:8) has leading or trailing whitespace in its prompt warning: I2S_NUM (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:93) has leading or trailing whitespace in its prompt warning: I2S_BCK_IO (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:98) has leading or trailing whitespace in its prompt warning: I2S_WS_IO (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:103) has leading or trailing whitespace in its prompt warning: I2S_DO_IO (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:108) has leading or trailing whitespace in its prompt warning: I2S_DI_IO (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:113) has leading or trailing whitespace in its prompt warning: I2C_SDA (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:120) has leading or trailing whitespace in its prompt warning: I2C_SCL (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:125) has leading or trailing whitespace in its prompt warning: A2DP_CONTROL_DELAY_MS (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:186) has leading or trailing whitespace in its prompt warning: style: quotes recommended around default value for string symbol AIRPLAY_PORT (defined at C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main/Kconfig.projbuild:224) Loading defaults file C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/sdkconfig.defaults... -- Found PythonInterp: C:/Users/RamShadow/.espressif/python_env/idf4.1_py3.9_env/Scripts/python.exe (found version "3.9") -- Found Perl: C:/Perl64/bin/perl.exe (found version "5.24.3") -- Adding linker script C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/build/esp-idf/esp32/esp32_out.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp32/ld/esp32.extram.bss.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp32/ld/esp32.project.ld.in -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp32/ld/esp32.peripherals.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld -- Components: app_recovery app_squeezelite app_trace app_update asio audio bootloader bootloader_support bt cbor coap codecs console cxx display driver driver_bt efuse esp-dsp 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_netif esp_ringbuf esp_rom esp_serial_slave_link 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 perfmon platform_config platform_console protobuf-c protocomm pthread raop sdmmc services soc spi_flash spiffs squeezelite squeezelite-ota tcp_transport tcpip_adapter telnet tools ulp unity vfs wear_levelling wifi-manager wifi_provisioning wpa_supplicant xtensa -- Component paths: C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/platform_console/app_recovery C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/platform_console/app_squeezelite C:/Users/RamShadow/esp-idf/components/app_trace C:/Users/RamShadow/esp-idf/components/app_update C:/Users/RamShadow/esp-idf/components/asio C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/audio C:/Users/RamShadow/esp-idf/components/bootloader C:/Users/RamShadow/esp-idf/components/bootloader_support C:/Users/RamShadow/esp-idf/components/bt C:/Users/RamShadow/esp-idf/components/cbor C:/Users/RamShadow/esp-idf/components/coap C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/codecs C:/Users/RamShadow/esp-idf/components/console C:/Users/RamShadow/esp-idf/components/cxx C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/display C:/Users/RamShadow/esp-idf/components/driver C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/driver_bt C:/Users/RamShadow/esp-idf/components/efuse C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/esp-dsp C:/Users/RamShadow/esp-idf/components/esp-tls C:/Users/RamShadow/esp-idf/components/esp32 C:/Users/RamShadow/esp-idf/components/esp_adc_cal C:/Users/RamShadow/esp-idf/components/esp_common C:/Users/RamShadow/esp-idf/components/esp_eth C:/Users/RamShadow/esp-idf/components/esp_event C:/Users/RamShadow/esp-idf/components/esp_gdbstub C:/Users/RamShadow/esp-idf/components/esp_http_client C:/Users/RamShadow/esp-idf/components/esp_http_server C:/Users/RamShadow/esp-idf/components/esp_https_ota C:/Users/RamShadow/esp-idf/components/esp_https_server C:/Users/RamShadow/esp-idf/components/esp_local_ctrl C:/Users/RamShadow/esp-idf/components/esp_netif C:/Users/RamShadow/esp-idf/components/esp_ringbuf C:/Users/RamShadow/esp-idf/components/esp_rom C:/Users/RamShadow/esp-idf/components/esp_serial_slave_link C:/Users/RamShadow/esp-idf/components/esp_websocket_client C:/Users/RamShadow/esp-idf/components/esp_wifi C:/Users/RamShadow/esp-idf/components/espcoredump C:/Users/RamShadow/esp-idf/components/esptool_py C:/Users/RamShadow/esp-idf/components/expat C:/Users/RamShadow/esp-idf/components/fatfs C:/Users/RamShadow/esp-idf/components/freemodbus C:/Users/RamShadow/esp-idf/components/freertos C:/Users/RamShadow/esp-idf/components/heap C:/Users/RamShadow/esp-idf/components/idf_test C:/Users/RamShadow/esp-idf/components/jsmn C:/Users/RamShadow/esp-idf/components/json C:/Users/RamShadow/esp-idf/components/libsodium C:/Users/RamShadow/esp-idf/components/log C:/Users/RamShadow/esp-idf/components/lwip C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/main C:/Users/RamShadow/esp-idf/components/mbedtls C:/Users/RamShadow/esp-idf/components/mdns C:/Users/RamShadow/esp-idf/components/mqtt C:/Users/RamShadow/esp-idf/components/newlib C:/Users/RamShadow/esp-idf/components/nghttp C:/Users/RamShadow/esp-idf/components/nvs_flash C:/Users/RamShadow/esp-idf/components/openssl C:/Users/RamShadow/esp-idf/components/partition_table C:/Users/RamShadow/esp-idf/components/perfmon C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/platform_config C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/platform_console C:/Users/RamShadow/esp-idf/components/protobuf-c C:/Users/RamShadow/esp-idf/components/protocomm C:/Users/RamShadow/esp-idf/components/pthread C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/raop C:/Users/RamShadow/esp-idf/components/sdmmc C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/services C:/Users/RamShadow/esp-idf/components/soc C:/Users/RamShadow/esp-idf/components/spi_flash C:/Users/RamShadow/esp-idf/components/spiffs C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/squeezelite C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/squeezelite-ota C:/Users/RamShadow/esp-idf/components/tcp_transport C:/Users/RamShadow/esp-idf/components/tcpip_adapter C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/telnet C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/tools C:/Users/RamShadow/esp-idf/components/ulp C:/Users/RamShadow/esp-idf/components/unity C:/Users/RamShadow/esp-idf/components/vfs C:/Users/RamShadow/esp-idf/components/wear_levelling C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/components/wifi-manager C:/Users/RamShadow/esp-idf/components/wifi_provisioning C:/Users/RamShadow/esp-idf/components/wpa_supplicant C:/Users/RamShadow/esp-idf/components/xtensa -- Adding new build target (from build folder): ninja size-squeezelite -- Adding new build target (from build folder): ninja size-files-squeezelite -- Adding new build target (from build folder): ninja size-components-squeezelite -- Adding new build target (from build folder): ninja squeezelite-flash -- Configuring done -- Generating done -- Build files have been written to: C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/build Running ninja in directory c:\users\ramshadow\repo\squeezeelite\squeezelite-esp32\build Executing "ninja all"... [3/1359] cmd.exe /C "cd /D C:\Users\RamShadow\repo\Squeeze...ueezeElite/squeezelite-esp32/generate_debug_scripts.cmake" Generating debug script files [85/1359] cmd.exe /C "cd /D C:\Users\RamShadow\repo\Squeez...*****" Partition table binary generated. Contents:


Espressif ESP32 Partition Table

Name, Type, SubType, Offset, Size, Flags

nvs,data,nvs,0x9000,16K, otadata,data,ota,0xd000,8K, phy_init,data,phy,0xf000,4K, recovery,app,factory,0x10000,1280K, ota_0,app,ota_0,0x150000,2688K, settings,data,nvs,0x3f0000,64K,


[292/1359] Building C object esp-idf/mbedtls/mbedtls/library/CMakeFiles/mbedcrypto.dir///port/esp32/esp_bignum.c.objC:/Users/RamShadow/esp-idf/components/mbedtls/port/esp32/esp_bignum.c:254:5: warning: no previous prototype for 'esp_mpi_mul_mpi_mod' [-Wmissing-prototypes] int esp_mpi_mul_mpi_mod(mbedtls_mpi Z, const mbedtls_mpi X, const mbedtls_mpi Y, const mbedtls_mpi M) ^~~~~~~ [366/1359] Building C object esp-idf/driver/CMakeFiles/idf_driver.dir/i2s.c.obj FAILED: esp-idf/driver/CMakeFiles/idf_driver.dir/i2s.c.obj ccache C:\Users\RamShadow.espressif\tools\xtensa-esp32-elf\esp-2020r2-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe -DMODEL_NAME=SqueezeESP32 -Iconfig -IC:/Users/RamShadow/esp-idf/components/driver/include -IC:/Users/RamShadow/esp-idf/components/driver/esp32/include -IC:/Users/RamShadow/esp-idf/components/driver/include/driver -IC:/Users/RamShadow/esp-idf/components/newlib/platform_include -IC:/Users/RamShadow/esp-idf/components/freertos/include -IC:/Users/RamShadow/esp-idf/components/heap/include -IC:/Users/RamShadow/esp-idf/components/log/include -IC:/Users/RamShadow/esp-idf/components/lwip/include/apps -IC:/Users/RamShadow/esp-idf/components/lwip/include/apps/sntp -IC:/Users/RamShadow/esp-idf/components/lwip/lwip/src/include -IC:/Users/RamShadow/esp-idf/components/lwip/port/esp32/include -IC:/Users/RamShadow/esp-idf/components/lwip/port/esp32/include/arch -IC:/Users/RamShadow/esp-idf/components/soc/esp32/include -IC:/Users/RamShadow/esp-idf/components/soc/include -IC:/Users/RamShadow/esp-idf/components/esp_rom/include -IC:/Users/RamShadow/esp-idf/components/esp_common/include -IC:/Users/RamShadow/esp-idf/components/xtensa/include -IC:/Users/RamShadow/esp-idf/components/xtensa/esp32/include -IC:/Users/RamShadow/esp-idf/components/esp32/include -IC:/Users/RamShadow/esp-idf/components/esp_ringbuf/include -IC:/Users/RamShadow/esp-idf/components/efuse/include -IC:/Users/RamShadow/esp-idf/components/efuse/esp32/include -IC:/Users/RamShadow/esp-idf/components/vfs/include -IC:/Users/RamShadow/esp-idf/components/esp_wifi/include -IC:/Users/RamShadow/esp-idf/components/esp_wifi/esp32/include -IC:/Users/RamShadow/esp-idf/components/esp_event/include -IC:/Users/RamShadow/esp-idf/components/esp_netif/include -IC:/Users/RamShadow/esp-idf/components/tcpip_adapter/include -IC:/Users/RamShadow/esp-idf/components/app_trace/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw -Os -freorder-blocks -std=gnu99 -Wno-old-style-declaration -D_GNU_SOURCE -DIDF_VER=\"v4.1-dirty\" -DESP_PLATFORM -MD -MT esp-idf/driver/CMakeFiles/idf_driver.dir/i2s.c.obj -MF esp-idf\driver\CMakeFiles__idf_driver.dir\i2s.c.obj.d -o esp-idf/driver/CMakeFiles/idf_driver.dir/i2s.c.obj -c C:/Users/RamShadow/esp-idf/components/driver/i2s.c C:/Users/RamShadow/esp-idf/components/driver/i2s.c:66:5: error: unknown type name 'SemaphoreHandle_t' SemaphoreHandle_t mux; ^~~~~ C:/Users/RamShadow/esp-idf/components/driver/i2s.c: In function 'i2s_set_clk': C:/Users/RamShadow/esp-idf/components/driver/i2s.c:397:9: error: implicit declaration of function 'xSemaphoreTake'; did you mean 'xSemaphoreHandle'? [-Werror=implicit-function-declaration] xSemaphoreTake(p_i2s_obj[i2s_num]->tx->mux, (portTickType)portMAX_DELAY); ^~~~~~ xSemaphoreHandle C:/Users/RamShadow/esp-idf/components/driver/i2s.c:553:9: error: implicit declaration of function 'xSemaphoreGive'; did you mean 'xSemaphoreHandle'? [-Werror=implicit-function-declaration] xSemaphoreGive(p_i2s_obj[i2s_num]->tx->mux); ^~~~~~ xSemaphoreHandle C:/Users/RamShadow/esp-idf/components/driver/i2s.c: In function 'i2s_destroy_dma_queue': C:/Users/RamShadow/esp-idf/components/driver/i2s.c:655:5: error: implicit declaration of function 'vSemaphoreDelete'; did you mean 'xSemaphoreHandle'? [-Werror=implicit-function-declaration] vSemaphoreDelete(dma->mux); ^~~~ xSemaphoreHandle C:/Users/RamShadow/esp-idf/components/driver/i2s.c: In function 'i2s_create_dma_queue': C:/Users/RamShadow/esp-idf/components/driver/i2s.c:715:16: error: implicit declaration of function 'xSemaphoreCreateMutex'; did you mean 'xQueueCreateMutex'? [-Werror=implicit-function-declaration] dma->mux = xSemaphoreCreateMutex(); ^~~~~ xQueueCreateMutex cc1.exe: some warnings being treated as errors [375/1359] Performing configure step for 'bootloader' -- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.29.2.windows.2") -- 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: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- Check for working C compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- Check for working C compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- 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: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- Check for working CXX compiler: C:/Users/RamShadow/.espressif/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Project version: v4.1-dirty -- Building ESP-IDF components for target esp32 -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp32/ld/esp32.peripherals.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld -- Adding linker script C:/Users/RamShadow/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld -- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa -- Component paths: C:/Users/RamShadow/esp-idf/components/bootloader C:/Users/RamShadow/esp-idf/components/bootloader_support C:/Users/RamShadow/esp-idf/components/efuse C:/Users/RamShadow/esp-idf/components/esp32 C:/Users/RamShadow/esp-idf/components/esp_common C:/Users/RamShadow/esp-idf/components/esp_rom C:/Users/RamShadow/esp-idf/components/esptool_py C:/Users/RamShadow/esp-idf/components/log C:/Users/RamShadow/esp-idf/components/bootloader/subproject/main C:/Users/RamShadow/esp-idf/components/bootloader/subproject/components/micro-ecc C:/Users/RamShadow/esp-idf/components/partition_table C:/Users/RamShadow/esp-idf/components/soc C:/Users/RamShadow/esp-idf/components/spi_flash C:/Users/RamShadow/esp-idf/components/xtensa -- Configuring done -- Generating done -- Build files have been written to: C:/Users/RamShadow/repo/SqueezeElite/squeezelite-esp32/build/bootloader ninja: build stopped: subcommand failed. ninja failed with exit code 1

RamShadow commented 3 years ago

esp-idf was new installed in WSL and in Windows direct. esp-idf 4.1 python 3.9 Perl: 5.24.3

shaffenmeister commented 3 years ago

Please check with esp-idf 4.0 which is (AFAIK) the targeted framework. I can compile it on both Windows and Linux flawlessly with esp-idf 4.0.

RamShadow commented 3 years ago

Thanks a lot. 4.0 Works! (was my the latest and greatest paranoia...)