Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to build on exFAT on Linux #366

Closed
untbu opened this issue Jan 23, 2025 · 3 comments · Fixed by #367
Closed

Unable to build on exFAT on Linux #366

untbu opened this issue Jan 23, 2025 · 3 comments · Fixed by #367

Comments

@untbu
Copy link
Contributor

untbu commented Jan 23, 2025

While building, esp-idf automatically creates a python venv. The problem is that on Linux, this venv uses symlinks (python has an option to turn that off, but it doesn't work...), but exFAT does not support symlinks.
It would therefore be good to mention this requirement for symlinks in the README (or maybe the README of esp-idf-template?).

@ivmarkov
Copy link
Collaborator

I do not understand your issue. What does the python venv has to do with exFAT supporting or not supporting symlinks?

Are you trying to place the build artefact and your project on exFAT?

@untbu
Copy link
Contributor Author

untbu commented Jan 23, 2025

My project and the .embuild-folder and therefore also the venv in .embuild/espressif/python_env/idf5.2_py3.10_env are on exFAT and when building the example I always get this error:

Error: [Errno 1] Operation not permitted: 'lib' -> '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/python_env/idf5.2_py3.10_env/lib64'
  Traceback (most recent call last):
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2841, in <module>
      main(sys.argv[1:])
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2833, in main
      action_func(args)
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2239, in action_install_python_env
      subprocess.check_call([sys.executable, '-m', 'venv',
    File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'venv', '--clear', '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/python_env/idf5.2_py3.10_env']' returned non-zero exit status 1.
  Error: Could not install esp-idf
complete log
   Compiling compiler_builtins v0.1.143
   Compiling object v0.36.7
   Compiling proc-macro2 v1.0.93
   Compiling rustc-std-workspace-core v1.99.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
   Compiling libc v0.2.169
   Compiling serde v1.0.217
   Compiling aho-corasick v1.1.3
   Compiling crossbeam-utils v0.8.21
   Compiling clang-sys v1.8.1
   Compiling rustix v0.38.44
   Compiling rustversion v1.0.19
   Compiling bstr v1.11.3
   Compiling prettyplease v0.2.29
   Compiling syn v1.0.109
   Compiling serde_json v1.0.137
   Compiling either v1.13.0
   Compiling nix v0.29.0
   Compiling linux-raw-sys v0.4.15
   Compiling thiserror v1.0.69
   Compiling walkdir v2.5.0
   Compiling libloading v0.8.6
   Compiling nom v7.1.3
   Compiling cvt v0.1.2
   Compiling once_cell v1.20.2
   Compiling ryu v1.0.18
   Compiling camino v1.1.9
   Compiling bindgen v0.71.1
   Compiling autocfg v1.4.0
   Compiling heck v0.4.1
   Compiling std v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std)
   Compiling semver v1.0.25
   Compiling itoa v1.0.14
   Compiling anyhow v1.0.95
   Compiling itertools v0.13.0
   Compiling cc v1.2.10
   Compiling normpath v1.3.0
   Compiling rustc-hash v2.1.0
   Compiling home v0.5.11
   Compiling bitflags v1.3.2
   Compiling fastrand v2.3.0
   Compiling iana-time-zone v0.1.61
   Compiling quote v1.0.38
   Compiling unicode-xid v0.2.6
   Compiling alloc v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc)
   Compiling cfg-if v1.0.0
   Compiling crossbeam-epoch v0.9.18
   Compiling unwind v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind)
   Compiling adler2 v2.0.0
   Compiling memchr v2.7.4
   Compiling syn v2.0.96
   Compiling rustc-demangle v0.1.24
   Compiling crossbeam-deque v0.8.6
   Compiling num-traits v0.2.19
   Compiling const_format_proc_macros v0.2.34
   Compiling regex-automata v0.4.9
   Compiling cmake v0.1.52
   Compiling chrono v0.4.39
   Compiling getrandom v0.2.15
   Compiling filetime v0.2.25
   Compiling cexpr v0.6.0
   Compiling tempfile v3.15.0
   Compiling which v4.4.2
   Compiling fs_at v0.2.1
   Compiling rustc-std-workspace-alloc v1.99.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
   Compiling panic_unwind v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind)
   Compiling panic_abort v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort)
   Compiling gimli v0.31.1
   Compiling std_detect v0.1.5 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch/crates/std_detect)
   Compiling hashbrown v0.15.2
   Compiling miniz_oxide v0.8.2
   Compiling remove_dir_all v0.8.4
   Compiling strum_macros v0.24.3
   Compiling globset v0.4.15
   Compiling regex v1.11.1
   Compiling ignore v0.4.23
   Compiling strum v0.24.1
   Compiling addr2line v0.24.2
   Compiling globwalk v0.8.1
   Compiling serde_derive v1.0.217
   Compiling thiserror-impl v1.0.69
   Compiling build-time v0.1.3
   Compiling proc_macro v0.0.0 (/home/untbu/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro)
   Compiling const_format v0.2.34
   Compiling cargo-platform v0.1.9
   Compiling envy v0.4.2
   Compiling cargo_metadata v0.18.1
   Compiling embuild v0.33.0
   Compiling esp-idf-sys v0.36.1 (/media/untbu/Ventoy/Projects/esp-idf-sys)
error: failed to run custom build command for `esp-idf-sys v0.36.1 (/media/untbu/Ventoy/Projects/esp-idf-sys)`

Caused by:
  process didn't exit successfully: `/media/untbu/Ventoy/Projects/esp-idf-sys/target/debug/build/esp-idf-sys-999b1b71e502fd24/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG
  cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS
  cargo:rerun-if-env-changed=MCU
  cargo:rerun-if-env-changed=ESP_IDF_SYS_ROOT_CRATE
  cargo:rerun-if-env-changed=ESP_IDF_VERSION
  cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY
  cargo:rerun-if-env-changed=ESP_IDF_CMAKE_GENERATOR
  cargo:rerun-if-env-changed=IDF_PATH
  cargo:rerun-if-env-changed=EXTRA-COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENTS
  cargo:rerun-if-env-changed=ESP_IDF_COMPONENT_MANAGER
  Submodule path 'components/bootloader/subproject/components/micro-ecc/micro-ecc': checked out '24c60e243580c7868f4334a1ba3123481fe1aa48'
  Submodule path 'components/bt/controller/lib_esp32': checked out '3bb36a79cdfad65c656b9238e0d46b935775ed72'
  Submodule path 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib': checked out 'e652624750341aca124e9f850e261b0c1ac63529'
  Submodule path 'components/bt/controller/lib_esp32c3_family': checked out 'b8ef2c474d392a88ea7e6626f89acf1fa5f30e4a'
  Submodule path 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib': checked out 'f95513f22be7b21429b01ba05dbfbc98097b5e67'
  Submodule path 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib': checked out '58a293a2b4c305157723908ea29c2776f5803bbc'
  Submodule path 'components/bt/esp_ble_mesh/lib/lib': checked out '4934ca903807dd74f7f808dadcd9a478e18fc6c3'
  Submodule path 'components/bt/host/nimble/nimble': checked out 'd87234ed14144c9dc140a2376a38bf04efb1311d'
  Submodule path 'components/cmock/CMock': checked out 'eeecc49ce8af123cf8ad40efdb9673e37b56230f'
  Submodule path 'components/cmock/CMock/vendor/c_exception': checked out '71b47be7c950f1bf5f7e5303779fa99a16224bb6'
  Submodule path 'components/cmock/CMock/vendor/unity': checked out 'cf949f45ca6d172a177b00da21310607b97bc7a7'
  Submodule path 'components/esp_coex/lib': checked out 'd17141ba292d6a4b7434c5080cb0b0e7ce170fc8'
  Submodule path 'components/esp_phy/lib': checked out '24ea5ada50e3dd8d5d1dbc7219f22b02ba354caf'
  Submodule path 'components/esp_wifi/lib': checked out '81688730aa34a2f4114a9b4786f55f4d4fc8abf8'
  Submodule path 'components/heap/tlsf': checked out 'd2e28f872472ffc6a704faae65ddee1f24e2dfba'
  Submodule path 'components/json/cJSON': checked out 'acc76239bee01d8e9c858ae2cab296704e52d916'
  Submodule path 'components/lwip/lwip': checked out '6bc36ec02001182bd45591c1497f293cdb387666'
  Submodule path 'components/mbedtls/mbedtls': checked out '72aa687352a469044cbb946f3fdb261430e41ce1'
  Submodule path 'components/mqtt/esp-mqtt': checked out 'cac1552e62b0474c162547b7cce345d7cd1aecfe'
  Submodule path 'components/openthread/lib': checked out '203c78501e9a6ea9ca3a929e6f9b6b9691ef16ee'
  Submodule path 'components/openthread/openthread': checked out 'f32c18bc0840f400182456e58ae3900fc2fb4af7'
  Submodule path 'components/protobuf-c/protobuf-c': checked out 'abc67a11c6db271bedbb9f58be85d6f4e2ea8389'
  Submodule path 'components/spiffs/spiffs': checked out '0dbb3f71c5f6fae3747a9d935372773762baf852'
  Submodule path 'components/unity/unity': checked out '7d2bf62b7e6afaf38153041a9d53c21aeeca9a25'
  Creating a new Python environment in /media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/python_env/idf5.2_py3.10_env

  --- stderr
  Build configuration: BuildConfig {
      esp_idf_tools_install_dir: None,
      esp_idf_sdkconfig: None,
      esp_idf_sdkconfig_defaults: Some(
          [
              ".github/configs/sdkconfig.defaults",
          ],
      ),
      mcu: Some(
          "esp32c3",
      ),
      native: NativeConfig {
          esp_idf_version: Some(
              Tag(
                  "v5.2.3",
              ),
          ),
          esp_idf_repository: None,
          esp_idf_cmake_generator: None,
          idf_path: None,
          extra_components: [],
          esp_idf_components: None,
          esp_idf_component_manager: None,
      },
      esp_idf_sys_root_crate: None,
  }
  Using managed esp-idf repository: RemoteSdk { repo_url: None, git_ref: Tag("v5.2.3") }
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3'...
  Note: switching to 'c9763f62dd00c887a1a8fafe388db868a7e44069'.

  You are in 'detached HEAD' state. You can look around, make experimental
  changes and commit them, and you can discard any commits you make in this
  state without impacting any branches by switching back to a branch.

  If you want to create a new branch to retain commits you create, you may
  do so (now or later) by using -c with the switch command. Example:

    git switch -c <new-branch-name>

  Or undo this operation with:

    git switch -

  Turn off this advice by setting config variable advice.detachedHead to false

Updating files: 100% (13183/13183), done.
  Submodule 'components/bootloader/subproject/components/micro-ecc/micro-ecc' (https://github.com/kmackay/micro-ecc.git) registered for path 'components/bootloader/subproject/components/micro-ecc/micro-ecc'
  Submodule 'components/bt/controller/lib_esp32' (https://github.com/espressif/esp32-bt-lib.git) registered for path 'components/bt/controller/lib_esp32'
  Submodule 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib' (https://github.com/espressif/esp32c2-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c2/esp32c2-bt-lib'
  Submodule 'components/bt/controller/lib_esp32c3_family' (https://github.com/espressif/esp32c3-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c3_family'
  Submodule 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib' (https://github.com/espressif/esp32c6-bt-lib.git) registered for path 'components/bt/controller/lib_esp32c6/esp32c6-bt-lib'
  Submodule 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib' (https://github.com/espressif/esp32h2-bt-lib.git) registered for path 'components/bt/controller/lib_esp32h2/esp32h2-bt-lib'
  Submodule 'components/bt/esp_ble_mesh/lib/lib' (https://github.com/espressif/esp-ble-mesh-lib.git) registered for path 'components/bt/esp_ble_mesh/lib/lib'
  Submodule 'components/bt/host/nimble/nimble' (https://github.com/espressif/esp-nimble.git) registered for path 'components/bt/host/nimble/nimble'
  Submodule 'components/cmock/CMock' (https://github.com/ThrowTheSwitch/CMock.git) registered for path 'components/cmock/CMock'
  Submodule 'components/esp_coex/lib' (https://github.com/espressif/esp-coex-lib.git) registered for path 'components/esp_coex/lib'
  Submodule 'components/esp_phy/lib' (https://github.com/espressif/esp-phy-lib.git) registered for path 'components/esp_phy/lib'
  Submodule 'components/esp_wifi/lib' (https://github.com/espressif/esp32-wifi-lib.git) registered for path 'components/esp_wifi/lib'
  Submodule 'components/heap/tlsf' (https://github.com/espressif/tlsf.git) registered for path 'components/heap/tlsf'
  Submodule 'components/json/cJSON' (https://github.com/DaveGamble/cJSON.git) registered for path 'components/json/cJSON'
  Submodule 'components/lwip/lwip' (https://github.com/espressif/esp-lwip.git) registered for path 'components/lwip/lwip'
  Submodule 'components/mbedtls/mbedtls' (https://github.com/espressif/mbedtls.git) registered for path 'components/mbedtls/mbedtls'
  Submodule 'components/mqtt/esp-mqtt' (https://github.com/espressif/esp-mqtt.git) registered for path 'components/mqtt/esp-mqtt'
  Submodule 'components/openthread/lib' (https://github.com/espressif/esp-thread-lib.git) registered for path 'components/openthread/lib'
  Submodule 'components/openthread/openthread' (https://github.com/espressif/openthread.git) registered for path 'components/openthread/openthread'
  Submodule 'components/protobuf-c/protobuf-c' (https://github.com/protobuf-c/protobuf-c.git) registered for path 'components/protobuf-c/protobuf-c'
  Submodule 'components/spiffs/spiffs' (https://github.com/pellepl/spiffs.git) registered for path 'components/spiffs/spiffs'
  Submodule 'components/unity/unity' (https://github.com/ThrowTheSwitch/Unity.git) registered for path 'components/unity/unity'
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bootloader/subproject/components/micro-ecc/micro-ecc'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/controller/lib_esp32'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/controller/lib_esp32c6/esp32c6-bt-lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/controller/lib_esp32h2/esp32h2-bt-lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/esp_ble_mesh/lib/lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/json/cJSON'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/mqtt/esp-mqtt'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/controller/lib_esp32c2/esp32c2-bt-lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/cmock/CMock'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/esp_phy/lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/lwip/lwip'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/openthread/lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/heap/tlsf'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/mbedtls/mbedtls'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/spiffs/spiffs'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/controller/lib_esp32c3_family'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/esp_coex/lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/protobuf-c/protobuf-c'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/bt/host/nimble/nimble'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/openthread/openthread'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/esp_wifi/lib'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/unity/unity'...
  From https://github.com/kmackay/micro-ecc
   * branch            24c60e243580c7868f4334a1ba3123481fe1aa48 -> FETCH_HEAD
  From https://github.com/espressif/esp32-bt-lib
   * branch            3bb36a79cdfad65c656b9238e0d46b935775ed72 -> FETCH_HEAD
  From https://github.com/espressif/esp32c2-bt-lib
   * branch            e652624750341aca124e9f850e261b0c1ac63529 -> FETCH_HEAD
  From https://github.com/espressif/esp32c3-bt-lib
   * branch            b8ef2c474d392a88ea7e6626f89acf1fa5f30e4a -> FETCH_HEAD
  From https://github.com/espressif/esp32c6-bt-lib
   * branch            f95513f22be7b21429b01ba05dbfbc98097b5e67 -> FETCH_HEAD
  From https://github.com/espressif/esp32h2-bt-lib
   * branch            58a293a2b4c305157723908ea29c2776f5803bbc -> FETCH_HEAD
  From https://github.com/espressif/esp-ble-mesh-lib
   * branch            4934ca903807dd74f7f808dadcd9a478e18fc6c3 -> FETCH_HEAD
  From https://github.com/espressif/esp-nimble
   * branch            d87234ed14144c9dc140a2376a38bf04efb1311d -> FETCH_HEAD
  From https://github.com/ThrowTheSwitch/CMock
   * branch            eeecc49ce8af123cf8ad40efdb9673e37b56230f -> FETCH_HEAD
  Submodule 'vendor/c_exception' (https://github.com/throwtheswitch/cexception.git) registered for path 'components/cmock/CMock/vendor/c_exception'
  Submodule 'vendor/unity' (https://github.com/throwtheswitch/unity.git) registered for path 'components/cmock/CMock/vendor/unity'
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/cmock/CMock/vendor/c_exception'...
  Cloning into '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/components/cmock/CMock/vendor/unity'...
  From https://github.com/throwtheswitch/cexception
   * branch            71b47be7c950f1bf5f7e5303779fa99a16224bb6 -> FETCH_HEAD
  From https://github.com/throwtheswitch/unity
   * branch            cf949f45ca6d172a177b00da21310607b97bc7a7 -> FETCH_HEAD
  From https://github.com/espressif/esp-coex-lib
   * branch            d17141ba292d6a4b7434c5080cb0b0e7ce170fc8 -> FETCH_HEAD
  From https://github.com/espressif/esp-phy-lib
   * branch            24ea5ada50e3dd8d5d1dbc7219f22b02ba354caf -> FETCH_HEAD
  From https://github.com/espressif/esp32-wifi-lib
   * branch            81688730aa34a2f4114a9b4786f55f4d4fc8abf8 -> FETCH_HEAD
  From https://github.com/espressif/tlsf
   * branch            d2e28f872472ffc6a704faae65ddee1f24e2dfba -> FETCH_HEAD
  From https://github.com/DaveGamble/cJSON
   * branch            acc76239bee01d8e9c858ae2cab296704e52d916 -> FETCH_HEAD
  From https://github.com/espressif/esp-lwip
   * branch            6bc36ec02001182bd45591c1497f293cdb387666 -> FETCH_HEAD
  From https://github.com/espressif/mbedtls
   * branch            72aa687352a469044cbb946f3fdb261430e41ce1 -> FETCH_HEAD
  From https://github.com/espressif/esp-mqtt
   * branch            cac1552e62b0474c162547b7cce345d7cd1aecfe -> FETCH_HEAD
  From https://github.com/espressif/esp-thread-lib
   * branch            203c78501e9a6ea9ca3a929e6f9b6b9691ef16ee -> FETCH_HEAD
  From https://github.com/espressif/openthread
   * branch            f32c18bc0840f400182456e58ae3900fc2fb4af7 -> FETCH_HEAD
  From https://github.com/protobuf-c/protobuf-c
   * branch            abc67a11c6db271bedbb9f58be85d6f4e2ea8389 -> FETCH_HEAD
  From https://github.com/pellepl/spiffs
   * branch            0dbb3f71c5f6fae3747a9d935372773762baf852 -> FETCH_HEAD
  From https://github.com/ThrowTheSwitch/Unity
   * branch            7d2bf62b7e6afaf38153041a9d53c21aeeca9a25 -> FETCH_HEAD
  Error: [Errno 1] Operation not permitted: 'lib' -> '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/python_env/idf5.2_py3.10_env/lib64'
  Traceback (most recent call last):
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2841, in <module>
      main(sys.argv[1:])
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2833, in main
      action_func(args)
    File "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py", line 2239, in action_install_python_env
      subprocess.check_call([sys.executable, '-m', 'venv',
    File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'venv', '--clear', '/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/python_env/idf5.2_py3.10_env']' returned non-zero exit status 1.
  Error: Could not install esp-idf

  Caused by:
      command 'env -u IDF_PYTHON_ENV_PATH -u MSYSTEM IDF_TOOLS_PATH="/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif" "python3" "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3/tools/idf_tools.py" "--idf-path" "/media/untbu/Ventoy/Projects/esp-idf-sys/.embuild/espressif/esp-idf/v5.2.3" "--non-interactive" "install-python-env"' exited with non-zero status code 1

Building the exact same code on ext4 works. I also tried to create a venv on exFAT manually, but it doesn't work. So I guess it's a general python problem. I just didn't expect a rust project to not work on exFAT and I don't want others to waste their time.

Build command:

CARGO_TARGET_DIR=target MCU=esp32c3 cargo +nightly build --target riscv32imc-esp-espidf --example std_basics

@ivmarkov
Copy link
Collaborator

I think the ESP IDF build itself likely does not support building on "exFAT". If you would like this mentioned in esp-idf-sys, open a small PR about that. But we'll likely never fix that. One workaround you can try is to set the ESP_IDF_INSTALL_DIR to "global", i.e. to your home directory. This way the symlinks will not be created on the exFAT but in your native linux partition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants