Open lukas-principiot opened 4 months ago
I was able to successfully compile it under ESP-IDF v5.1.4-213-ge603747a5a
so it's a versioning issue with ESP-IDF.
Here tried to build on a Raspberry Pi 5B.
Version: ESP-IDF v5.4-dev-3201-g46acfdce96-dirty
idf.py set-target esp32s3 idf.py menuconfig (went OK) cd build cmake .. -G Ninja ninja
Build failed. (See below at the end)
paulsk@raspi5B-8GB:~/esp/M5Dial-UserDemo/build $ ninja
[13/1525] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[381/1525] Performing configure step for 'bootloader'
-- Found Git: /usr/bin/git (found version "2.39.5")
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/paulsk/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/paulsk/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin/xtensa-esp32s3-elf- gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/paulsk/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin/xtensa-esp32s3-el f-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32s3
-- Project sdkconfig file /home/paulsk/esp/M5Dial-UserDemo/sdkconfig
-- Compiler supported targets: xtensa-esp-elf
-- Adding linker script /home/paulsk/esp/esp-idf/components/soc/esp32s3/ld/esp32s3.peripherals.ld
-- Bootloader project name: "bootloader" version: 1
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.wdt.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld
-- Adding linker script /home/paulsk/esp/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_security e sp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa
-- Component paths: /home/paulsk/esp/esp-idf/components/bootloader /home/paulsk/esp/esp-idf/components/bootloader_support /home/paulsk/e sp/esp-idf/components/efuse /home/paulsk/esp/esp-idf/components/esp_app_format /home/paulsk/esp/esp-idf/components/esp_bootloader_format /home/paulsk/esp/esp-idf/components/esp_common /home/paulsk/esp/esp-idf/components/esp_hw_support /home/paulsk/esp/esp-idf/components/e sp_rom /home/paulsk/esp/esp-idf/components/esp_security /home/paulsk/esp/esp-idf/components/esp_system /home/paulsk/esp/esp-idf/componen ts/esptool_py /home/paulsk/esp/esp-idf/components/freertos /home/paulsk/esp/esp-idf/components/hal /home/paulsk/esp/esp-idf/components/l og /home/paulsk/esp/esp-idf/components/bootloader/subproject/main /home/paulsk/esp/esp-idf/components/bootloader/subproject/components/m icro-ecc /home/paulsk/esp/esp-idf/components/newlib /home/paulsk/esp/esp-idf/components/partition_table /home/paulsk/esp/esp-idf/compone nts/soc /home/paulsk/esp/esp-idf/components/spi_flash /home/paulsk/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/paulsk/esp/M5Dial-UserDemo/build/bootloader
[460/1525] Performing build step for 'bootloader'
[1/116] Generating project_elf_src_esp32s3.c
[...]
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c: In function 'panel_io_i2c_tx_buffer':
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:187:5: error: unknown type name 'i2c_master_transmit_multi_buf fer_info_t'
187 | i2c_master_transmit_multi_buffer_info_t lcd_i2c_buffer[3] = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:9: warning: braces around scalar initializer
188 | {.write_buffer = &control_phase_byte, .buffer_size = control_phase_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:9: note: (near initialization for 'lcd_i2c_buffer[0]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:10: error: field name not in record or union initializer
188 | {.write_buffer = &control_phase_byte, .buffer_size = control_phase_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:10: note: (near initialization for 'lcd_i2c_buffer[0]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:26: error: initialization of 'int' from 'uint8_t *' {aka ' unsigned char *'} makes integer from pointer without a cast [-Wint-conversion]
188 | {.write_buffer = &control_phase_byte, .buffer_size = control_phase_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:26: note: (near initialization for 'lcd_i2c_buffer[0]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:47: error: field name not in record or union initializer
188 | {.write_buffer = &control_phase_byte, .buffer_size = control_phase_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:47: note: (near initialization for 'lcd_i2c_buffer[0]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:62: warning: excess elements in scalar initializer
188 | {.write_buffer = &control_phase_byte, .buffer_size = control_phase_size},
| ^~~~~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:188:62: note: (near initialization for 'lcd_i2c_buffer[0]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:9: warning: braces around scalar initializer
189 | {.write_buffer = cmd_buffer, .buffer_size = cmd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:9: note: (near initialization for 'lcd_i2c_buffer[1]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:10: error: field name not in record or union initializer
189 | {.write_buffer = cmd_buffer, .buffer_size = cmd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:10: note: (near initialization for 'lcd_i2c_buffer[1]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:26: error: initialization of 'int' from 'uint8_t *' {aka ' unsigned char *'} makes integer from pointer without a cast [-Wint-conversion]
189 | {.write_buffer = cmd_buffer, .buffer_size = cmd_buffer_size},
| ^~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:26: note: (near initialization for 'lcd_i2c_buffer[1]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:38: error: field name not in record or union initializer
189 | {.write_buffer = cmd_buffer, .buffer_size = cmd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:38: note: (near initialization for 'lcd_i2c_buffer[1]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:53: warning: excess elements in scalar initializer
189 | {.write_buffer = cmd_buffer, .buffer_size = cmd_buffer_size},
| ^~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:189:53: note: (near initialization for 'lcd_i2c_buffer[1]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:9: warning: braces around scalar initializer
190 | {.write_buffer = lcd_buffer, .buffer_size = lcd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:9: note: (near initialization for 'lcd_i2c_buffer[2]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:10: error: field name not in record or union initializer
190 | {.write_buffer = lcd_buffer, .buffer_size = lcd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:10: note: (near initialization for 'lcd_i2c_buffer[2]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:26: error: initialization of 'int' from 'uint8_t *' {aka ' unsigned char *'} makes integer from pointer without a cast [-Wint-conversion]
190 | {.write_buffer = lcd_buffer, .buffer_size = lcd_buffer_size},
| ^~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:26: note: (near initialization for 'lcd_i2c_buffer[2]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:38: error: field name not in record or union initializer
190 | {.write_buffer = lcd_buffer, .buffer_size = lcd_buffer_size},
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:38: note: (near initialization for 'lcd_i2c_buffer[2]')
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:53: warning: excess elements in scalar initializer
190 | {.write_buffer = lcd_buffer, .buffer_size = lcd_buffer_size},
| ^~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:190:53: note: (near initialization for 'lcd_i2c_buffer[2]')
In file included from /home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:21:
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:193:23: error: implicit declaration of function 'i2c_master_mu lti_buffer_transmit' [-Wimplicit-function-declaration]
193 | ESP_GOTO_ON_ERROR(i2c_master_multi_buffer_transmit(i2c_panel_io->i2c_handle, lcd_i2c_buffer, sizeof(lcd_i2c_buffer) / sizeof (i2c_master_transmit_multi_buffer_info_t), -1), err, TAG, "i2c transaction failed");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_common/include/esp_check.h:349:30: note: in definition of macro 'ESP_GOTO_ON_ERROR'
349 | esp_err_t err_rc_ = (x); \
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:193:130: error: 'i2c_master_transmit_multi_buffer_info_t' unde clared (first use in this function)
193 | ESP_GOTO_ON_ERROR(i2c_master_multi_buffer_transmit(i2c_panel_io->i2c_handle, lcd_i2c_buffer, sizeof(lcd_i2c_buffer) / sizeof (i2c_master_transmit_multi_buffer_info_t), -1), err, TAG, "i2c transaction failed");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_common/include/esp_check.h:349:30: note: in definition of macro 'ESP_GOTO_ON_ERROR'
349 | esp_err_t err_rc_ = (x); \
| ^
/home/paulsk/esp/esp-idf/components/esp_lcd/i2c/esp_lcd_panel_io_i2c_v2.c:193:130: note: each undeclared identifier is reported only onc e for each function it appears in
193 | ESP_GOTO_ON_ERROR(i2c_master_multi_buffer_transmit(i2c_panel_io->i2c_handle, lcd_i2c_buffer, sizeof(lcd_i2c_buffer) / sizeof (i2c_master_transmit_multi_buffer_info_t), -1), err, TAG, "i2c transaction failed");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/paulsk/esp/esp-idf/components/esp_common/include/esp_check.h:349:30: note: in definition of macro 'ESP_GOTO_ON_ERROR'
349 | esp_err_t err_rc_ = (x); \
| ^
[927/1525] Building C object esp-idf/protobuf-c/CMakeFiles/__idf_protobuf-c.dir/protobuf-c/protobuf-c/protobuf-c.c.obj
ninja: build stopped: subcommand failed.
paulsk@raspi5B-8GB:~/esp/M5Dial-UserDemo/build $
I'm running ESP-IDF v5.2.1-dirty and I'm not able to get the demo to compile using
idf.py build
Steps to repeat this:
. $HOME/esp/esp-idf/export.sh
esp-idf.py build
Any ideas?
Compilation error output: