Skip to content

depends: capnp build ignores config_opts #32068

@Sjors

Description

@Sjors

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

It seems that when building capnp via depends the config_opts in capnp.mk are ignored, i.e. -DBUILD_TESTING=OFF, -DWITH_OPENSSL=OFF and -DWITH_ZLIB=OFF.

This can be seen in the depends build log by e.g. Built target capnp-heavy-tests, a target that should be skipped entirely. It becomes a problem during the cmake -B build --toolchain ... step, because it will complain about not finding OpenSSL and zlib, both of which it shouldn't need.

Expected behaviour

Don't build test target and, more importantly, don't look for OpenSSL.

Steps to reproduce

git clean -dfx
make -C depends NO_QT=1 NO_USDT=1 NO_ZMQ=1 NO_BDB=1 MULTIPROCESS=1
cmake -B build --toolchain /Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/toolchain.cmake
...
  Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the

Relevant log output

Depends build with V=1: https://gist.github.com/Sjors/4e851f2455c67372ad40a8382432acf5

It looks like it does set -DBUILD_TESTING=OFF -DWITH_OPENSSL=OFF -DWITH_ZLIB=OFF for the native build:

{ cd /Users/sjors/dev/bitcoin/depends/work/build/aarch64-apple-darwin24.3.0/native_capnp/1.1.0-c8c5a5f0b88/.; export     PKG_CONFIG_LIBDIR=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/lib/pkgconfig PKG_CONFIG_PATH=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/share/pkgconfig PKG_CONFIG_SYSROOT_DIR=/ CMAKE_MODULE_PATH=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/lib/cmake PATH="/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/bin:/opt/homebrew/opt/gnu-sed/libexec/gnubin:/opt/homebrew/opt/grep/libexec/gnubin:/Users/sjors/.nvm/versions/node/v16.20.2/bin:/Users/sjors/.local/bin:/Users/sjors/.pyenv/shims:/Users/sjors/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/Users/sjors/.rbenv/shims:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/MacGPG2/bin:/opt/podman/bin:/Users/sjors/.cargo/bin:/Applications/iTerm.app/Contents/Resources/utilities";   env CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" CFLAGS="  -I/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/include          " CXX="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" CXXFLAGS="  -I/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/include          " LDFLAGS="  -L/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/lib    " cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native" -DCMAKE_AR=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar` -DCMAKE_NM=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm` -DCMAKE_RANLIB=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib` -DCMAKE_INSTALL_LIBDIR=lib/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=1 -DBUILD_TESTING=OFF -DWITH_OPENSSL=OFF -DWITH_ZLIB=OFF        -DCMAKE_INSTALL_RPATH:PATH="/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/lib" .; }

But not for the non-native(?) one:

{ cd /Users/sjors/dev/bitcoin/depends/work/build/aarch64-apple-darwin24.3.0/capnp/1.1.0-31298932310/.; export     PKG_CONFIG_LIBDIR=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/lib/pkgconfig PKG_CONFIG_PATH=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/share/pkgconfig PKG_CONFIG_SYSROOT_DIR=/ CMAKE_MODULE_PATH=/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/lib/cmake PATH="/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/native/bin:/opt/homebrew/opt/gnu-sed/libexec/gnubin:/opt/homebrew/opt/grep/libexec/gnubin:/Users/sjors/.nvm/versions/node/v16.20.2/bin:/Users/sjors/.local/bin:/Users/sjors/.pyenv/shims:/Users/sjors/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/Users/sjors/.rbenv/shims:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/usr/local/MacGPG2/bin:/opt/podman/bin:/Users/sjors/.cargo/bin:/Applications/iTerm.app/Contents/Resources/utilities";   env CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" CFLAGS="  -I/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/include     -pipe -std=c11 -mmacos-version-min=13.0 -arch arm64 -O2    " CXX="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk" CXXFLAGS="  -I/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/include     -pipe -std=c++20 -mmacos-version-min=13.0 -arch arm64 -O2    " LDFLAGS="-Wl,-platform_version,macos,13.0,14.0  -L/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0/lib    " cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="/Users/sjors/dev/bitcoin/depends/aarch64-apple-darwin24.3.0" -DCMAKE_AR=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar` -DCMAKE_NM=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm` -DCMAKE_RANLIB=`which /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib` -DCMAKE_INSTALL_LIBDIR=lib/ -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=1        .; }

How did you obtain Bitcoin Core

Compiled from source

What version of Bitcoin Core are you using?

master@698f86964c68041d938aaf54fdd39466266c371c

Operating system and version

macOS 15.3.2

Machine specifications

M4 Mac

XCode 16.2
cmake version 3.31.4

xcode-select -p
/Applications/Xcode.app/Contents/Developer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions