platformio-core icon indicating copy to clipboard operation
platformio-core copied to clipboard

Remote Builds fail with `symlink` libs

Open sticilface opened this issue 1 year ago • 0 comments

  • [ X] PlatformIO Core. If you’ve found a bug, please provide an information below.

Configuration

Operating system: MacOS

PlatformIO Version (platformio --version): PlatformIO Core, version 6.1.15

Description of problem

Attempting to remove lib_extra_dirs which is depreciated. I've added lib as symlinks as below lib_deps = ${env.lib_deps} adafruit/Adafruit MCP23017 Arduino Library@^2.3.2 symlink://../../CamperOs/HexDump/ symlink://../../CamperOs/MelvanRegistry/ symlink://../../CamperOs/MelvanI2C/ symlink://../../CamperOs/MCP23017wrapper/

Steps to Reproduce

  1. Build project works.
  2. Upload to remote target fails. Project builds locally, and then fails remotely due to symlink.
    ` * Executing task in folder Prototype: platformio remote run --target upload --environment server

Building project locally Processing server (board: lolin_d32_pro; platform: espressif32; framework: arduino)

Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_d32_pro.html PLATFORM: Espressif 32 (3.4.0+sha.f88b4b3) > WEMOS LOLIN D32 PRO HARDWARE: ESP32 240MHz, 320KB 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.20004.220825 (2.0.4)
  • tool-esptoolpy @ 1.30300.0 (3.3.0)
  • tool-openocd-esp32 @ 2.1100.20220706 (11.0)
  • toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 41 compatible libraries Scanning dependencies... Dependency Graph |-- PJON @ 13.1.0 |-- MelvanTypes @ 1.0.0 |-- Adafruit MCP23017 Arduino Library @ 2.3.2 |-- HexDump @ 1.0.0 |-- MelvanRegistry @ 1.0.0 |-- MelvanI2C @ 1.0.0 |-- MCP23017wrapper @ 1.0.0 |-- Wire @ 2.0.0 Building in release mode Retrieving maximum program size .pio/build/server/firmware.elf Checking size .pio/build/server/firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [= ] 5.6% (used 18264 bytes from 327680 bytes) Flash: [== ] 22.8% (used 298665 bytes from 1310720 bytes) =============================================================================== [SUCCESS] Took 1.76 seconds ===============================================================================

Environment Status Duration


server SUCCESS 00:00:01.762 =============================================================================== 1 succeeded in 00:00:01.762 =============================================================================== Uploading firmware remotely Processing server (board: lolin_d32_pro; platform: espressif32; framework: arduino)

Removing unused dependencies... Library Manager: Installing symlink:///Users/amelvin/Documents/projects/Campervan/CamperOs/NetworkingTypes PackageException: Can not create a symbolic link for /Users/amelvin/Documents/projects/Campervan/CamperOs/NetworkingTypes, not a directory`

Additional info

Why is build locally requiring the remote to resolve local symlinks. --force-remote also fails which is more expected. pioremote should identify local resources and copy them there as it does for other resources.

sticilface avatar Aug 18 '24 14:08 sticilface