Page MenuHomePhabricator

[SECP256K1] Make autotools check for all the used openssl functions
ClosedPublic

Authored by Fabien on Oct 28 2020, 16:06.

Details

Summary
I added all the openssl functions that we call in tests.c and in
bench_verify.c to the m4 check, that way if any of them are missing it
won't enable openssl.
I also modified it a little to prevent a segmentation fault when running
that program (not that it really matters for autotools)

Backport of secp256k1 PR838.

Test Plan
make check

Diff Detail

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

Event Timeline

Fabien requested review of this revision.Oct 28 2020, 16:06

Tail of the build log:

[100/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigutil.cpp.o
[101/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/merkleblock_tests.cpp.o
[102/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rcu_tests.cpp.o
[103/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/jsonutil.cpp.o
[104/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/random_tests.cpp.o
[105/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/peermanager_tests.cpp.o
[106/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/scriptflags.cpp.o
[107/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/mempool_tests.cpp.o
[108/740] secp256k1: testing secp256k1-exhaustive_tests
[109/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/init_test_fixture.cpp.o
[110/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/processor_tests.cpp.o
[111/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/activation_tests.cpp.o
[112/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/base32_tests.cpp.o
[113/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/allocator_tests.cpp.o
[114/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/amount_tests.cpp.o
[115/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_test_fixture.cpp.o
[116/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/addrman_tests.cpp.o
[117/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/base58_tests.cpp.o
[118/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/base64_tests.cpp.o
[119/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/bitmanip_tests.cpp.o
[120/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/bip32_tests.cpp.o
[121/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockchain_tests.cpp.o
[122/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/arith_uint256_tests.cpp.o
[123/740] leveldb: testing autocompact_test
[124/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockcheck_tests.cpp.o
[125/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockstatus_tests.cpp.o
[126/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockfilter_tests.cpp.o
[127/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockindex_tests.cpp.o
[128/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/bswap_tests.cpp.o
[129/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockencodings_tests.cpp.o
[130/740] leveldb: testing db_test
FAILED: src/leveldb/CMakeFiles/check-leveldb-db_test 
cd /work/abc-ci-builds/build-diff/src/leveldb && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-diff/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-diff/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-diff/test/log/leveldb-db_test.log /work/abc-ci-builds/build-diff/src/leveldb/db_test
==== Test DBTest.Empty
==== Test DBTest.ReadWrite
==== Test DBTest.PutDeleteGet
==== Test DBTest.GetFromImmutableLayer
==== Test DBTest.GetFromVersions
==== Test DBTest.GetMemUsage
==== Test DBTest.GetSnapshot
==== Test DBTest.GetLevel0Ordering
==== Test DBTest.GetOrderedByLevels
==== Test DBTest.GetPicksCorrectFile
==== Test DBTest.GetEncountersEmptyLevel
../../src/leveldb/db/db_test.cc:676: failed: 1 == 0
[131/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/blockfilter_index_tests.cpp.o
[132/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/cashaddr_tests.cpp.o
[133/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/cashaddrenc_tests.cpp.o
[134/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/bloom_tests.cpp.o
[135/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/compilerbug_tests.cpp.o
[136/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/checkdatasig_tests.cpp.o
[137/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/compress_tests.cpp.o
[138/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/config_tests.cpp.o
[139/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/checkpoints_tests.cpp.o
[140/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/checkqueue_tests.cpp.o
[141/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/coins_tests.cpp.o
[142/740] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/core_io_tests.cpp.o
[143/740] secp256k1: testing secp256k1-tests
ninja: build stopped: subcommand failed.
Build build-diff failed with exit code 1
deadalnix requested changes to this revision.Oct 29 2020, 01:00
deadalnix added a subscriber: deadalnix.

This seems busted.

This revision now requires changes to proceed.Oct 29 2020, 01:00

Tail of the build log:

[361/418] bitcoin: testing serialize_tests
[362/418] Running utility command for check-bitcoin-txvalidationcache_tests
[363/418] Running utility command for check-bitcoin-serialize_tests
[364/418] Running utility command for check-bitcoin-uint256_tests
[365/418] bitcoin: testing cuckoocache_tests
[366/418] Running utility command for check-bitcoin-cuckoocache_tests
[367/418] bitcoin: testing radix_tests
[368/418] bitcoin: testing undo_tests
[369/418] Running utility command for check-bitcoin-radix_tests
[370/418] bitcoin: testing util_threadnames_tests
[371/418] bitcoin: testing walletdb_tests
[372/418] Running utility command for check-bitcoin-undo_tests
[373/418] Running utility command for check-bitcoin-walletdb_tests
[374/418] Running utility command for check-bitcoin-util_threadnames_tests
[375/418] bitcoin: testing blockcheck_tests
[376/418] Running utility command for check-bitcoin-blockcheck_tests
[377/418] bitcoin: testing compilerbug_tests
[378/418] Running utility command for check-bitcoin-compilerbug_tests
[379/418] bitcoin: testing crypto_tests
[380/418] bitcoin: testing checkpoints_tests
[381/418] bitcoin: testing validationinterface_tests
[382/418] Running utility command for check-bitcoin-crypto_tests
[383/418] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/apptests.cpp.o
[384/418] Running utility command for check-bitcoin-checkpoints_tests
[385/418] Running utility command for check-bitcoin-validationinterface_tests
[386/418] bitcoin: testing script_standard_tests
[387/418] Running utility command for check-bitcoin-script_standard_tests
[388/418] bitcoin: testing ref_tests
[389/418] bitcoin: testing script_tests
[390/418] Running utility command for check-pow-aserti32d_tests
[391/418] bitcoin: testing bswap_tests
[392/418] Running utility command for check-bitcoin-ref_tests
[393/418] Running pow test suite
PASSED: pow test suite
[394/418] Running utility command for check-bitcoin-script_tests
[395/418] Running utility command for check-bitcoin-bswap_tests
[396/418] bitcoin: testing validation_tests
[397/418] Running utility command for check-bitcoin-validation_tests
[398/418] bitcoin: testing skiplist_tests
[399/418] bitcoin: testing validation_block_tests
[400/418] Running utility command for check-bitcoin-skiplist_tests
[401/418] bitcoin: testing monolith_opcodes_tests
[402/418] secp256k1: testing secp256k1-exhaustive_tests
[403/418] Running utility command for check-bitcoin-validation_block_tests
[404/418] bitcoin: testing coinselector_tests
FAILED: src/test/CMakeFiles/check-bitcoin-coinselector_tests 
cd /work/abc-ci-builds/build-clang/src/test && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-clang/test/log && /usr/bin/cmake -E env /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-clang/test/log/bitcoin-coinselector_tests.log /work/abc-ci-builds/build-clang/src/test/test_bitcoin --run_test=coinselector_tests --logger=HRF,test_suite:JUNIT,message,bitcoin-coinselector_tests.xml --catch_system_errors=no
Running 4 test cases...
Entering test module "Bitcoin ABC unit tests"
../../src/wallet/test/coinselector_tests.cpp(22): Entering test suite "coinselector_tests"
../../src/wallet/test/coinselector_tests.cpp(149): Entering test case "bnb_search_test"
Segmentation fault (core dumped)
[405/418] Running utility command for check-bitcoin-monolith_opcodes_tests
[406/418] Linking CXX executable src/qt/test/test_bitcoin-qt
[407/418] bitcoin: testing util_tests
[408/418] bitcoin: testing transaction_tests
[409/418] bitcoin: testing coins_tests
[410/418] secp256k1: testing secp256k1-tests
ninja: build stopped: subcommand failed.
Build build-clang failed with exit code 1
Fabien requested review of this revision.Oct 29 2020, 08:19

Restart CI, unrelated failure

This revision is now accepted and ready to land.Oct 29 2020, 18:22