我正在尝试设置这个Rust模板项目,以开始为ESP 32进行Rust开发:https://github.com/esp-rs/esp-idf-template
我已经安装了Rustup esp工具链,如下所述:https://github.com/esp-rs/rust-build
在生成项目步骤中,我选择了这些参数:
- 配置项目以使用Dev Containers = false
- ESP-IDF本机构建版本= v4.4
- Rust工具链= esp
- STD支持= true
- MCU = esp32
在Build步骤中,我得到以下输出(显示第二次运行,第一次运行编译了一长串依赖项列表):
C:\Users\Me\boop\doop>cargo build
Compiling esp-idf-sys v0.31.6
error: failed to run custom build command for `esp-idf-sys v0.31.6`
Caused by:
process didn't exit successfully: `C:\Users\Me\boop\doop\target\debug\build\esp-idf-sys-cafd80a349bfdbb2\build-script-build` (exit code: 1)
--- stdout
cargo:rerun-if-env-changed=IDF_PATH
cargo:rerun-if-env-changed=ESP_IDF_TOOLS_INSTALL_DIR
cargo:rerun-if-env-changed=ESP_IDF_VERSION
cargo:rerun-if-env-changed=ESP_IDF_REPOSITORY
cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG_DEFAULTS
cargo:rerun-if-env-changed=ESP_IDF_SDKCONFIG
cargo:rerun-if-env-changed=MCU
IDF_PYTHON_ENV_PATH=C:\Users\Me\boop\doop\.embuild\espressif\python_env\idf4.4_py3.10_env
PATH=C:\Users\Me\boop\doop\.embuild\espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;C:\Users\Me\boop\doop\.embuild\espressif\tools\cmake\3.23.1\bin;C:\Users\Me\boop\doop\.embuild\espressif\tools\ninja\1.10.2\;C:\Users\Me\boop\doop\.embuild\espressif\python_env\idf4.4_py3.10_env\Scripts;C:\Users\Me\boop\doop\.embuild\espressif\esp-idf\release-v4.4\tools;%PATH%
Current system platform: win64
Skipping xtensa-esp32-elf@esp-2021r2-patch3-8.4.0 (already installed)
Skipping cmake@3.23.1 (already installed)
Skipping ninja@1.10.2 (already installed)
Skipping esp32ulp-elf@2.28.51-esp-20191205 (already installed)
IDF_PYTHON_ENV_PATH=C:\Users\Me\boop\doop\.embuild\espressif\python_env\idf4.4_py3.10_env
PATH=C:\Users\Me\boop\doop\.embuild\espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;C:\Users\Me\boop\doop\.embuild\espressif\tools\cmake\3.23.1\bin;C:\Users\Me\boop\doop\.embuild\espressif\tools\ninja\1.10.2\;C:\Users\Me\boop\doop\.embuild\espressif\python_env\idf4.4_py3.10_env\Scripts;C:\Users\Me\boop\doop\.embuild\espressif\esp-idf\release-v4.4\tools;%PATH%
--- stderr
Using managed esp-idf repository: EspIdfRemote { repo_url: None, git_ref: Branch("release/v4.4") }
fatal: No names found, cannot describe anything.
Using esp-idf v4.4.1 at 'C:\Users\Me\boop\doop\.embuild\espressif\esp-idf\release-v4.4'
fatal: No names found, cannot describe anything.
Error: Access is denied. (os error 5)
当我选择ESP-IDF native build version = v4.3.2时,我得到了同样的错误,尽管没有fatal: No names found, cannot describe anything.
消息。
我在尝试构建这个Rust ESP 32演示项目时遇到了相同的错误:https://github.com/ivmarkov/rust-esp32-std-demo
这是以管理员身份运行的。
在寻找解决方案的过程中,我发现:为什么os.rename有时会返回错误访问被拒绝python根据上面的答案,我在文件资源管理器中禁用了“在快速访问中显示常用文件夹”,但不幸的是构建错误没有改变。
什么访问被拒绝,什么可能导致拒绝,即使以管理员身份运行?其次,fatal: No names found, cannot describe anything.
消息的原因和含义是什么?
1条答案
按热度按时间vngu2lb81#
我今天一直在处理同样的问题。
它是由embuild依赖项中的更改引起的:https://github.com/esp-rs/embuild/commit/d8f8da228f1e1e6c105074d96617a8601092f633
尝试将权限数据写入打开的文件会导致'os错误5
我已经提交了一个PR项目:https://github.com/esp-rs/embuild/pull/56
现在合并了,货更新了,你应该会不错的!