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

Core 1.116.0 does not compile with musl #4457

Closed
link2xt opened this issue Jun 6, 2023 · 5 comments
Closed

Core 1.116.0 does not compile with musl #4457

link2xt opened this issue Jun 6, 2023 · 5 comments
Labels
blocker bug Something is not working

Comments

@link2xt
Copy link
Collaborator

link2xt commented Jun 6, 2023

Our CI failed to build musl wheels. Copy-paste of the error from CI logs:

error[E0061]: this function takes 3 arguments but 2 arguments were suppliedraits(build), signal-hook-registry, ppv-lite86, mio, libm, parking_lot_core, syn, getrandom, base64ct                                                                                                                                                                                                                                                                                                                                  
   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/getrandom-0.2.8/src/util_libc.rs:150:18
    |
150 |         let fd = open(path.as_ptr() as *const _, libc::O_RDONLY | libc::O_CLOEXEC);
    |                  ^^^^------------------------------------------------------------- an argument of type `u32` is missing
    |
note: function defined here
   --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.145/src/unix/linux_like/linux/musl/lfs64.rs:112:26
    |
112 | pub unsafe extern "C" fn open64(
    |                          ^^^^^^
help: provide the argument
    |
150 |         let fd = open(path.as_ptr() as *const _, libc::O_RDONLY | libc::O_CLOEXEC, /* u32 */);
    |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For more information about this error, try `rustc --explain E0061`.
error: could not compile `getrandom` due to previous error
warning: build failed, waiting for other jobs to finish...
@link2xt
Copy link
Collaborator Author

link2xt commented Jun 6, 2023

This should probably fixed by upgrading to getrandom 0.2.9: rust-random/getrandom#326

But we need a GitHub Actions CI to catch this next time before we make a release, at least for x86_64 musl.

@link2xt link2xt added blocker bug Something is not working labels Jun 6, 2023
@link2xt
Copy link
Collaborator Author

link2xt commented Jun 6, 2023

Marking as blocker because it prevents making a release of python bindings.

@link2xt
Copy link
Collaborator Author

link2xt commented Jun 6, 2023

deltachat-rpc-server.yml workflow failed at https://github.com/deltachat/deltachat-core-rust/actions/runs/5181255733, it should have made deltachat-rpc-server binaries for the release.

@link2xt
Copy link
Collaborator Author

link2xt commented Jun 6, 2023

I have upgraded 0.2.8 to 0.2.9 locally and it works, but then we also have a getrandom 0.1.16 and it has a similar problem without a workaround. The problem is caused by a breaking change in a libc crate update: rust-lang/libc#3264

Version 0.2.145 of libc that we are currently using is yanked, fixed version 0.2.146 is available. I am going to add CI to detect the problem, then upgrade to libc 0.2.146.

@link2xt
Copy link
Collaborator Author

link2xt commented Jun 7, 2023

Fixed by #4458.

@link2xt link2xt closed this as completed Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker bug Something is not working
Projects
None yet
Development

No branches or pull requests

1 participant