Skip to content

Regression of build 2.5.0 library with recent Core 3.3.11 for ESP32-C5 target #1174

Description

@lyusupov

NimBLE 2.5.0 build of a sketch for C5 is fine with Core 3.3.10

However, with Core 3.3.11 it gives a failure upon linking stage :

/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gatts.c.o: in function `ble_gatts_connection_broken':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gatts.c:1574:(.text.ble_gatts_connection_broken+0x6c): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gatts.c.o: in function `ble_gatts_start':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gatts.c:1744:(.text.ble_gatts_start+0xb2): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gatts.c:1745:(.text.ble_gatts_start+0xc0): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gatts.c.o: in function `ble_gatts_conn_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gatts.c:1855:(.text.ble_gatts_conn_init+0x1e): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_prep_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:2533:(.text.ble_att_svr_prep_free+0x1c): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_entry_alloc':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:75:(.text.ble_att_svr_register+0x24): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_rx_prep_write':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:2843:(.text.ble_att_svr_rx_prep_write+0xca): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_entry_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:100:(.text.ble_att_svr_reset+0x46): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:100:(.text.ble_att_svr_reset+0x5c): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_start':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:3287:(.text.ble_att_svr_start+0x4a): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_att_svr.c.o: in function `ble_att_svr_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_att_svr.c:3315:(.text.ble_att_svr_init+0x22): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gap.c.o: in function `ble_gap_update_entry_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gap.c:7718:(.text.ble_gap_update_entry_free+0xc): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gap.c.o: in function `ble_gap_update_params':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gap.c:7996:(.text.ble_gap_update_params+0xa0): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gap.c.o: in function `ble_gap_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gap.c:9045:(.text.ble_gap_init+0xb0): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gattc.c.o: in function `ble_gattc_proc_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gattc.c:778:(.text.ble_gattc_proc_free+0x54): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gattc.c.o: in function `ble_gattc_proc_alloc':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gattc.c:722:(.text.ble_gattc_proc_alloc+0xe): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_gattc.c.o: in function `ble_gattc_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_gattc.c:5412:(.text.ble_gattc_init+0x2c): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs.c.o: in function `ble_hs_event_rx_hci_ev':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs.c:549:(.text.ble_hs_event_rx_hci_ev+0x2e): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs.c.o: in function `ble_hs_enqueue_hci_event':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs.c:611:(.text.ble_hs_enqueue_hci_event+0x12): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs.c.o: in function `ble_hs_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs.c:784:(.text.ble_hs_init+0x24): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs_conn.c.o: in function `ble_hs_conn_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs_conn.c:262:(.text.ble_hs_conn_free+0x32): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs_conn.c.o: in function `ble_hs_conn_alloc':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs_conn.c:152:(.text.ble_hs_conn_alloc+0x12): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_hs_conn.c.o: in function `ble_hs_conn_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_hs_conn.c:581:(.text.ble_hs_conn_init+0x22): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap.c.o: in function `ble_l2cap_chan_alloc':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap.c:61:(.text.ble_l2cap_chan_alloc+0x12): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap.c.o: in function `ble_l2cap_chan_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap.c:89:(.text.ble_l2cap_chan_free+0x1c): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap.c.o: in function `ble_l2cap_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap.c:507:(.text.ble_l2cap_init+0x20): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap_sig.c.o: in function `ble_l2cap_sig_proc_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap_sig.c:1866:(.text.ble_l2cap_sig_proc_free+0xc): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap_sig.c.o: in function `ble_l2cap_sig_update':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap_sig.c:560:(.text.ble_l2cap_sig_update+0x52): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_l2cap_sig.c.o: in function `ble_l2cap_sig_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_l2cap_sig.c:2018:(.text.ble_l2cap_sig_init+0x2a): undefined reference to `r_os_mempool_init'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_sm.c.o: in function `ble_sm_proc_alloc':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_sm.c:400:(.text.ble_sm_proc_alloc+0xe): undefined reference to `r_os_memblock_get'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_sm.c.o: in function `ble_sm_proc_free':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_sm.c:2401:(.text.ble_sm_proc_free+0xa): undefined reference to `r_os_memblock_put'
/home/codespace/.arduino15/packages/esp32/tools/esp-rv32/2601/bin/../lib/gcc/riscv32-esp-elf/14.2.0/../../../../riscv32-esp-elf/bin/ld: /tmp/arduino/libraries/NimBLE-Arduino-2.5.0/nimble/nimble/host/src/ble_sm.c.o: in function `ble_sm_init':
/home/codespace/Arduino/libraries/NimBLE-Arduino-2.5.0/src/nimble/nimble/host/src/ble_sm.c:3095:(.text.ble_sm_init+0x30): undefined reference to `r_os_mempool_init'
collect2: error: ld returned 1 exit status

To reproduce

$ arduino-cli core install esp32:esp32@3.3.11
$ export BOARD=esp32:esp32:esp32c5:PartitionScheme=huge_ap
$ arduino-cli  compile -v --build-path=/tmp/arduino -b "$BOARD" NimBLE-Arduino-2.5.0/examples/NimBLE_Client/NimBLE_Client.ino

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions