Skip to content

Core 1.116.0 does not compile with musl #4457

Closed

Description

@link2xt

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.life-white.uk-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.life-white.uk-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...

Activity

  1. link2xt commented on Jun 6, 2023

    @link2xt
    CollaboratorAuthor

    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.

  2. link2xt commented on Jun 6, 2023

    @link2xt
    CollaboratorAuthor

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

  3. link2xt commented on Jun 6, 2023

    @link2xt
    CollaboratorAuthor

    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.

  4. link2xt commented on Jun 6, 2023

    @link2xt
    CollaboratorAuthor

    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.

  5. link2xt commented on Jun 7, 2023

    @link2xt
    CollaboratorAuthor

    Fixed by #4458.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    blockerbugSomething is not working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions