Page MenuHomePhabricator

[cmake] Always run native build standalone
ClosedPublic

Authored by deadalnix on Jan 17 2020, 15:39.

Details

Summary

This ensure 2 goals:

  • The cross compilation and regular build take the same codepath, which ensure it is more used and therefore will stay robust.
  • The native executables can have different build options that generated ones.
Test Plan
  • Do a native compilation using cmake
  • Cross compile for ARM

Both are green.

Diff Detail

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

Event Timeline

This revision is now accepted and ready to land.Jan 17 2020, 15:54

Snippet of first build failure:

[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_net.py                              | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_preciousblock.py                    | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_psbt.py                             | ✓ Passed  | 12 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_rawtransaction.py                   | ✓ Passed  | 18 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_scantxoutset.py                     | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_signmessage.py                      | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_signrawtransaction.py               | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_txoutproof.py                       | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_uptime.py                           | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_users.py                            | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mrpc_zmq.py                              | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_abandonconflict.py               | ✓ Passed  | 8 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_basic.py                         | ✓ Passed  | 41 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py                  | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py --usecli         | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_disable.py                       | ✓ Passed  | 0 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_dump.py                          | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_encryption.py                    | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_groups.py                        | ✓ Passed  | 11 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_hd.py                            | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_import_rescan.py                 | ✓ Passed  | 4 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_importmulti.py                   | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_importprunedfunds.py             | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool.py                       | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool_topup.py                 | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_labels.py                        | ✓ Passed  | 3 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listreceivedby.py                | ✓ Passed  | 17 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listsinceblock.py                | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_listtransactions.py              | ✓ Passed  | 9 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py                   | ✓ Passed  | 8 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py --usecli          | ✓ Passed  | 9 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_resendwallettransactions.py      | ✓ Passed  | 1 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py                     | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py --mineblock         | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py               | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py --mineblock   | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [0;34mwallet_zapwallettxes.py                 | ✓ Passed  | 2 s
[16:04:42] :	 [Step 1/1]  [0m [1m
[16:04:42] :	 [Step 1/1] ALL                                     | ✓ Passed  | 502 s (accumulated) 
[16:04:42] :	 [Step 1/1]  [0mRuntime: 279 s
[16:04:42] :	 [Step 1/1] 
[16:04:42]W:	 [Step 1/1] ++ print_sanitizers_log
[16:04:42] :	 [Step 1/1] [299/446] Running leveldb test suite
[16:04:42]W:	 [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[16:04:42] :	 [Step 1/1] PASSED: leveldb test suite
[16:04:42] :	 [Step 1/1] [364/446] bitcoin: testing avalanche_tests
[16:04:42]W:	 [Step 1/1] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[16:04:42] :	 [Step 1/1] FAILED: src/test/CMakeFiles/check-bitcoin-avalanche_tests 
[16:04:42]W:	 [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[16:04:42] :	 [Step 1/1] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test && /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test/run-avalanche_tests.sh
[16:04:42] :	 [Step 1/1] Running 10 test cases...
[16:04:42] :	 [Step 1/1] ../src/test/avalanche_tests.cpp(900): error: in "avalanche_tests/event_loop": check AvalancheTest::getRound(p) > responseRound has failed
[16:04:42] :	 [Step 1/1] 
[16:04:42] :	 [Step 1/1] *** 1 failure is detected in the test module "Bitcoin Test Suite"
[16:04:42] :	 [Step 1/1] [368/446] bitcoin-upgrade-activated: testing radix_tests
[16:04:42] :	 [Step 1/1] ninja: build stopped: subcommand failed.
[16:04:42] :	 [Step 1/1] *** Output of /tmp/sanitizer_logs/*.log.* ***
[16:04:42]W:	 [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[16:04:42]W:	 [Step 1/1] Process exited with code 1
[16:04:43]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)

Snippet of first build failure:

[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_txoutproof.py                       | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_uptime.py                           | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_users.py                            | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mrpc_zmq.py                              | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_abandonconflict.py               | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_basic.py                         | ✓ Passed  | 39 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py                  | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_createwallet.py --usecli         | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_disable.py                       | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_dump.py                          | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_encryption.py                    | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_groups.py                        | ✓ Passed  | 11 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_hd.py                            | ✓ Passed  | 5 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_import_rescan.py                 | ✓ Passed  | 5 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_importmulti.py                   | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_importprunedfunds.py             | ✓ Passed  | 0 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool.py                       | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_keypool_topup.py                 | ✓ Passed  | 3 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_labels.py                        | ✓ Passed  | 4 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listreceivedby.py                | ✓ Passed  | 12 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listsinceblock.py                | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_listtransactions.py              | ✓ Passed  | 10 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py                   | ✓ Passed  | 8 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_multiwallet.py --usecli          | ✓ Passed  | 8 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_resendwallettransactions.py      | ✓ Passed  | 1 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py                     | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_clone.py --mineblock         | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py               | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_txn_doublespend.py --mineblock   | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [0;34mwallet_zapwallettxes.py                 | ✓ Passed  | 2 s
[16:07:42] :	 [Step 1/1]  [0m [1m
[16:07:42] :	 [Step 1/1] ALL                                     | ✓ Passed  | 482 s (accumulated) 
[16:07:42] :	 [Step 1/1]  [0mRuntime: 269 s
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] [226/446] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/devtools/chainparams && /usr/bin/python3 ./test_make_chainparams.py
[16:07:42] :	 [Step 1/1] .....
[16:07:42] :	 [Step 1/1] ----------------------------------------------------------------------
[16:07:42] :	 [Step 1/1] Ran 5 tests in 0.002s
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] OK
[16:07:42] :	 [Step 1/1] [248/446] bitcoin: testing util_tests
[16:07:42] :	 [Step 1/1] FAILED: src/test/CMakeFiles/check-bitcoin-util_tests 
[16:07:42] :	 [Step 1/1] cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test && /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/src/test/run-util_tests.sh
[16:07:42] :	 [Step 1/1] Running 37 test cases...
[16:07:42] :	 [Step 1/1] Running 37 test cases...
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] *** No errors detected
[16:07:42] :	 [Step 1/1] error: in "util_tests/test_LockDirectory": check LockDirectory(dirname, lockname, true) == true has failed [false != true]
[16:07:42] :	 [Step 1/1] 
[16:07:42] :	 [Step 1/1] *** 1 failure is detected in the test module "Bitcoin Test Suite"
[16:07:42] :	 [Step 1/1] [252/446] Building CXX object src/qt/test/CMakeFiles/test_bitcoin-qt.dir/addressbooktests.cpp.o
[16:07:42]W:	 [Step 1/1] ++ print_sanitizers_log
[16:07:42] :	 [Step 1/1] ninja: build stopped: subcommand failed.
[16:07:42] :	 [Step 1/1] *** Output of /tmp/sanitizer_logs/*.log.* ***
[16:07:42]W:	 [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[16:07:42]W:	 [Step 1/1] ++ echo '*** Output of /tmp/sanitizer_logs/*.log.* ***'
[16:07:42]W:	 [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[16:07:42]W:	 [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[16:07:42]W:	 [Step 1/1] Process exited with code 1
[16:07:42]E:	 [Step 1/1] Process exited with code 1 (Step: Command Line)