Build error with zenoh-pico library

Hi,

I’m trying to build a zenoh-pico project on an AZ-Delivery-Devkit-V4 ESP32 board. I’m new to platformio, Arduino and zenoh-pico. Just got the eval board and tried to get something running on it by following the instructions for RTOS provided on https://github.com/eclipse-zenoh/zenoh-pico.

I set up a project for AZ-Delivery-Devkit-V4 ESP32 with Arduino as framework. I added the zenoh-pico library to the project and put example code in the main.ccp file.

But the build fails. I have seen this build error in other posts in this forum but cannot apply the solution to my problem. Please help.

Here is the platformio.ini for the project:

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = arduino
monitor_speed = 921600
lib_deps = https://github.com/eclipse-zenoh/zenoh-pico

Here is the output of the build:

Processing az-delivery-devkit-v4 (platform: espressif32; board: az-delivery-devkit-v4; framework: arduino)
-------------------------------------------------------------------------------------------------------
Library Manager: Installing FreeRTOS @ 1.0.0
Library Manager: Warning! More than one package has been found by FreeRTOS @ 1.0.0 requirements:
Library Manager:  - feilipu/FreeRTOS@11.1.0-3
Library Manager:  - mbed-rgrover1/FreeRTOS@0.0.0+sha.8e57f3e9cc89
Library Manager:  - mbed-fep/freertos@0.0.0+sha.62cd296ba2a7
Library Manager: Please specify detailed REQUIREMENTS using package owner and version (shown above) to avoid name conflicts
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/az-delivery-devkit-v4.html
PLATFORM: Espressif 32 (6.12.0) > AZ-Delivery ESP-32 Dev Kit C V4
HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
 - framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b
 - tool-esptoolpy @ 2.40900.250804 (4.9.0)
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Run command: cmake C:\workspace\Development\Zenoh Pico\ESP32-Arduino\ESP32_pub_1\.pio\libdeps\az-delivery-devkit-v4\zenoh-pico ['-DFRAG_MAX_SIZE=4096', '-DBATCH_UNICAST_SIZE=2048', '-DBATCH_MULTICAST_SIZE=2048']
FileNotFoundError: [WinError 2] The system cannot find the file specified:
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 173:     
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\sfdxwge\.platformio\platforms\espressif32\builder\main.py", line 370:
    target_elf = env.BuildProgram()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 63:
    env.ProcessProjectDeps()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 152:
    plb = env.ConfigureProjectLibBuilder()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 1204:
    project.install_dependencies()
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 987:
    if _is_builtin(spec):
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 979:
    for lb in self.env.GetLibBuilders():
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 1115:
    lb = LibBuilderFactory.new(env, lib_dir)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 60:
    obj = globals()[clsname](env, path, verbose=verbose)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 153:
    self.process_extra_options()
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 301:
    self.env.SConscript(
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\workspace\Development\Zenoh Pico\ESP32-Arduino\ESP32_pub_1\.pio\libdeps\az-delivery-devkit-v4\zenoh-pico\extra_script.py", line 156:
    subprocess.run(["cmake", source_dir] + cmake_extra_args_list, cwd=build_dir, check=True)
  File "C:\Users\sfdxwge\.platformio\python3\Lib\subprocess.py", line 548:
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Users\sfdxwge\.platformio\python3\Lib\subprocess.py", line 1026:
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\sfdxwge\.platformio\python3\Lib\subprocess.py", line 1538:
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
===================================== [FAILED] Took 3.97 seconds =====================================

It clearly requires you to have Cmake installed and in your PATH to be able to use that library

Hi Max,

Thanks for your help!
I have installed cmake. Now I am having trouble with nmake. How do I solve this problem?

Processing az-delivery-devkit-v4 (platform: espressif32; board: az-delivery-devkit-v4; framework: arduino)
----------------------------------------------------------------------------------------
Library Manager: Installing FreeRTOS @ 1.0.0
Library Manager: Warning! More than one package has been found by FreeRTOS @ 1.0.0 requirements:
Library Manager:  - feilipu/FreeRTOS@11.1.0-3
Library Manager:  - mbed-rgrover1/FreeRTOS@0.0.0+sha.8e57f3e9cc89
Library Manager:  - mbed-fep/freertos@0.0.0+sha.62cd296ba2a7
Library Manager: Please specify detailed REQUIREMENTS using package owner and version (shown above) to avoid name conflicts
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/az-delivery-devkit-v4.html
PLATFORM: Espressif 32 (6.12.0) > AZ-Delivery ESP-32 Dev Kit C V4
HARDWARE: ESP32 240MHz, 520KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b 
 - tool-esptoolpy @ 2.40900.250804 (4.9.0) 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Run command: cmake C:\workspace\Development\Zenoh Pico\ESP32-Arduino\ESP32_pub_1\.pio\libdeps\az-delivery-devkit-v4\zenoh-pico ['-DFRAG_MAX_SIZE=4096', '-DBATCH_UNICAST_SIZE=2048', '-DBATCH_MULTICAST_SIZE=2048']
-- Configuring incomplete, errors occurred!
CMake Error at CMakeLists.txt:18 (project):
  Running

   'nmake' '-?'

  failed with:

   no such file or directory


CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CalledProcessError: Command '['cmake', 'C:\\workspace\\Development\\Zenoh Pico\\ESP32-Arduino\\ESP32_pub_1\\.pio\\libdeps\\az-delivery-devkit-v4\\zenoh-pico', '-DFRAG_MAX_SIZE=4096', '-DBATCH_UNICAST_SIZE=2048', '-DBATCH_MULTICAST_SIZE=2048']' returned non-zero exit status 1.:
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\main.py", line 173:
    env.SConscript("$BUILD_SCRIPT")
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\Users\sfdxwge\.platformio\platforms\espressif32\builder\main.py", line 370:  
    target_elf = env.BuildProgram()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 63:
    env.ProcessProjectDeps()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piobuild.py", line 152:
    plb = env.ConfigureProjectLibBuilder()
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 1204:
    project.install_dependencies()
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 987:
    if _is_builtin(spec):
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 979:
    for lb in self.env.GetLibBuilders():
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Util\envs.py", line 252:
    return self.method(*nargs, **kwargs)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 1115:
    lb = LibBuilderFactory.new(env, lib_dir)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 60:
    obj = globals()[clsname](env, path, verbose=verbose)
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 153:
    self.process_extra_options()
  File "C:\Users\sfdxwge\.platformio\penv\Lib\site-packages\platformio\builder\tools\piolib.py", line 301:
    self.env.SConscript(
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 620:
    return _SConscript(self.fs, *files, **subst_kw)
  File "C:\Users\sfdxwge\.platformio\packages\tool-scons\scons-local-4.8.1\SCons\Script\SConscript.py", line 280:
    exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
  File "C:\workspace\Development\Zenoh Pico\ESP32-Arduino\ESP32_pub_1\.pio\libdeps\az-delivery-devkit-v4\zenoh-pico\extra_script.py", line 156:
    subprocess.run(["cmake", source_dir] + cmake_extra_args_list, cwd=build_dir, check=True)
  File "C:\Users\sfdxwge\.platformio\python3\Lib\subprocess.py", line 571:
    raise CalledProcessError(retcode, process.args,
============================== [FAILED] Took 4.80 seconds ==============================

Please add additional build flag in the file.

build_flags =
    -DZENOH_COMPILER_GCC
    -DZENOH_ARDUINO_ESP32