guix: Build fails for x86_64-apple-darwin #30810

issue hebasto openend this issue on September 4, 2024
  1. hebasto commented at 3:45 am on September 4, 2024: member

    Is there an existing issue for this?

    • I have searched the existing issues

    Current behaviour

    Guix build for x86_64-apple-darwin fails.

    Expected behaviour

    The build succeeds.

    Steps to reproduce

    0$ git checkout 94c307b3c0746a08c6135ff38d6f1ad1ed6693bb
    1$ env SDK_PATH=/home/hebasto HOSTS=x86_64-apple-darwin ./contrib/guix/guix-build
    

    Relevant log output

     0$ env SDK_PATH=/home/hebasto HOSTS=x86_64-apple-darwin ./contrib/guix/guix-build
     1Found macOS SDK at '/home/hebasto/Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers', using...
     2Checking that we can connect to the guix-daemon...
     3
     4Hint: If this hangs, you may want to try turning your guix-daemon off and on
     5      again.
     6
     7make: Entering directory '/home/hebasto/git/bitcoin/depends'
     8make[1]: Entering directory '/home/hebasto/git/bitcoin/depends'
     9make[1]: Leaving directory '/home/hebasto/git/bitcoin/depends'
    10make: Leaving directory '/home/hebasto/git/bitcoin/depends'
    11INFO: Building 94c307b3c074 for platform triple x86_64-apple-darwin:
    12      ...using reference timestamp: 1725398870
    13      ...running at most 4 jobs
    14      ...from worktree directory: '/home/hebasto/git/bitcoin'
    15          ...bind-mounted in container to: '/bitcoin'
    16      ...in build directory: '/home/hebasto/git/bitcoin/guix-build-94c307b3c074/distsrc-94c307b3c074-x86_64-apple-darwin'
    17          ...bind-mounted in container to: '/distsrc-base/distsrc-94c307b3c074-x86_64-apple-darwin'
    18      ...outputting in: '/home/hebasto/git/bitcoin/guix-build-94c307b3c074/output/x86_64-apple-darwin'
    19          ...bind-mounted in container to: '/outdir-base/x86_64-apple-darwin'
    20      ADDITIONAL FLAGS (if set)
    21          ADDITIONAL_GUIX_COMMON_FLAGS: 
    22          ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: 
    23          ADDITIONAL_GUIX_TIMEMACHINE_FLAGS: 
    24guix shell: error: cannot link profile: '/home/hebasto/.guix-profile' already exists within container
    

    How did you obtain Bitcoin Core

    Compiled from source

    What version of Bitcoin Core are you using?

    master@94c307b3c0746a08c6135ff38d6f1ad1ed6693bb

    Operating system and version

    Debian Bookworm

    Machine specifications

    RISC-V SBC.

  2. hebasto added the label Build system on Sep 4, 2024
  3. maflcko commented at 5:21 am on September 4, 2024: member

    Has this ever worked on your system? guix shell: error sounds like it is an error unrelated to Bitcoin Core?

    Can you use guix and guix shell normally?

  4. maflcko added the label Questions and Help on Sep 4, 2024
  5. hebasto commented at 12:31 pm on September 4, 2024: member

    Has this ever worked on your system? guix shell: error sounds like it is an error unrelated to Bitcoin Core?

    Can you use guix and guix shell normally?

    Both command work just fine. For example:

    0$ guix package -i hello
    1$ guix shell python -- python3
    

    Moreover, every other non-Darwin host is built successfully with ./contrib/guix/guix-build.

  6. fanquake commented at 1:01 pm on September 4, 2024: member

    I think you’ll need to debug this further. It’s odd that building for all HOSTS (except one) would work, but building for x86_64-apple-darwin currently works fine, as far as I’m aware (just tested on two different systems).

    Both command work just fine. For example:

    It’s not clear that those are actually invoking the issue-causing behaviour. The error message points to guix container. i.e guix shell --container.

  7. hebasto commented at 3:05 pm on September 7, 2024: member
    0$ uname -m
    1riscv64
    2$ guix shell --container --pure hello
    3$ hello
    4Hello, world!
    5$ exit
    6exit
    

    The issue happens when switch to/form Darwin host. For both invocations

    0$ env SDK_PATH=/home/hebasto HOSTS="x86_64-w64-mingw32 x86_64-apple-darwin" ./contrib/guix/guix-build
    

    and

    0$ env SDK_PATH=/home/hebasto HOSTS="x86_64-apple-darwin x86_64-w64-mingw32" ./contrib/guix/guix-build
    

    build for the former host succeeds, then the error happens:

    0guix shell: error: cannot link profile: '/home/hebasto/.guix-profile' already exists within container
    
  8. fanquake commented at 3:08 pm on September 7, 2024: member
    You’ll need to try with all the options we pass to shell/container.
  9. hebasto commented at 7:34 pm on September 7, 2024: member
    The problem was env SDK_PATH=/home/hebasto, which effectively shared my home directory with a Guix container.
  10. hebasto closed this on Sep 7, 2024


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me