Page MenuHomePhabricator

[secp256k1] Schnorrsig (taproot) API improvements
ClosedPublic

Authored by PiRK on Tue, Feb 10, 12:19.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC824163c20dc8: [secp256k1] Schnorrsig (taproot) API improvements
Summary

Preparatory work for secp256k1#995 (stop treating schnorrsig, extrakeys modules as experimental)

Add SECP256K1_DEPRECATED attribute for marking API parts as deprecated

Use SECP256K1_DEPRECATED for existing deprecated API functions

schnorrsig: Rename schnorrsig_sign to schnorsig_sign32 and deprecate

schnorrsig: Adapt example to new API

docs: Fix return value for functions that don't have invalid inputs

_tagged_sha256 simply cannot have invalid inputs.

The other functions could in some sense have invalid inputs but only in
violation of the type system. For example, a pubkey could be invalid but
invalid objects of type secp256k1_pubkey either can't be obtained
via the API or will be caught by an ARG_CHECK when calling pubkey_load.

This is consistent with similar functions in the public API, e.g.,
_ec_pubkey_negate or _ec_pubkey_serialize.

This is a backport of secp256k1#1089

Test Plan

ninja check-secp256k1

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Tue, Feb 10, 12:19

Tail of the build log:

[403/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[404/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[405/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[406/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[407/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[408/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[409/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[410/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[411/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[412/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[413/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[414/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[415/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[416/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[417/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[418/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[419/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[420/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[421/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[422/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[423/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[424/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[425/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[426/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[427/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[428/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[429/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[430/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[431/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[432/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[433/589] Building CXX object src/CMakeFiles/server.dir/node/coin.cpp.o
[434/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o
[435/589] Building CXX object src/CMakeFiles/server.dir/node/chainstatemanager_args.cpp.o
[436/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[437/589] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[438/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[439/589] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[440/589] Linking C static library src/secp256k1/libsecp256k1.a
[441/589] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[442/589] Linking C executable src/secp256k1/ecmult-bench
[443/589] Linking C executable src/secp256k1/internal-bench
[444/589] Linking CXX static library src/libbitcoinconsensus.a
[445/589] Linking C executable src/secp256k1/bench
[446/589] Linking C executable src/secp256k1/examples/ecdsa_example
[447/589] Linking CXX static library src/libscript.a
[448/589] Building CXX object src/CMakeFiles/server.dir/validationinterface.cpp.o
[449/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[450/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[451/589] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[452/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[453/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[423/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[424/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[425/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[426/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[427/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[428/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[429/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[430/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[431/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[432/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[433/589] Building C object src/secp256k1/CMakeFiles/bench.dir/src/bench.c.o
[434/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[435/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[436/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[437/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[438/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[439/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult_gen.c.o
[440/589] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o
[441/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o
[442/589] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[443/589] Building CXX object src/CMakeFiles/common.dir/key.cpp.o
FAILED: src/CMakeFiles/common.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -I/work/src/. -I/work/abc-ci-builds/build-diff/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-diff/src/crypto/.. -I/work/src/secp256k1/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/common.dir/key.cpp.o -MF src/CMakeFiles/common.dir/key.cpp.o.d -o src/CMakeFiles/common.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[444/589] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[445/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[446/589] Linking C static library src/secp256k1/libsecp256k1.a
[447/589] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[448/589] Linking C executable src/secp256k1/ecmult-bench
[449/589] Linking C executable src/secp256k1/internal-bench
[450/589] Linking C executable src/secp256k1/examples/ecdsa_example
[451/589] Linking C executable src/secp256k1/bench
[452/589] Linking CXX static library src/libbitcoinconsensus.a
[453/589] Linking CXX static library src/libscript.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1

Tail of the build log:

[403/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[404/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[405/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[406/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[407/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[408/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[409/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[410/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[411/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[412/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[413/589] Linking C static library src/secp256k1/libsecp256k1.a
[414/589] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[415/589] Building CXX object src/CMakeFiles/server.dir/node/transaction.cpp.o
[416/589] Linking CXX static library src/libbitcoinconsensus.a
[417/589] Linking C executable src/secp256k1/ecmult-bench
[418/589] Linking C executable src/secp256k1/internal-bench
[419/589] Installing component secp256k1
-- Install configuration: "Debug"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[420/589] Linking C executable src/secp256k1/bench
[421/589] Linking C executable src/secp256k1/examples/ecdsa_example
[422/589] Linking CXX static library src/libscript.a
[423/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[424/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[425/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[426/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[427/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[428/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[429/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[430/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[431/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[432/589] Building CXX object src/CMakeFiles/server.dir/node/miner.cpp.o
[433/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[434/589] Building CXX object src/CMakeFiles/server.dir/node/blockstorage.cpp.o
[435/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[436/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[437/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[438/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[439/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[440/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[441/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[442/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[443/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[444/589] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o
[445/589] Building CXX object src/CMakeFiles/server.dir/rpc/misc.cpp.o
[446/589] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o
[447/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[448/589] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[449/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[450/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[451/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[452/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[453/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1
Fabien requested changes to this revision.Tue, Feb 10, 13:10
Fabien added a subscriber: Fabien.

back to your queue

This revision now requires changes to proceed.Tue, Feb 10, 13:10

Tail of the build log:

[548/669] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[549/669] Building C object src/secp256k1/CMakeFiles/bench.dir/src/bench.c.o
[550/669] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult_gen.c.o
[551/669] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o
[552/669] Building CXX object src/CMakeFiles/bitcoinkernel.dir/pubkey.cpp.o
[553/669] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[554/669] Building CXX object src/CMakeFiles/bitcoinkernel.dir/key.cpp.o
FAILED: src/CMakeFiles/bitcoinkernel.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_CONFIG_H -I/work/src/. -I/work/src/leveldb/helpers/memenv -I/work/abc-ci-builds/build-without-wallet/src -I/work/abc-ci-builds/build-without-wallet/src/crypto/.. -I/work/src/univalue/include -I/work/src/secp256k1/include -I/work/src/leveldb/include -I/work/src/crc32c/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/bitcoinkernel.dir/key.cpp.o -MF src/CMakeFiles/bitcoinkernel.dir/key.cpp.o.d -o src/CMakeFiles/bitcoinkernel.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[555/669] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o
[556/669] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[557/669] Building CXX object src/CMakeFiles/common.dir/key.cpp.o
FAILED: src/CMakeFiles/common.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -I/work/src/. -I/work/abc-ci-builds/build-without-wallet/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-without-wallet/src/crypto/.. -I/work/src/secp256k1/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/common.dir/key.cpp.o -MF src/CMakeFiles/common.dir/key.cpp.o.d -o src/CMakeFiles/common.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[558/669] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[559/669] Linking C static library src/secp256k1/libsecp256k1.a
[560/669] Linking C executable src/secp256k1/internal-bench
[561/669] Linking C executable src/secp256k1/ecmult-bench
[562/669] Linking C executable src/secp256k1/examples/ecdsa_example
[563/669] Linking C executable src/secp256k1/bench
[564/669] Linking CXX static library src/libbitcoinconsensus.a
[565/669] Linking CXX static library src/libscript.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

[407/599] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o
[408/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[409/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[410/599] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[411/599] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[412/599] Linking C static library src/secp256k1/libsecp256k1.a
[413/599] Linking CXX static library src/libbitcoinconsensus.a
[414/599] Linking CXX static library src/libscript.a
[415/599] Linking C executable src/secp256k1/internal-bench
[416/599] Linking C executable src/secp256k1/ecmult-bench
[417/599] Linking C executable src/secp256k1/bench
[418/599] Linking C executable src/secp256k1/examples/ecdsa_example
[419/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[420/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[421/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[422/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[423/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[424/599] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[425/599] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[426/599] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[427/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[428/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[429/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[430/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[431/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[432/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[433/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[434/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[435/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[436/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[437/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[438/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[439/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[440/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[441/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[442/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[443/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[444/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[445/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[446/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[447/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[448/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[449/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[450/599] Linking CXX static library chronik/libchronik-bridge.a
[451/599] Linking CXX static library chronik/libchronik.a
[452/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[453/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[454/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[455/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[456/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[457/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[458/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[459/599] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[460/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[461/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[462/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[463/599] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[464/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
PiRK planned changes to this revision.Tue, Feb 10, 13:18

it is still missing something, looks like some deprecated functions are used in the node's codebase

Tail of the build log:

[424/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[425/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[426/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[427/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[428/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[429/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[430/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[431/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[432/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[433/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[434/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[435/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[436/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[437/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[438/589] Building C object src/secp256k1/CMakeFiles/bench.dir/src/bench.c.o
[439/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult_gen.c.o
[440/589] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o
[441/589] Building CXX object src/CMakeFiles/common.dir/key.cpp.o
FAILED: src/CMakeFiles/common.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/clang++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -I/work/src/. -I/work/abc-ci-builds/build-clang/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-clang/src/crypto/.. -I/work/src/secp256k1/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -Wshadow -Wshadow-field -std=gnu++20 -MD -MT src/CMakeFiles/common.dir/key.cpp.o -MF src/CMakeFiles/common.dir/key.cpp.o.d -o src/CMakeFiles/common.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp:193:12: error: 'secp256k1_ec_privkey_negate' is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror,-Wdeprecated-declarations]
    return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
           ^
/work/src/secp256k1/include/secp256k1.h:656:3: note: 'secp256k1_ec_privkey_negate' has been explicitly marked deprecated here
  SECP256K1_DEPRECATED("Use secp256k1_ec_seckey_negate instead");
  ^
/work/src/secp256k1/include/secp256k1.h:175:54: note: expanded from macro 'SECP256K1_DEPRECATED'
#  define SECP256K1_DEPRECATED(_msg) __attribute__ ((__deprecated__(_msg)))
                                                     ^
/work/src/key.cpp:367:16: error: 'secp256k1_ec_privkey_tweak_add' is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror,-Wdeprecated-declarations]
    bool ret = secp256k1_ec_privkey_tweak_add(
               ^
/work/src/secp256k1/include/secp256k1.h:697:3: note: 'secp256k1_ec_privkey_tweak_add' has been explicitly marked deprecated here
  SECP256K1_DEPRECATED("Use secp256k1_ec_seckey_tweak_add instead");
  ^
/work/src/secp256k1/include/secp256k1.h:175:54: note: expanded from macro 'SECP256K1_DEPRECATED'
#  define SECP256K1_DEPRECATED(_msg) __attribute__ ((__deprecated__(_msg)))
                                                     ^
2 errors generated.
[442/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o
[443/589] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[444/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[445/589] Linking C static library src/secp256k1/libsecp256k1.a
[446/589] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[447/589] Linking CXX static library src/libbitcoinconsensus.a
[448/589] Linking C executable src/secp256k1/examples/ecdsa_example
[449/589] Linking C executable src/secp256k1/internal-bench
[450/589] Linking C executable src/secp256k1/bench
[451/589] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[452/589] Linking C executable src/secp256k1/ecmult-bench
[453/589] Linking CXX static library src/libscript.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[423/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[424/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[425/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[426/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[427/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[428/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[429/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[430/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[431/589] Building C object src/secp256k1/CMakeFiles/bench.dir/src/bench.c.o
[432/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[433/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[434/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult_gen.c.o
[435/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[436/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[437/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[438/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[439/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[440/589] Building CXX object src/CMakeFiles/bitcoinconsensus.dir/pubkey.cpp.o
[441/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o
[442/589] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[443/589] Building CXX object src/CMakeFiles/common.dir/key.cpp.o
FAILED: src/CMakeFiles/common.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -I/work/src/. -I/work/abc-ci-builds/build-diff/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-diff/src/crypto/.. -I/work/src/secp256k1/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/common.dir/key.cpp.o -MF src/CMakeFiles/common.dir/key.cpp.o.d -o src/CMakeFiles/common.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[444/589] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[445/589] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[446/589] Linking C static library src/secp256k1/libsecp256k1.a
[447/589] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[448/589] Linking C executable src/secp256k1/internal-bench
[449/589] Linking C executable src/secp256k1/ecmult-bench
[450/589] Linking C executable src/secp256k1/examples/ecdsa_example
[451/589] Linking C executable src/secp256k1/bench
[452/589] Linking CXX static library src/libbitcoinconsensus.a
[453/589] Linking CXX static library src/libscript.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-diff failed with exit code 1

Tail of the build log:

-- Install component: "secp256k1"
-- Installing: /results/artifacts/lib/libsecp256k1.a
-- Installing: /results/artifacts/include/secp256k1.h
-- Installing: /results/artifacts/include/secp256k1_preallocated.h
-- Installing: /results/artifacts/include/secp256k1_recovery.h
-- Installing: /results/artifacts/include/secp256k1_schnorr.h
[402/589] Linking C executable src/secp256k1/examples/ecdsa_example
[403/589] Linking CXX static library src/libscript.a
[404/589] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[405/589] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[406/589] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o
[407/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[408/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[409/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[410/589] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[411/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[412/589] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[413/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[414/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[415/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[416/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[417/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[418/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[419/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[420/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[421/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[422/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[423/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[424/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[425/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[426/589] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[427/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[428/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[429/589] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[430/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[431/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[432/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[433/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[434/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[435/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[436/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[437/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[438/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[439/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[440/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[441/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[442/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[443/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[444/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[445/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[446/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[447/589] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[448/589] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[449/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[450/589] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[451/589] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[452/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[453/589] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-debug failed with exit code 1

Tail of the build log:

[548/669] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[549/669] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[550/669] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[551/669] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[552/669] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[553/669] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[554/669] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[555/669] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[556/669] Linking C static library src/secp256k1/libsecp256k1.a
[557/669] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[558/669] Linking C executable src/secp256k1/internal-bench
[559/669] Linking C executable src/secp256k1/examples/ecdsa_example
[560/669] Linking C executable src/secp256k1/bench
[561/669] Linking C executable src/secp256k1/ecmult-bench
[562/669] Linking CXX static library src/libbitcoinconsensus.a
[563/669] Linking CXX static library src/libscript.a
[564/669] Building CXX object src/CMakeFiles/common.dir/key.cpp.o
FAILED: src/CMakeFiles/common.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -I/work/src/. -I/work/abc-ci-builds/build-without-wallet/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-without-wallet/src/crypto/.. -I/work/src/secp256k1/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/common.dir/key.cpp.o -MF src/CMakeFiles/common.dir/key.cpp.o.d -o src/CMakeFiles/common.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
[565/669] Building CXX object src/CMakeFiles/bitcoinkernel.dir/key.cpp.o
FAILED: src/CMakeFiles/bitcoinkernel.dir/key.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DBOOST_ALL_NO_LIB -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_CONFIG_H -I/work/src/. -I/work/src/leveldb/helpers/memenv -I/work/abc-ci-builds/build-without-wallet/src -I/work/abc-ci-builds/build-without-wallet/src/crypto/.. -I/work/src/univalue/include -I/work/src/secp256k1/include -I/work/src/leveldb/include -I/work/src/crc32c/include -isystem /usr/include/jemalloc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-reuse=none -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wno-implicit-fallthrough -Wno-psabi -Wno-unused-parameter -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Wsuggest-override -Woverloaded-virtual -std=gnu++20 -MD -MT src/CMakeFiles/bitcoinkernel.dir/key.cpp.o -MF src/CMakeFiles/bitcoinkernel.dir/key.cpp.o.d -o src/CMakeFiles/bitcoinkernel.dir/key.cpp.o -c /work/src/key.cpp
/work/src/key.cpp: In member function ‘bool CKey::Negate()’:
/work/src/key.cpp:193:39: error: ‘int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_negate instead [-Werror=deprecated-declarations]
  193 |     return secp256k1_ec_privkey_negate(secp256k1_context_sign, keydata.data());
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /work/src/key.cpp:12:
/work/src/secp256k1/include/secp256k1.h:652:48: note: declared here
  652 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/key.cpp: In member function ‘bool CKey::Derive(CKey&, ChainCode&, unsigned int, const ChainCode&) const’:
/work/src/key.cpp:367:46: error: ‘int secp256k1_ec_privkey_tweak_add(const secp256k1_context*, unsigned char*, const unsigned char*)’ is deprecated: Use secp256k1_ec_seckey_tweak_add instead [-Werror=deprecated-declarations]
  367 |     bool ret = secp256k1_ec_privkey_tweak_add(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  368 |         secp256k1_context_sign, (uint8_t *)keyChild.begin(), vout.data());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/work/src/secp256k1/include/secp256k1.h:692:48: note: declared here
  692 | SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add(
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
ninja: build stopped: cannot make progress due to previous errors.
Build build-without-wallet failed with exit code 1

Tail of the build log:

[407/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[408/599] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[409/599] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o
[410/599] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/precomputed_ecmult.c.o
[411/599] Linking C static library src/secp256k1/libsecp256k1.a
[412/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[413/599] Linking C executable src/secp256k1/internal-bench
[414/599] Linking CXX static library src/libbitcoinconsensus.a
[415/599] Linking C executable src/secp256k1/ecmult-bench
[416/599] Linking CXX static library src/libscript.a
[417/599] Linking C executable src/secp256k1/bench
[418/599] Linking C executable src/secp256k1/examples/ecdsa_example
[419/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[420/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[421/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[422/599] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[423/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[424/599] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[425/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[426/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[427/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[428/599] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[429/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[430/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[431/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[432/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[433/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[434/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[435/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[436/599] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[437/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[438/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[439/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[440/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[441/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[442/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[443/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[444/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[445/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[446/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[447/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[448/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[449/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[450/599] Linking CXX static library chronik/libchronik-bridge.a
[451/599] Linking CXX static library chronik/libchronik.a
[452/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[453/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[454/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[455/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[456/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[457/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[458/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[459/599] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[460/599] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[461/599] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[462/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[463/599] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[464/599] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
This revision is now accepted and ready to land.Tue, Feb 10, 20:22