Comments (4)
However, I'm fairly sure that's only happening because of a bug with Cargo Workspaces, where the
target
set inconfig.toml
is not respected (so it was trying to build forx86_64-unknown-linux-gnu
, rather thanxtensa-esp32s2-espidf
).
That's strange.
From my understanding,
OUT_DIR
would only be set like above if$HOST == $TARGET
.
Ahh so it was like that, there's actually a FIXME
in the code for this already. I'll fix it for the next release.
I think it's pretty unlikely that someone's building on an ESP32, right?
Haven't thought about that, but I guess embuild
could be used for other targets where this could be the case. We were just unlucky with this bug I guess.
Are you accepting PRs for embuild? If so, I'd be happy to make one.
Sure we do. But this is so minor, I'll fix it right now.
from esp-idf-sys.
Yeah, a bug like this was destined to pop out.
Currently, we get the workspace directory by popping 6 folders off of esp-idf-sys
's out dir in the hopes that this lands us outside of the target
(i.e. the build) directory.
Could you verify why this doesn't work in your case?
from esp-idf-sys.
So, I've done a bit more digging. It looks like OUT_DIR
was sometimes set like this (note the missing target triple):
/opt/esp32s2-workspace/target/debug/build/esp-idf-sys-79af92772c653ed1/out/
However, I'm fairly sure that's only happening because of a bug with Cargo Workspaces, where the target
set in config.toml
is not respected (so it was trying to build for x86_64-unknown-linux-gnu
, rather than xtensa-esp32s2-espidf
).
From my understanding, OUT_DIR
would only be set like above if $HOST == $TARGET
. I think it's pretty unlikely that someone's building on an ESP32, right?
For what it's worth, I think there are maybe two options to fix the "problem":
- Check if
$TARGET == $HOST
inworkspace_dir()
, and if so, onlypop(5)
. - Loop while doing
pop(1)
until you land in a dir namedtarget
, whose parent contains aCargo.toml
, then jump up one more directory.
Are you accepting PRs for embuild? If so, I'd be happy to make one.
from esp-idf-sys.
Fixed with version 0.30.0
from esp-idf-sys.
Related Issues (20)
- Suspected miscompilation (as observed in a BLE Mesh function) HOT 1
- xtensa-esp-elf: how to influence endianness ? HOT 10
- Failing to add mdns remote component HOT 4
- How to allocate a vector or array in PSRAM HOT 4
- backtrace (of rust code) is incomplete on esp32c6 HOT 17
- Integration with `bevy_ecs` - linker failure `pthread_setcancelstate is not implemented` HOT 5
- Do Rust Native Queues and Mutexes Properly Suspend Tasks HOT 3
- Misaligned struct pointer from esp camera HOT 22
- could not identify the root crate and `ESP_IDF_SYS_ROOT_CRATE` not specified HOT 3
- Time for `espidf_time32`? HOT 4
- Trying to set CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=1 not working HOT 2
- esp-idf-sys HOT 1
- esp-idf-sys build started fail on arm mac os HOT 20
- Unable to build on Mac M1 HOT 1
- ...no 'IDF_PYTHON_ENV_PATH' item,Debian 12, std mode, esp-idf-template, idf master HOT 4
- Windows path length message is wrong. HOT 1
- tskNO_AFFINITY missing with esp-idf v5.2.1 HOT 1
- Using custom components introduces a requirement of specifying all components HOT 7
- failed to run custom build command for `esp-idf-sys v0.34.1` HOT 1
- Wrapper for RTC Slow memory HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp-idf-sys.