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

uutils coreutils 0.0.18 #670

Closed

Conversation

Ecordonnier
Copy link
Contributor

No description provided.

Commit 93d691d did not add the crates checksum (even though the commit message
says it did), and the crates fetcher is now failing with "No checksum
specified".

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
This comment does not make sense any more, now that the auto-generated
recipe has been removed.

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
@kraj
Copy link
Contributor

kraj commented Apr 3, 2023

fails to build on musl/qemuarm64

| error[E0432]: unresolved imports `uucore::utmpx`, `uucore::utmpx`                                                                                                    
|   --> src/uu/pinky/src/pinky.rs:13:13                                                                                                                                
|    |                                                                                                                                                                 
| 13 | use uucore::utmpx::{self, time, Utmpx};                                                                                                                         
|    |             ^^^^^   ^^^^ no `utmpx` in the root                                                                                                                 
|    |             |                                                                                                                                                   
|    |             could not find `utmpx` in `uucore`                                                                                                                  
|                                                                                                                                                                      
| error[E0432]: unresolved imports `uucore::utmpx`, `uucore::utmpx`                                                                                                    
|   --> src/uu/users/src/users.rs:17:13                                                                                                                                
|    |                                                                                                                                                                 
| 17 | use uucore::utmpx::{self, Utmpx};                                                                                                                               
|    |             ^^^^^   ^^^^ no `utmpx` in the root                                                                                                                 
|    |             |                                                                                                                                                   
|    |             could not find `utmpx` in `uucore`                                                                                                                  
|                                                                                                                                                                      
| error[E0432]: unresolved imports `uucore::utmpx`, `uucore::utmpx`                                                                                                    
|   --> src/uu/who/src/who.rs:13:13                                                                                                                                    
|    |                                                                                                                                                                 
| 13 | use uucore::utmpx::{self, time, Utmpx};                                                                                                                         
|    |             ^^^^^   ^^^^ no `utmpx` in the root                                                                                                                 
|    |             |                                                                                                                                                   
|    |             could not find `utmpx` in `uucore`                                                                                                                  
|                                                                                                                                                                      

@Ecordonnier
Copy link
Contributor Author

I investigated the issue, and the root-cause is that https://github.com/uutils/coreutils/blob/90609044ebc8a6802bb2aef05c57600b4de5af1e/src/uucore/src/lib/features.rs#L42 disables utmpx when building uucore for the musl target, as a work-around for uutils/coreutils#1361
The reason this was done is that the libc crate has not implemented functions like "endutxent" for musl (this file needs to be modified: https://github.com/rust-lang/libc/blob/master/src/unix/linux_like/linux/musl/mod.rs).

Is there a way to disable the build of uutils-coreutils for musl in yocto, so that the PR is unblocked? Or is the implementation of uutils-coreutils for musl a pre-requisite?

@kraj
Copy link
Contributor

kraj commented Apr 6, 2023

its fine to disable it for musl. Perhaps do

COMPATIBLE_HOST:libc-musl = "null"

although it will be good to inform upstream rust libc about this problem and see if it can be fixed and tracked.

musl is not supported because the libc crate does not support functions like "endutxent" at the moment,
so src/uucore/src/lib/features.rs disables utmpx when targetting musl.

Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
@Ecordonnier
Copy link
Contributor Author

I added the line you recommended to disable musl. I also created a ticket at libc to track the issue: rust-lang/libc#3190

Is there some CI which tries to build all recipes with musl, and will fail because of the following error when trying to build with musl?

ERROR: Nothing PROVIDES 'uutils-coreutils' uutils-coreutils was skipped: incompatible with host x86_64-poky-linux-musl (not in COMPATIBLE_HOST)

@kraj
Copy link
Contributor

kraj commented Apr 11, 2023

applied as of 6b197f0

@kraj kraj closed this Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants