Skip to content

[cbor] fails to compile with esp-idf 6.0.1 (IEC-533) #740

Description

@rwrozelle

Answers checklist.

  • I have read the component documentation ESP-IDF Components and the issue is not addressed there.
  • I am using target and esp-idf version as defined in component's idf_component.yml
  • I have searched the issue tracker for a similar issue and not found any related issue.

Which component are you using? If you choose Other, provide details in More Information.

cbor

ESP-IDF version.

6.0.1

Development Kit.

esp32-c6-devkit

Used Component version.

0.6.1~4

More Information.

I am compiling using esphome builder and after moving to esp-idf 6.0.1 I am getting the following errors:

INFO Generating C++ source...
INFO Compiling app... Build path: /home/mc/dev/esphome/../config/.esphome/build/test-esp32c6-2
Processing test-esp32c6-2 (board: esp32-c6-devkitm-1; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32.git#prep_IDF6)
-----------------------------------------------------------------------------------------------------------------------------------------
HARDWARE: ESP32C6 160MHz, 320KB RAM, 4MB Flash
 - contrib-piohome @ 3.4.4 
 - framework-espidf @ 3.60001.0 (6.0.1) 
 - tool-cmake @ 4.0.3 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.2.0 
 - tool-ninja @ 1.13.1 
 - tool-riscv32-esp-elf-gdb @ 16.3.0+20250913 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-riscv32-esp @ 15.2.0+20251204
Using Python 3.11.2 environment at: /home/mc/.platformio/penv/.espidf-6.0.1
Reading CMake configuration...
No dependencies
Compiling .pioenvs/test-esp32c6-2/managed_components/espressif__cbor/tinycbor/src/open_memstream.c.o
In file included from managed_components/espressif__cbor/tinycbor/src/open_memstream.c:48:
managed_components/espressif__cbor/tinycbor/src/compilersupport_p.h:215:11: warning: 'unreachable' redefined
  215 | #  define unreachable() __builtin_unreachable()
      |           ^~~~~~~~~~~
In file included from managed_components/espressif__cbor/tinycbor/src/cbor.h:32,
                 from managed_components/espressif__cbor/tinycbor/src/compilersupport_p.h:28:
/home/mc/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include/stddef.h:468:9: note: this is the location of the previous definition
  468 | #define unreachable() (__builtin_unreachable ())
      |         ^~~~~~~~~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c: In function 'open_memstream':
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:105:18: error: unknown type name 'cookie_io_functions_t'
  105 |     static const cookie_io_functions_t vtable = {
      |                  ^~~~~~~~~~~~~~~~~~~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:106:9: error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion]
  106 |         NULL,
      |         ^~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:106:9: note: (near initialization for 'vtable')
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:107:9: warning: excess elements in scalar initializer
  107 |         write_to_buffer,
      |         ^~~~~~~~~~~~~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:107:9: note: (near initialization for 'vtable')
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:108:9: warning: excess elements in scalar initializer
  108 |         NULL,
      |         ^~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:108:9: note: (near initialization for 'vtable')
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:109:9: warning: excess elements in scalar initializer
  109 |         close_buffer
      |         ^~~~~~~~~~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:109:9: note: (near initialization for 'vtable')
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:111:12: error: implicit declaration of function 'fopencookie' [-Wimplicit-function-declaration]
  111 |     return fopencookie(b, "w", vtable);
      |            ^~~~~~~~~~~
managed_components/espressif__cbor/tinycbor/src/open_memstream.c:111:12: error: returning 'int' from a function with return type 'FILE *' makes pointer from integer without a cast [-Wint-conversion]
  111 |     return fopencookie(b, "w", vtable);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling .pioenvs/test-esp32c6-2/managed_components/espressif__mdns/mdns_debug.c.o
*** [.pioenvs/test-esp32c6-2/managed_components/espressif__cbor/tinycbor/src/open_memstream.c.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions