Unable to build multiprocess using depends (macOS 12.6, Intel) #26200

issue Sjors opened this issue on September 29, 2022
  1. Sjors commented at 9:20 AM on September 29, 2022: member

    Since I'm having some difficulty installing libmultiprocess directly (https://github.com/chaincodelabs/libmultiprocess/issues/75), I'm trying the depends route instead.

    When I install capnp via homebrew, and then libmultiprocess via depends, I end up with version mismatch errors when calling make (on the main project):

    /usr/local/include/mp/proxy.capnp.h:13:2: error: "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
    

    If on the other hand I brew uninstall capnp and then build libmultiprocess via depends, I get a different error:

    execlp failed: No such file or directory
    libc++abi: terminating with uncaught exception of type std::runtime_error: Invoking /usr/local/bin/capnp failed
    execlp failed: No such file or directory
    libc++abi: terminating with uncaught exception of type std::runtime_error: Invoking /usr/local/bin/capnp failed
    /bin/sh: line 1: 84357 Abort trap: 6           /usr/local/bin/mpgen '.' '.' ipc/capnp/init.capnp
    /bin/sh: line 1: 84356 Abort trap: 6           /usr/local/bin/mpgen '.' '.' ipc/capnp/echo.capnp
    make[2]: *** [ipc/capnp/init.capnp.h] Error 134
    

    This was on top a recent master commit (5558d2f5496d8fe1c16f9edd1ef395fcd842e6fb).

    cc @ryanofsky

    I can provide more detailed logs if you can't reproduce. Perhaps this is related to https://github.com/chaincodelabs/libmultiprocess/issues/75 so I'll try again when that's fixed.

  2. hebasto commented at 10:00 AM on September 29, 2022: member

    Failed to reproduce the issue on macOS 12.6 (21G115, Intel), the master branch (291e363ce500e492475c4ccd189ea1d031c43613), no Homebrew's capnp installed:

    % make -C depends NO_QT=1 MULTIPROCESS=1
    % ./autogen.sh
    % ./configure CONFIG_SITE=$PWD/depends/x86_64-apple-darwin21.6.0/share/config.site
    % make clean
    % make
    
  3. Sjors commented at 10:33 AM on September 29, 2022: member

    Tried again on that slightly newer master commit, with git clean -dfx and ccache -C for good measure.

    make -C depends -j17 NO_QT=1 MULTIPROCESS=1 NO_UPNP=1 NO_NATPMP=1
    
    • log of the capnproto & multiprocess part.
    CONFIG_SITE=$PWD/depends/x86_64-apple-darwin21.6.0 ./configure --enable-suppress-external-warnings --disable-bench --disable-fuzz-binary --with-gui --enable-external-signer --enable-multiprocess
    

    (in my experience the --enable-multiprocess is necessary or it defaults to no)

     make -j17
    Making all in src
      CXX      bitcoind-bitcoind.o
    ...
      GEN      ipc/capnp/echo.capnp.h
    execlp failed: No such file or directory
    libc++abi: terminating with uncaught exception of type std::runtime_error: Invoking /usr/local/bin/capnp failed
    /bin/sh: line 1: 74515 Abort trap: 6           /usr/local/bin/mpgen '.' '.' ipc/capnp/echo.capnp
    make[2]: *** [ipc/capnp/echo.capnp.h] Error 134
    make[2]: *** Waiting for unfinished jobs....
      CCLD     libsecp256k1_precomputed.la
      CCLD     libsecp256k1.la
    make[1]: *** [all-recursive] Error 1
    make: *** [all-recursive] Error 1
    
  4. hebasto commented at 10:35 AM on September 29, 2022: member

    (in my experience the --enable-multiprocess is necessary or it defaults to no)

    CONFIG_SITE=$PWD/depends/x86_64-apple-darwin21.6.0 must be CONFIG_SITE=$PWD/depends/x86_64-apple-darwin21.6.0/share/config.site

  5. Sjors commented at 11:38 AM on September 29, 2022: member

    Ah, that's a confusing failure mode...

    ALLOW_HOST_PACKAGES=1 doesn't seem to let me use the Homebrew version of QT, but that's a separate issue:

    checking for Qt5Core >= 5.11.3... no
    configure: error: Qt5Core >= 5.11.3 not found
    

    (I have qt@5: stable 5.15.6)

  6. Sjors closed this on Sep 29, 2022

  7. ryanofsky commented at 8:42 PM on September 29, 2022: contributor

    Maybe as a followup it would be good to make the depends system have an explicit error message if the CONFIG_SITE variable is set and is not a file path (! test -f).

    If there are any other ideas about how to make error messages better or prevent errors from happening, definitely feel free to post them or open new issues.

  8. bitcoin locked this on Sep 29, 2023

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: 2026-04-14 09:13 UTC

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