Hi all,

After this change (using RUST_HOST_SYS instead of HOST_SYS): 
https://github.com/yoctoproject/poky/commit/5c45b73c8fa445b5192bb9fac1bc80b038b44c0d
 builds of parsec-service recipe for qemuarm machine started to fail:
cc1: error: switch '-mcpu=cortex-a15' conflicts with switch '-march=armv7-a+fp' 
[-Werror]
Full log can be seen here:
https://gitlab.com/akuster/meta-security/-/jobs/3204450989#L2086

This is the cargo build command before the change:
cargo build -v --target arm-poky-linux-gnueabi  
and this is after:
cargo build -v --target armv7-poky-linux-gnueabihf

The problem is that some Rust crates build dependency C libraries using "cc-rs" 
crate.
This crate adds some compiler parameters depending on target “arch” and for 
“armv7" these parameters conflicts with compiler parameter defined by Yocto via 
TUNE_CCARGS:
https://github.com/rust-lang/cc-rs/blob/53fb72c87e5769a299f1886ead831901b9c775d6/src/lib.rs#L1700
 We noticed it with qemuarm, but there might be other conflicts as well. (If 
-Werror is used then builds would fail, otherwise it would be just a warning 
which is easy to miss)

To fix the issue in our recipe we can define “CRATE_CC_NO_DEFAULTS” env 
variable which disables adding compiler flags in "cc-rs":
https://github.com/rust-lang/cc-rs#external-configuration-via-environment-variables
So, my questions is: shouldn’t “CRATE_CC_NO_DEFAULTS” be defined in the Rust 
bbclass instead of expecting that owners of all Rust apps recipes would be 
aware about this issue for some machines and would add workarounds in their 
recipes?
I've tried to add "CRATE_CC_NO_DEFAULTS" into rust-target-config.bbclass , but 
it breaks building rust-native. Looks like we don’t define all the required 
parameters for native builds and rely (maybe not even intentionally) on 
parameters defined by cc-rs crate. Therefore to do it properly there should be 
some logic around defining of "CRATE_CC_NO_DEFAULTS" in 
rust-target-config.bbclass. I would be happy to hear ideas or recommendations.

Cheers,
Anton
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#172113): 
https://lists.openembedded.org/g/openembedded-core/message/172113
Mute This Topic: https://lists.openembedded.org/mt/94539875/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to