espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.56k stars 7.27k forks source link

Build process tries to overwrite openocd stub binaries in the esp-idf installation (IDFGH-13914) #14754

Open nomis opened 2 hours ago

nomis commented 2 hours ago

Answers checklist.

IDF version.

v5.4-dev-3602-ga97a7b0962

Operating System used.

Linux

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

None

What is the expected behavior?

Building a project doesn't try to modify part of the esp-idf installation

What is the actual behavior?

Build process tries to overwrite /opt/esp/idf/components/esp_system/openocd_stub_bins/... that the user has no access to

Steps to reproduce.

Using the espressif/idf:latest docker image, build https://github.com/nomis/candle-dribbler/releases/tag/0.7.3 with idf.py for either ESP32-C6 or ESP32-H2 as a non-root user.

The build will fail when it tries to overwrite part of the esp-idf installation at /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_image.h

Build or installation Logs.

[2024-10-17T10:11:20.514Z] Activating ESP-IDF 5.4
[2024-10-17T10:11:20.514Z] * Checking python version ... 3.12.3
[2024-10-17T10:11:20.886Z] * Checking python dependencies ... OK
[2024-10-17T10:11:20.886Z] * Deactivating the current ESP-IDF environment (if any) ... OK
[2024-10-17T10:11:20.886Z] * Establishing a new ESP-IDF environment ... OK
[2024-10-17T10:11:21.259Z] * Identifying shell ... sh
[2024-10-17T10:11:21.259Z] * Detecting outdated tools in system ... OK - no outdated tools found
[2024-10-17T10:11:21.259Z] 
[2024-10-17T10:11:21.259Z] Done! You can now compile ESP-IDF projects.
[2024-10-17T10:11:21.259Z] Go to the project directory and run:
[2024-10-17T10:11:21.259Z] 
[2024-10-17T10:11:21.259Z]   idf.py build
[2024-10-17T10:11:21.259Z] + idf.py --version
[2024-10-17T10:11:23.746Z] ESP-IDF v5.4-dev-3602-ga97a7b0962
[2024-10-17T10:11:23.746Z] + idf.py set-target esp32c6
[2024-10-17T10:11:24.547Z] Adding "set-target"'s dependency "fullclean" to list of commands with default set of options.
[2024-10-17T10:11:24.547Z] Executing action: fullclean
[2024-10-17T10:11:24.547Z] Build directory '/home/jenkins/agent/workspace/candle-dribbler_main/build' not found. Nothing to clean.
[2024-10-17T10:11:24.547Z] Executing action: set-target
[2024-10-17T10:11:24.547Z] Set Target to: esp32c6, new sdkconfig will be created.
[2024-10-17T10:11:24.547Z] Running cmake in directory /home/jenkins/agent/workspace/candle-dribbler_main/build
[2024-10-17T10:11:24.547Z] Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/opt/esp/python_env/idf5.4_py3.12_env/bin/python -DESP_PLATFORM=1 -DIDF_TARGET=esp32c6 -DCCACHE_ENABLE=1 /home/jenkins/agent/workspace/candle-dribbler_main"...
[2024-10-17T10:11:24.547Z] -- Found Git: /usr/bin/git (found version "2.43.0")
[2024-10-17T10:11:26.627Z] -- ccache will be used for faster recompilation
[2024-10-17T10:11:26.627Z] -- The C compiler identification is GNU 14.2.0
[2024-10-17T10:11:26.627Z] -- The CXX compiler identification is GNU 14.2.0
[2024-10-17T10:11:26.627Z] -- The ASM compiler identification is GNU
[2024-10-17T10:11:26.627Z] -- Found assembler: /opt/esp/tools/riscv32-esp-elf/esp-14.2.0_20240906/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
[2024-10-17T10:11:27.029Z] -- Detecting C compiler ABI info
[2024-10-17T10:11:27.029Z] -- Detecting C compiler ABI info - done
[2024-10-17T10:11:27.029Z] -- Check for working C compiler: /opt/esp/tools/riscv32-esp-elf/esp-14.2.0_20240906/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
[2024-10-17T10:11:27.029Z] -- Detecting C compile features
[2024-10-17T10:11:27.029Z] -- Detecting C compile features - done
[2024-10-17T10:11:27.029Z] -- Detecting CXX compiler ABI info
[2024-10-17T10:11:27.029Z] -- Detecting CXX compiler ABI info - done
[2024-10-17T10:11:27.029Z] -- Check for working CXX compiler: /opt/esp/tools/riscv32-esp-elf/esp-14.2.0_20240906/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
[2024-10-17T10:11:27.029Z] -- Detecting CXX compile features
[2024-10-17T10:11:27.029Z] -- Detecting CXX compile features - done
[2024-10-17T10:11:27.029Z] -- Building ESP-IDF components for target esp32c6
[2024-10-17T10:11:27.428Z] NOTICE: Current idf-component-manager default lock file version is 2.0.0, but found 1.0.0 in /home/jenkins/agent/workspace/candle-dribbler_main/dependencies.lock.esp32c6. Recreating lock file with the current version.
[2024-10-17T10:11:27.428Z] Manifest files have changed, solving dependencies.
[2024-10-17T10:11:32.739Z] .......NOTICE: Updating lock file at /home/jenkins/agent/workspace/candle-dribbler_main/dependencies.lock.esp32c6
[2024-10-17T10:11:32.739Z] Processing 5 dependencies:
[2024-10-17T10:11:32.739Z] [1/5] espressif/esp-zboss-lib (1.2.3)
[2024-10-17T10:11:32.739Z] [2/5] espressif/esp-zigbee-lib (1.2.3)
[2024-10-17T10:11:32.739Z] [3/5] espressif/led_strip (2.5.2)
[2024-10-17T10:11:32.739Z] [4/5] espressif/zlib (1.2.13~1)
[2024-10-17T10:11:32.739Z] [5/5] idf (5.4.0)
[2024-10-17T10:11:34.018Z] -- Project sdkconfig file /home/jenkins/agent/workspace/candle-dribbler_main/sdkconfig
[2024-10-17T10:11:34.019Z] Loading defaults file /home/jenkins/agent/workspace/candle-dribbler_main/sdkconfig.defaults...
[2024-10-17T10:11:34.019Z] Loading defaults file /home/jenkins/agent/workspace/candle-dribbler_main/sdkconfig.defaults.esp32c6...
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/riscv/ld/rom.api.ld
[2024-10-17T10:11:35.577Z] -- Found Python3: /opt/esp/python_env/idf5.4_py3.12_env/bin/python (found version "3.12.3") found components: Interpreter
[2024-10-17T10:11:35.577Z] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
[2024-10-17T10:11:35.577Z] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
[2024-10-17T10:11:35.577Z] -- Found Threads: TRUE
[2024-10-17T10:11:35.577Z] -- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS
[2024-10-17T10:11:35.577Z] -- Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS - Success
[2024-10-17T10:11:35.577Z] -- App "candle-dribbler" version: ff64425
[2024-10-17T10:11:35.577Z] -- Adding linker script /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/ld/memory.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/ld/sections.ld.in
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.api.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.rvfp.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.wdt.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.systimer.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.version.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.phy.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.coexist.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.net80211.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.pp.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib-normal.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/esp_rom/esp32c6/ld/esp32c6.rom.heap.ld
[2024-10-17T10:11:35.577Z] -- Adding linker script /opt/esp/idf/components/soc/esp32c6/ld/esp32c6.peripherals.ld
[2024-10-17T10:11:35.577Z] a97a7b0962-ff64425-1.2.3-2024-10-17 10:11:34 UTC
[2024-10-17T10:11:36.125Z] -- Components: app_trace app_update bootloader bootloader_support bt cmock console cxx driver efuse esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_driver_ana_cmpr esp_driver_cam esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_isp esp_driver_jpeg esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_ppa esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_touch_sens esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_security esp_system esp_timer esp_vfs_console esp_wifi espcoredump espressif__esp-zboss-lib espressif__esp-zigbee-lib espressif__led_strip espressif__zlib esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread partition_table protobuf-c protocomm pthread riscv rt sdmmc soc spi_flash spiffs src tcp_transport ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant
[2024-10-17T10:11:36.125Z] -- Component paths: /opt/esp/idf/components/app_trace /opt/esp/idf/components/app_update /opt/esp/idf/components/bootloader /opt/esp/idf/components/bootloader_support /opt/esp/idf/components/bt /opt/esp/idf/components/cmock /opt/esp/idf/components/console /opt/esp/idf/components/cxx /opt/esp/idf/components/driver /opt/esp/idf/components/efuse /opt/esp/idf/components/esp-tls /opt/esp/idf/components/esp_adc /opt/esp/idf/components/esp_app_format /opt/esp/idf/components/esp_bootloader_format /opt/esp/idf/components/esp_coex /opt/esp/idf/components/esp_common /opt/esp/idf/components/esp_driver_ana_cmpr /opt/esp/idf/components/esp_driver_cam /opt/esp/idf/components/esp_driver_dac /opt/esp/idf/components/esp_driver_gpio /opt/esp/idf/components/esp_driver_gptimer /opt/esp/idf/components/esp_driver_i2c /opt/esp/idf/components/esp_driver_i2s /opt/esp/idf/components/esp_driver_isp /opt/esp/idf/components/esp_driver_jpeg /opt/esp/idf/components/esp_driver_ledc /opt/esp/idf/components/esp_driver_mcpwm /opt/esp/idf/components/esp_driver_parlio /opt/esp/idf/components/esp_driver_pcnt /opt/esp/idf/components/esp_driver_ppa /opt/esp/idf/components/esp_driver_rmt /opt/esp/idf/components/esp_driver_sdio /opt/esp/idf/components/esp_driver_sdm /opt/esp/idf/components/esp_driver_sdmmc /opt/esp/idf/components/esp_driver_sdspi /opt/esp/idf/components/esp_driver_spi /opt/esp/idf/components/esp_driver_touch_sens /opt/esp/idf/components/esp_driver_tsens /opt/esp/idf/components/esp_driver_uart /opt/esp/idf/components/esp_driver_usb_serial_jtag /opt/esp/idf/components/esp_eth /opt/esp/idf/components/esp_event /opt/esp/idf/components/esp_gdbstub /opt/esp/idf/components/esp_hid /opt/esp/idf/components/esp_http_client /opt/esp/idf/components/esp_http_server /opt/esp/idf/components/esp_https_ota /opt/esp/idf/components/esp_https_server /opt/esp/idf/components/esp_hw_support /opt/esp/idf/components/esp_lcd /opt/esp/idf/components/esp_local_ctrl /opt/esp/idf/components/esp_mm /opt/esp/idf/components/esp_netif /opt/esp/idf/components/esp_netif_stack /opt/esp/idf/components/esp_partition /opt/esp/idf/components/esp_phy /opt/esp/idf/components/esp_pm /opt/esp/idf/components/esp_psram /opt/esp/idf/components/esp_ringbuf /opt/esp/idf/components/esp_rom /opt/esp/idf/components/esp_security /opt/esp/idf/components/esp_system /opt/esp/idf/components/esp_timer /opt/esp/idf/components/esp_vfs_console /opt/esp/idf/components/esp_wifi /opt/esp/idf/components/espcoredump /home/jenkins/agent/workspace/candle-dribbler_main/managed_components/espressif__esp-zboss-lib /home/jenkins/agent/workspace/candle-dribbler_main/managed_components/espressif__esp-zigbee-lib /home/jenkins/agent/workspace/candle-dribbler_main/managed_components/espressif__led_strip /home/jenkins/agent/workspace/candle-dribbler_main/managed_components/espressif__zlib /opt/esp/idf/components/esptool_py /opt/esp/idf/components/fatfs /opt/esp/idf/components/freertos /opt/esp/idf/components/hal /opt/esp/idf/components/heap /opt/esp/idf/components/http_parser /opt/esp/idf/components/idf_test /opt/esp/idf/components/ieee802154 /opt/esp/idf/components/json /opt/esp/idf/components/log /opt/esp/idf/components/lwip /opt/esp/idf/components/mbedtls /opt/esp/idf/components/mqtt /opt/esp/idf/components/newlib /opt/esp/idf/components/nvs_flash /opt/esp/idf/components/nvs_sec_provider /opt/esp/idf/components/openthread /opt/esp/idf/components/partition_table /opt/esp/idf/components/protobuf-c /opt/esp/idf/components/protocomm /opt/esp/idf/components/pthread /opt/esp/idf/components/riscv /opt/esp/idf/components/rt /opt/esp/idf/components/sdmmc /opt/esp/idf/components/soc /opt/esp/idf/components/spi_flash /opt/esp/idf/components/spiffs /home/jenkins/agent/workspace/candle-dribbler_main/src /opt/esp/idf/components/tcp_transport /opt/esp/idf/components/ulp /opt/esp/idf/components/unity /opt/esp/idf/components/usb /opt/esp/idf/components/vfs /opt/esp/idf/components/wear_levelling /opt/esp/idf/components/wifi_provisioning /opt/esp/idf/components/wpa_supplicant
[2024-10-17T10:11:36.125Z] -- Configuring done (10.8s)
[2024-10-17T10:11:36.125Z] -- Generating done (0.5s)
[2024-10-17T10:11:36.125Z] -- Build files have been written to: /home/jenkins/agent/workspace/candle-dribbler_main/build
[2024-10-17T10:11:36.125Z] + idf.py build
[2024-10-17T10:11:36.528Z] Executing action: all (aliases: build)
[2024-10-17T10:11:36.528Z] Running ninja in directory /home/jenkins/agent/workspace/candle-dribbler_main/build
[2024-10-17T10:11:36.528Z] Executing "ninja all"...
[2024-10-17T10:11:36.528Z] [1/1058] Generating project_elf_src_esp32c6.c
[2024-10-17T10:11:36.528Z] [2/1058] Copying /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_data.inc to /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_data.inc
[2024-10-17T10:11:36.528Z] FAILED: /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_data.inc 
[2024-10-17T10:11:36.528Z] cd /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/openocd_stub_bins && /opt/esp/tools/cmake/3.30.2/bin/cmake -E copy_if_different /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_data.inc /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_data.inc
[2024-10-17T10:11:36.528Z] Error copying file (if different) from "/opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_data.inc" to "/opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_data.inc".
[2024-10-17T10:11:36.528Z] [3/1058] Copying /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_code.inc to /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_code.inc
[2024-10-17T10:11:36.528Z] FAILED: /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_code.inc 
[2024-10-17T10:11:36.528Z] cd /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/openocd_stub_bins && /opt/esp/tools/cmake/3.30.2/bin/cmake -E copy_if_different /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_code.inc /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_code.inc
[2024-10-17T10:11:36.528Z] Error copying file (if different) from "/opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_binary_code.inc" to "/opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_binary_code.inc".
[2024-10-17T10:11:36.528Z] [4/1058] Copying /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_image.h to /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_image.h
[2024-10-17T10:11:36.528Z] FAILED: /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_image.h 
[2024-10-17T10:11:36.528Z] cd /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/openocd_stub_bins && /opt/esp/tools/cmake/3.30.2/bin/cmake -E copy_if_different /opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_image.h /opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_image.h
[2024-10-17T10:11:36.528Z] Error copying file (if different) from "/opt/esp/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/../espressif/stub_bins/esp32c6/stub_flash_idf_image.h" to "/opt/esp/idf/components/esp_system/openocd_stub_bins/stub_flash_idf_image.h".
[2024-10-17T10:11:36.528Z] [5/1058] Generating /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/ld/memory.ld linker script...
[2024-10-17T10:11:36.528Z] [6/1058] Generating /home/jenkins/agent/workspace/candle-dribbler_main/build/esp-idf/esp_system/ld/sections.ld.in linker script...
[2024-10-17T10:11:36.528Z] [7/1058] Generating ../../ota_data_initial.bin
[2024-10-17T10:11:36.528Z] [8/1058] Generating ../../partition_table/partition-table.bin
[2024-10-17T10:11:36.528Z] Partition table binary generated. Contents:
[2024-10-17T10:11:36.528Z] *******************************************************************************
[2024-10-17T10:11:36.528Z] # ESP-IDF Partition Table
[2024-10-17T10:11:36.528Z] # Name, Type, SubType, Offset, Size, Flags
[2024-10-17T10:11:36.528Z] phy_init,data,phy,0x9000,4K,
[2024-10-17T10:11:36.528Z] zb_fct,data,fat,0xa000,4K,
[2024-10-17T10:11:36.528Z] otadata,data,ota,0xc000,8K,
[2024-10-17T10:11:36.528Z] nvs,data,nvs,0xe000,48K,
[2024-10-17T10:11:36.528Z] zb_storage,data,fat,0x1a000,152K,
[2024-10-17T10:11:36.528Z] coredump,data,coredump,0x40000,256K,
[2024-10-17T10:11:36.528Z] spiffs,data,spiffs,0x80000,1536K,
[2024-10-17T10:11:36.528Z] factory,app,factory,0x200000,2M,
[2024-10-17T10:11:36.528Z] app0,app,ota_0,0x400000,2M,
[2024-10-17T10:11:36.528Z] app1,app,ota_1,0x600000,2M,
[2024-10-17T10:11:36.528Z] *******************************************************************************
[2024-10-17T10:11:36.528Z] ninja: build stopped: subcommand failed.
[2024-10-17T10:11:36.927Z] ninja failed with exit code 1, output of the command is in the /home/jenkins/agent/workspace/candle-dribbler_main/build/log/idf_py_stderr_output_527 and /home/jenkins/agent/workspace/candle-dribbler_main/build/log/idf_py_stdout_output_527
[2024-10-17T10:11:36.927Z] + exit 1

More Information.

The last successful build was with v5.4-dev-3489-g6e5a178b31 and it looks like f4eec4da48502ce725d6e74f5b5d9c8237aa7abf is the change that broke it.

igrr commented 2 hours ago

We have merged the fix for this yesterday, it should appear on GitHub upon next sync. Sorry for the inconvenience. You can disable CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS as a workaround.