Page MenuHomePhabricator

net: Add libnatpmp support
ClosedPublic

Authored by PiRK on Sep 27 2022, 15:15.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABCb33806c3a280: net: Add libnatpmp support
Summary

https://github.com/bitcoin/bitcoin/pull/18077/commits/a8d9f275d0ca64797cc89627f8003b48b3efef63 (main commit)

net: Add libnatpmp support

https://github.com/bitcoin/bitcoin/pull/18077/commits/ae749d12ddbaf592fbdb65d98ca35a0ff5566992

doc: Add libnatpmp stuff

Note: I excluded the changes in tor.md, as the documentation added in that file is not yet applicable until core#18077 is fully backported. I suggest we should backport this tohether with the release notes.


core#21320:

build: fix libnatpmp macos cross compile

Currently, our cross-compile of libnatpmp for macOS doesn't work at all.
The wrong archiver is used, which produces an archive the linker doesn't like.

Fix this by using the right ar (we do the same for upnp).

While we're at it, we fixe the build so that we are using our c/ppflags.
This means building with -O2 rather than -Os.


core#21209:

build: compile libnatpmp with -DNATPMP_STATICLIB on Windows

This fixes linking issues and mirrors what we do with miniupnpc.

build: use newer source for libnatpmp

The source we are currently using is from 2015. The upstream repo has
received a small number of bug fixes and improvements since then.
Including one that fixes an issue for Windows users:
miniupnp/libnatpmp#13.

The source we are currently using is the most recent "official" release,
however I don't think it's worth waiting for a new one. The maintainer
was prompted to do so in Oct 2020, then again in Jan of this year, and
no release has eventuated. Given libnatpmp is a new inclusion into our
repository, I think we should be using this newer source.

This also cleans up a few warnings we currently see in depends builds


core#25917:

depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d

This pulls in two changes I've upstreamed:
Support for pkg-config: miniupnp/libnatpmp#19
Suppressing a deprecation warning: miniupnp/libnatpmp#28


This is a backport of core#18077 [7 & 12/13], core#21320, core#21209 and core#25917

Depends on D12094

Test Plan
cmake .. -GNinja
ninja

@bot build-win64 build-osx

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
PiRK edited the test plan for this revision. (Show Details)

use FindNATPMP.cmake from core#25797 (with added documentation)

Tail of the build log:

-- Performing Test have_C__Wno_sign_compare
-- Performing Test have_C__Wno_sign_compare - Success
-- Performing Test have_C__Wno_unused_const_variable
-- Performing Test have_C__Wno_unused_const_variable - Success
-- Performing Test have_C__Wno_conditional_uninitialized
-- Performing Test have_C__Wno_conditional_uninitialized - Success
-- Performing Test have_CXX__Wno_inconsistent_missing_override
-- Performing Test have_CXX__Wno_inconsistent_missing_override - Success
-- Performing Test have_CXX__Wno_maybe_uninitialized
-- Performing Test have_CXX__Wno_maybe_uninitialized - Failed
-- Performing Test have_CXX__Wno_shadow
-- Performing Test have_CXX__Wno_shadow - Success
-- Performing Test have_CXX__Wno_sign_compare
-- Performing Test have_CXX__Wno_sign_compare - Success
-- Performing Test have_CXX__Wno_unused_const_variable
-- Performing Test have_CXX__Wno_unused_const_variable - Success
-- Performing Test have_CXX__Wno_conditional_uninitialized
-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Failed
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find NATPMP (missing: NATPMP_LIBRARY NATPMP_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNATPMP.cmake:39 (find_package_handle_standard_args)
  src/CMakeLists.txt:656 (find_package)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-clang/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-clang/CMakeFiles/CMakeError.log".
Build build-clang failed with exit code 1

Tail of the build log:

-- Performing Test have_C__Wno_unused_const_variable
-- Performing Test have_C__Wno_unused_const_variable - Success
-- Performing Test have_C__Wno_conditional_uninitialized
-- Performing Test have_C__Wno_conditional_uninitialized - Success
-- Performing Test have_CXX__Wno_inconsistent_missing_override
-- Performing Test have_CXX__Wno_inconsistent_missing_override - Success
-- Performing Test have_CXX__Wno_maybe_uninitialized
-- Performing Test have_CXX__Wno_maybe_uninitialized - Success
-- Performing Test have_CXX__Wno_shadow
-- Performing Test have_CXX__Wno_shadow - Success
-- Performing Test have_CXX__Wno_sign_compare
-- Performing Test have_CXX__Wno_sign_compare - Success
-- Performing Test have_CXX__Wno_unused_const_variable
-- Performing Test have_CXX__Wno_unused_const_variable - Success
-- Performing Test have_CXX__Wno_conditional_uninitialized
-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wshadow
-- Performing Test have_C__Wshadow - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find NATPMP (missing: NATPMP_LIBRARY NATPMP_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNATPMP.cmake:39 (find_package_handle_standard_args)
  src/CMakeLists.txt:656 (find_package)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-diff/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-diff/CMakeFiles/CMakeError.log".
Build build-diff failed with exit code 1

Tail of the build log:

-- Performing Test have_C__Wno_unused_const_variable
-- Performing Test have_C__Wno_unused_const_variable - Success
-- Performing Test have_C__Wno_conditional_uninitialized
-- Performing Test have_C__Wno_conditional_uninitialized - Success
-- Performing Test have_CXX__Wno_inconsistent_missing_override
-- Performing Test have_CXX__Wno_inconsistent_missing_override - Success
-- Performing Test have_CXX__Wno_maybe_uninitialized
-- Performing Test have_CXX__Wno_maybe_uninitialized - Success
-- Performing Test have_CXX__Wno_shadow
-- Performing Test have_CXX__Wno_shadow - Success
-- Performing Test have_CXX__Wno_sign_compare
-- Performing Test have_CXX__Wno_sign_compare - Success
-- Performing Test have_CXX__Wno_unused_const_variable
-- Performing Test have_CXX__Wno_unused_const_variable - Success
-- Performing Test have_CXX__Wno_conditional_uninitialized
-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wshadow
-- Performing Test have_C__Wshadow - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find NATPMP (missing: NATPMP_LIBRARY NATPMP_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNATPMP.cmake:39 (find_package_handle_standard_args)
  src/CMakeLists.txt:656 (find_package)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-without-wallet/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-without-wallet/CMakeFiles/CMakeError.log".
Build build-without-wallet failed with exit code 1

Tail of the build log:

-- Performing Test have_C__Wno_sign_compare
-- Performing Test have_C__Wno_sign_compare - Success
-- Performing Test have_C__Wno_unused_const_variable
-- Performing Test have_C__Wno_unused_const_variable - Success
-- Performing Test have_C__Wno_conditional_uninitialized
-- Performing Test have_C__Wno_conditional_uninitialized - Success
-- Performing Test have_CXX__Wno_inconsistent_missing_override
-- Performing Test have_CXX__Wno_inconsistent_missing_override - Success
-- Performing Test have_CXX__Wno_maybe_uninitialized
-- Performing Test have_CXX__Wno_maybe_uninitialized - Failed
-- Performing Test have_CXX__Wno_shadow
-- Performing Test have_CXX__Wno_shadow - Success
-- Performing Test have_CXX__Wno_sign_compare
-- Performing Test have_CXX__Wno_sign_compare - Success
-- Performing Test have_CXX__Wno_unused_const_variable
-- Performing Test have_CXX__Wno_unused_const_variable - Success
-- Performing Test have_CXX__Wno_conditional_uninitialized
-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Failed
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find NATPMP (missing: NATPMP_LIBRARY NATPMP_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNATPMP.cmake:39 (find_package_handle_standard_args)
  src/CMakeLists.txt:656 (find_package)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-clang-tidy/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-clang-tidy/CMakeFiles/CMakeError.log".
Build build-clang-tidy failed with exit code 1

Tail of the build log:

-- Performing Test have_C__Wno_unused_const_variable
-- Performing Test have_C__Wno_unused_const_variable - Success
-- Performing Test have_C__Wno_conditional_uninitialized
-- Performing Test have_C__Wno_conditional_uninitialized - Success
-- Performing Test have_CXX__Wno_inconsistent_missing_override
-- Performing Test have_CXX__Wno_inconsistent_missing_override - Success
-- Performing Test have_CXX__Wno_maybe_uninitialized
-- Performing Test have_CXX__Wno_maybe_uninitialized - Success
-- Performing Test have_CXX__Wno_shadow
-- Performing Test have_CXX__Wno_shadow - Success
-- Performing Test have_CXX__Wno_sign_compare
-- Performing Test have_CXX__Wno_sign_compare - Success
-- Performing Test have_CXX__Wno_unused_const_variable
-- Performing Test have_CXX__Wno_unused_const_variable - Success
-- Performing Test have_CXX__Wno_conditional_uninitialized
-- Performing Test have_CXX__Wno_conditional_uninitialized - Success
-- Performing Test have_C__Wno_strict_prototypes
-- Performing Test have_C__Wno_strict_prototypes - Success
-- Looking for C++ include atomic
-- Looking for C++ include atomic - found
-- Performing Test ENABLE_HWCRC32
-- Performing Test ENABLE_HWCRC32 - Success
-- Performing Test have_C__pedantic
-- Performing Test have_C__pedantic - Success
-- Performing Test have_C__Wshadow
-- Performing Test have_C__Wshadow - Success
-- Performing Test have_C__Wundef
-- Performing Test have_C__Wundef - Success
-- Performing Test have_C__Wno_unused_function
-- Performing Test have_C__Wno_unused_function - Success
-- Performing Test have_C__Wno_overlength_strings
-- Performing Test have_C__Wno_overlength_strings - Success
-- Performing Test have_C__std_c89
-- Performing Test have_C__std_c89 - Success
-- Performing Test have_C__Wno_long_long
-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: event 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: filesystem system 
-- Found Boost: /usr/include (found suitable version "1.67.0", minimum required is "1.59") found components: thread chrono system date_time atomic 
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.8-stable", minimum required is "2.0.22") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.1", minimum required is "1.9")  
CMake Error at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message):
  Could NOT find NATPMP (missing: NATPMP_LIBRARY NATPMP_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindNATPMP.cmake:39 (find_package_handle_standard_args)
  src/CMakeLists.txt:656 (find_package)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-debug/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-debug/CMakeFiles/CMakeError.log".
Build build-debug failed with exit code 1

add libnatpmp-dev to install-dependencies and debian/control

Tail of the build log:

(cat <<EOF
results() {
  set +e
  shopt -s dotglob nullglob
  mv /work/abc-ci-builds/"build-ox"/* /results
  chown -R ${ME} /work
  chown -R ${ME} /results
  chown -R ${ME} /root/.ccache
}
trap "results" EXIT
export TEAMCITY_VERSION="2019.2.4 (build 72059)"
export BASE_CACHE="/root/abc-depends/cache"
export SDK_ARCHIVE_DIR="/root/abc-depends/osx-sdk"
export SOURCES_PATH="/root/abc-depends/sources"
export SDK_DL_REMOTE="http://ci.fabien.cash"
mkdir -p "/root/abc-depends/cache" "/root/abc-depends/osx-sdk" "/root/abc-depends/sources"
./contrib/teamcity/build-configurations.py "build-ox"
EOF
) > run-command.sh
chmod +x run-command.sh

~/infra/docker/docker-run.sh \
  -a "-v /home/teamcity/.ccache:/root/.ccache -v /home/teamcity/.abc-depends:/root/abc-depends -v "${RESULTS_DIR}":/results" \
  -c run-command.sh /work/run-command.sh abc-base-image-"${HASH}" ./run-command.sh

[09:48:41] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script8595684315102024794
[09:48:41] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/jailed-build
[09:48:41] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[09:48:41] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[09:48:41] :	 [Step 1/1] Building base image for: 61a9c2517...
[09:48:41] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[09:48:44] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[09:48:44] :	 [Step 1/1] Tag name: abc-base-image-61a9c2517
[09:49:06]W:	 [Step 1/1] Traceback (most recent call last):
[09:49:06]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 573, in <module>
[09:49:06]W:	 [Step 1/1]     main()
[09:49:06]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 562, in main
[09:49:06]W:	 [Step 1/1]     script_dir, config_path, args.build)
[09:49:06]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 59, in __init__
[09:49:06]W:	 [Step 1/1]     self.load(build_name)
[09:49:06]W:	 [Step 1/1]   File "./contrib/teamcity/build-configurations.py", line 82, in load
[09:49:06]W:	 [Step 1/1]     self.name, list(config.keys())
[09:49:06]W:	 [Step 1/1] AssertionError: build-ox is not a valid build identifier. Valid identifiers are ['templates', 'builds']
[09:49:06]W:	 [Step 1/1] mv: missing destination file operand after '/results'
[09:49:06]W:	 [Step 1/1] Try 'mv --help' for more information.
[09:49:11]W:	 [Step 1/1] Process exited with code 1
[09:49:11]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)
[09:49:11]E:	 [Step 1/1] Step Command Line failed
[09:49:12]E: Ant JUnit report watcher
[09:49:12]E:	 [Ant JUnit report watcher] No reports found for paths:
[09:49:12]E:	 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[09:49:12]E:	 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[09:49:12] : Publishing internal artifacts (4s)
[09:49:16] :	 [Publishing internal artifacts] Publishing 1 file using [ArtifactsCachePublisher]
[09:49:16] :	 [Publishing internal artifacts] Publishing 1 file using [WebPublisher]
[09:49:12]W: Publishing artifacts (5s)
[09:49:12] :	 [Publishing artifacts] Collecting files to publish: [+:results/**/junit_results*.xml]
[09:49:12]W:	 [Publishing artifacts] Artifacts path 'results/**/junit_results*.xml' not found
[09:49:17] : Build finished

Tail of the build log:

[755/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/editaddressdialog.cpp.o
[756/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[757/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[758/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[759/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[760/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[761/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[762/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[763/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[764/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[765/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[766/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[767/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[768/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[769/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[770/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[771/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[772/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[773/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[774/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[775/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[776/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[777/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[778/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[779/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[780/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[781/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[782/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[783/809] Linking CXX static library src/qt/libbitcoin-qt-base.a
/work/depends/x86_64-apple-darwin16/native/bin/x86_64-apple-darwin16-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
/work/depends/x86_64-apple-darwin16/native/bin/x86_64-apple-darwin16-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
[784/809] Automatic MOC for target bitcoin-qt
[785/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[786/809] Automatic MOC for target test_bitcoin-qt
[787/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[788/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[789/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[790/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[791/809] Linking CXX executable src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt
FAILED: src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt 
: && /work/depends/x86_64-apple-darwin16/native/bin/clang++ --target=x86_64-apple-darwin16 -stdlib=libc++ -mlinker-version=530 -stdlib=libc++ -mlinker-version=530 -g -O2 -isysroot /work/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers -mmacosx-version-min=10.12 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o -o src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt -L/work/depends/x86_64-apple-darwin16/lib ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  src/qt/libbitcoin-qt-base.a  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqminimal.a  -lQt5EventDispatcherSupport  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqcocoa.a  -lcups  -lQt5AccessibilitySupport  -lQt5ThemeSupport  -lQt5FontDatabaseSupport  -framework CoreText  -lQt5GraphicsSupport  -lQt5ClipboardSupport  -lQt5CglSupport  -framework OpenGL  -lQt5PrintSupport  -lQt5Widgets  src/libserver.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  ../../depends/x86_64-apple-darwin16/lib/libevent_pthreads.a  ../../depends/x86_64-apple-darwin16/lib/libminiupnpc.a  ../../depends/x86_64-apple-darwin16/lib/libnatpmp.a  src/zmq/libzmq.a  ../../depends/x86_64-apple-darwin16/lib/libzmq.a  src/librpcclient.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Widgets.a  -framework CoreGraphics  -lQt5Gui  -lqtlibpng  -lqtharfbuzz  -framework Carbon  ../../depends/x86_64-apple-darwin16/lib/libQt5Gui.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Network.a  -L/work/depends/x86_64-apple-darwin16/lib  -lQt5Core  ../../depends/x86_64-apple-darwin16/lib/libQt5Core.a  -framework AppKit  -framework DiskArbitration  -framework IOKit  -framework Foundation  -lm  -framework Security  -framework CoreServices  -framework ApplicationServices  -framework CoreFoundation  -framework SystemConfiguration  -lz  -lssl  -lcrypto  ../../depends/x86_64-apple-darwin16/lib/libssl.a  ../../depends/x86_64-apple-darwin16/lib/libcrypto.a  ../../depends/x86_64-apple-darwin16/lib/libprotobuf.a  src/wallet/libwallet.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libutil.a  ../../depends/x86_64-apple-darwin16/lib/libevent.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  ../../depends/x86_64-apple-darwin16/lib/libboost_filesystem-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libboost_thread-mt-x64.a  src/secp256k1/libsecp256k1.a  src/univalue/libunivalue.a  ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  -lm  ../../depends/x86_64-apple-darwin16/lib/libdb_cxx.a  ../../depends/x86_64-apple-darwin16/lib/libsqlite3.a  ../../depends/x86_64-apple-darwin16/lib/libqrencode.a && :
ld: archive has no table of contents for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[792/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[793/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[794/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[795/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[796/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[797/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[798/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[799/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[800/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[801/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[802/809] Linking CXX executable src/qt/test/test_bitcoin-qt
FAILED: src/qt/test/test_bitcoin-qt 
: && /work/depends/x86_64-apple-darwin16/native/bin/clang++ --target=x86_64-apple-darwin16 -stdlib=libc++ -mlinker-version=530 -stdlib=libc++ -mlinker-version=530 -g -O2 -isysroot /work/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers -mmacosx-version-min=10.12 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o -o src/qt/test/test_bitcoin-qt -L/work/depends/x86_64-apple-darwin16/lib ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  src/qt/libbitcoin-qt-base.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Test.a  src/wallet/libwallet.a  src/libserver.a  src/wallet/libwallet.a  ../../depends/x86_64-apple-darwin16/lib/libdb_cxx.a  ../../depends/x86_64-apple-darwin16/lib/libsqlite3.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/secp256k1/libsecp256k1.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  ../../depends/x86_64-apple-darwin16/lib/libevent_pthreads.a  ../../depends/x86_64-apple-darwin16/lib/libminiupnpc.a  ../../depends/x86_64-apple-darwin16/lib/libnatpmp.a  src/zmq/libzmq.a  ../../depends/x86_64-apple-darwin16/lib/libzmq.a  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqminimal.a  -lQt5EventDispatcherSupport  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqcocoa.a  -lcups  -lQt5AccessibilitySupport  -lQt5ThemeSupport  -lQt5FontDatabaseSupport  -framework CoreText  -lQt5GraphicsSupport  -lQt5ClipboardSupport  -lQt5CglSupport  -framework OpenGL  -lQt5PrintSupport  -lQt5Widgets  src/librpcclient.a  src/libutil.a  src/univalue/libunivalue.a  ../../depends/x86_64-apple-darwin16/lib/libevent.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  ../../depends/x86_64-apple-darwin16/lib/libboost_filesystem-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libboost_thread-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Widgets.a  -framework CoreGraphics  -lQt5Gui  -lqtlibpng  -lqtharfbuzz  -framework Carbon  ../../depends/x86_64-apple-darwin16/lib/libQt5Gui.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Network.a  -framework SystemConfiguration  -lssl  -lcrypto  ../../depends/x86_64-apple-darwin16/lib/libssl.a  ../../depends/x86_64-apple-darwin16/lib/libcrypto.a  ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  -lm  ../../depends/x86_64-apple-darwin16/lib/libprotobuf.a  ../../depends/x86_64-apple-darwin16/lib/libqrencode.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Core.a  -framework Foundation  -framework ApplicationServices  -framework AppKit  -framework Security  -framework IOKit  -L/work/depends/x86_64-apple-darwin16/lib  -lQt5Core  -framework DiskArbitration  -lm  -framework CoreServices  -framework CoreFoundation  -lz && :
ld: archive has no table of contents for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: cannot make progress due to previous errors.
Build build-osx failed with exit code 1

consistency with other Find<lib>.cmake modules: use find_brew_prefix, find_component and find_package_handle_standard_args

@bot build-osx build-win64

Tail of the build log:

[755/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/splashscreen.cpp.o
[756/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/openuridialog.cpp.o
[757/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrc_bitcoin_locale.cpp.o
[758/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/qrimagewidget.cpp.o
[759/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/askpassphrasedialog.cpp.o
[760/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/overviewpage.cpp.o
[761/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receiverequestdialog.cpp.o
[762/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionfilterproxy.cpp.o
[763/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/addresstablemodel.cpp.o
[764/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/recentrequeststablemodel.cpp.o
[765/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondescdialog.cpp.o
[766/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsentry.cpp.o
[767/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/rpcconsole.cpp.o
[768/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/receivecoinsdialog.cpp.o
[769/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionrecord.cpp.o
[770/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentserver.cpp.o
[771/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodeltransaction.cpp.o
[772/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/coincontroldialog.cpp.o
[773/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/signverifymessagedialog.cpp.o
[774/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactionview.cpp.o
[775/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiontablemodel.cpp.o
[776/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletframe.cpp.o
[777/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/transactiondesc.cpp.o
[778/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/paymentrequestplus.cpp.o
[779/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/sendcoinsdialog.cpp.o
[780/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletcontroller.cpp.o
[781/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletview.cpp.o
[782/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt-base.dir/walletmodel.cpp.o
[783/809] Linking CXX static library src/qt/libbitcoin-qt-base.a
/work/depends/x86_64-apple-darwin16/native/bin/x86_64-apple-darwin16-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
/work/depends/x86_64-apple-darwin16/native/bin/x86_64-apple-darwin16-ranlib: file: src/qt/libbitcoin-qt-base.a(mocs_compilation.cpp.o) has no symbols
[784/809] Automatic MOC for target bitcoin-qt
[785/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o
[786/809] Automatic MOC for target test_bitcoin-qt
[787/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o
[788/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o
[789/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o
[790/809] Building CXX object src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o
[791/809] Linking CXX executable src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt
FAILED: src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt 
: && /work/depends/x86_64-apple-darwin16/native/bin/clang++ --target=x86_64-apple-darwin16 -stdlib=libc++ -mlinker-version=530 -stdlib=libc++ -mlinker-version=530 -g -O2 -isysroot /work/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers -mmacosx-version-min=10.12 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs src/qt/CMakeFiles/bitcoin-qt.dir/bitcoin-qt_autogen/mocs_compilation.cpp.o src/qt/CMakeFiles/bitcoin-qt.dir/main.cpp.o -o src/qt/BitcoinABC-Qt.app/Contents/MacOS/BitcoinABC-Qt -L/work/depends/x86_64-apple-darwin16/lib ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  src/qt/libbitcoin-qt-base.a  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqminimal.a  -lQt5EventDispatcherSupport  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqcocoa.a  -lcups  -lQt5AccessibilitySupport  -lQt5ThemeSupport  -lQt5FontDatabaseSupport  -framework CoreText  -lQt5GraphicsSupport  -lQt5ClipboardSupport  -lQt5CglSupport  -framework OpenGL  -lQt5PrintSupport  -lQt5Widgets  src/libserver.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  ../../depends/x86_64-apple-darwin16/lib/libevent_pthreads.a  ../../depends/x86_64-apple-darwin16/lib/libminiupnpc.a  ../../depends/x86_64-apple-darwin16/lib/libnatpmp.a  src/zmq/libzmq.a  ../../depends/x86_64-apple-darwin16/lib/libzmq.a  src/librpcclient.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Widgets.a  -framework CoreGraphics  -lQt5Gui  -lqtlibpng  -lqtharfbuzz  -framework Carbon  ../../depends/x86_64-apple-darwin16/lib/libQt5Gui.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Network.a  -L/work/depends/x86_64-apple-darwin16/lib  -lQt5Core  ../../depends/x86_64-apple-darwin16/lib/libQt5Core.a  -framework AppKit  -framework DiskArbitration  -framework IOKit  -framework Foundation  -lm  -framework Security  -framework CoreServices  -framework ApplicationServices  -framework CoreFoundation  -framework SystemConfiguration  -lz  -lssl  -lcrypto  ../../depends/x86_64-apple-darwin16/lib/libssl.a  ../../depends/x86_64-apple-darwin16/lib/libcrypto.a  ../../depends/x86_64-apple-darwin16/lib/libprotobuf.a  src/wallet/libwallet.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libutil.a  ../../depends/x86_64-apple-darwin16/lib/libevent.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  ../../depends/x86_64-apple-darwin16/lib/libboost_filesystem-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libboost_thread-mt-x64.a  src/secp256k1/libsecp256k1.a  src/univalue/libunivalue.a  ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  -lm  ../../depends/x86_64-apple-darwin16/lib/libdb_cxx.a  ../../depends/x86_64-apple-darwin16/lib/libsqlite3.a  ../../depends/x86_64-apple-darwin16/lib/libqrencode.a && :
ld: archive has no table of contents for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[792/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o
[793/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o
[794/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o
[795/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o
[796/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o
[797/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[798/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o
[799/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o
[800/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[801/809] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o
[802/809] Linking CXX executable src/qt/test/test_bitcoin-qt
FAILED: src/qt/test/test_bitcoin-qt 
: && /work/depends/x86_64-apple-darwin16/native/bin/clang++ --target=x86_64-apple-darwin16 -stdlib=libc++ -mlinker-version=530 -stdlib=libc++ -mlinker-version=530 -g -O2 -isysroot /work/depends/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers -mmacosx-version-min=10.12 -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o src/test/CMakeFiles/testutil.dir/util/logging.cpp.o src/test/CMakeFiles/testutil.dir/util/mining.cpp.o src/test/CMakeFiles/testutil.dir/util/net.cpp.o src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o src/test/CMakeFiles/testutil.dir/util/str.cpp.o src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_bitcoin-qt_autogen/mocs_compilation.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/bitcoinaddressvalidatortests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/compattests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/guiutiltests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/rpcnestedtests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/test_main.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/uritests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/util.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/wallettests.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/__/__/wallet/test/wallet_test_fixture.cpp.o src/qt/test/CMakeFiles/test_bitcoin-qt.dir/paymentservertests.cpp.o -o src/qt/test/test_bitcoin-qt -L/work/depends/x86_64-apple-darwin16/lib ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  src/qt/libbitcoin-qt-base.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Test.a  src/wallet/libwallet.a  src/libserver.a  src/wallet/libwallet.a  ../../depends/x86_64-apple-darwin16/lib/libdb_cxx.a  ../../depends/x86_64-apple-darwin16/lib/libsqlite3.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/libbitcoinconsensus.a  src/libscript.a  src/libcommon.a  src/secp256k1/libsecp256k1.a  src/leveldb/libleveldb.a  src/leveldb/libleveldb-sse4.2.a  src/leveldb/libmemenv.a  ../../depends/x86_64-apple-darwin16/lib/libevent_pthreads.a  ../../depends/x86_64-apple-darwin16/lib/libminiupnpc.a  ../../depends/x86_64-apple-darwin16/lib/libnatpmp.a  src/zmq/libzmq.a  ../../depends/x86_64-apple-darwin16/lib/libzmq.a  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqminimal.a  -lQt5EventDispatcherSupport  ../../depends/x86_64-apple-darwin16/plugins/platforms/libqcocoa.a  -lcups  -lQt5AccessibilitySupport  -lQt5ThemeSupport  -lQt5FontDatabaseSupport  -framework CoreText  -lQt5GraphicsSupport  -lQt5ClipboardSupport  -lQt5CglSupport  -framework OpenGL  -lQt5PrintSupport  -lQt5Widgets  src/librpcclient.a  src/libutil.a  src/univalue/libunivalue.a  ../../depends/x86_64-apple-darwin16/lib/libevent.a  src/crypto/libcrypto.a  src/crypto/libcrypto_sse4.1.a  src/crypto/libcrypto_avx2.a  src/crypto/libcrypto_shani.a  ../../depends/x86_64-apple-darwin16/lib/libboost_filesystem-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libboost_thread-mt-x64.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Widgets.a  -framework CoreGraphics  -lQt5Gui  -lqtlibpng  -lqtharfbuzz  -framework Carbon  ../../depends/x86_64-apple-darwin16/lib/libQt5Gui.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Network.a  -framework SystemConfiguration  -lssl  -lcrypto  ../../depends/x86_64-apple-darwin16/lib/libssl.a  ../../depends/x86_64-apple-darwin16/lib/libcrypto.a  ../../depends/x86_64-apple-darwin16/lib/libjemalloc_pic.a  -lm  ../../depends/x86_64-apple-darwin16/lib/libprotobuf.a  ../../depends/x86_64-apple-darwin16/lib/libqrencode.a  ../../depends/x86_64-apple-darwin16/lib/libQt5Core.a  -framework Foundation  -framework ApplicationServices  -framework AppKit  -framework Security  -framework IOKit  -L/work/depends/x86_64-apple-darwin16/lib  -lQt5Core  -framework DiskArbitration  -lm  -framework CoreServices  -framework CoreFoundation  -lz && :
ld: archive has no table of contents for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: cannot make progress due to previous errors.
Build build-osx failed with exit code 1
PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)

include fixes for Mac OS from core#21320 and core#21209

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

@bot build-osx build-win64

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
PiRK edited the summary of this revision. (Show Details)
PiRK published this revision for review.Sep 29 2022, 07:56
Fabien requested changes to this revision.Sep 29 2022, 10:27

Please also add libnatpmp pkg as a dependency for the AUR packages (contrib/aur/xxxx/PKGBUILD).

cmake/modules/FindNATPMP.cmake
2 ↗(On Diff #35275)

?

19 ↗(On Diff #35275)

You can try to get the version from pkg-config, FindEvent.cmake for an example

depends/packages/libnatpmp.mk
15 ↗(On Diff #35275)

Missing -j${JOBS}, see other packages

src/CMakeLists.txt
664 ↗(On Diff #35275)

Can be factorized with the above code ?

This revision now requires changes to proceed.Sep 29 2022, 10:27
PiRK edited the summary of this revision. (Show Details)

rebase and add dependency on previous commit

PiRK planned changes to this revision.Sep 29 2022, 11:44
PiRK added inline comments.
cmake/modules/FindNATPMP.cmake
2 ↗(On Diff #35275)

That is a leftover from a previous iteration. Will remove.

2 ↗(On Diff #35283)

leftover from previous iteration. To be removed.

address review:

  • add dependencies to AUR files
  • remove wrong copyright header line
  • add a comment about why we cannot get the version number in FindNATPMP.cmake
  • add -j${JOBS} to libnatpmp.mk MAKE line

fix:

  • -DMINIUPNP_STATICLIB -> -DNATPMP_STATICLIB in CMakeLists.txt
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
Fabien requested changes to this revision.Sep 29 2022, 14:40

@bot build-linux64 build-linux-arm build-linux-aarch64 build-win64 build-osx

cmake/modules/FindNATPMP.cmake
27

Macro likestamp:

contrib/aur/bitcoin-abc-qt/PKGBUILD
9

the packet is named libnatpmp, natpmp is atually a NAT-PMP server :)

contrib/aur/bitcoin-abc/PKGBUILD
9

dito

This revision now requires changes to proceed.Sep 29 2022, 14:40

use correct package name for AUR

This revision is now accepted and ready to land.Sep 29 2022, 15:12
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

restart ci (jobs failing due to infra issue)

This revision was automatically updated to reflect the committed changes.