I wanted to use my old laptop to run a bitcoin full node.


  • Processor: Intel Core2Duo @2.2 GHz i686
  • OS: Lubuntu 18.04.6 LTS (I have tried first on Lubuntu 16.04, but it failed due to lack of a compiler with c++17 feature. The fix was too complicated for me. I rather upgraded the OS as discussed here.)
  • RAM: 4 GB

Since there is no installation media of Bitcoin core 22.0rc3 for 32 bit processors, I had to compile it. I followed the instructions from the Bitcoin github, and these two articles here and here.

After successfully executing make command, in testing phase I have got these results:

  • 2 times make check passed.
  • 2 times test/functional/test_runner.py passed.
  • 4 times test/functional/test_runner.py --extended different errors in each run.
    • 1st run - feature_pruning.py and feature_dbcrash.py failed.
    • 2nd run - rpc_signrawtransaction.py --legacy-wallet and feature_pruning.py failed.
    • 3rd run - feature_pruning.py failed.
    • 4th run - feature_config_args.py and feature_pruning.py failed.

What these errors mean? Why the results vary in each run? Is it safe to run this compiled Bitcoin core? How can I compile without getting any errors?

I am not a technical person. Could you please use layman's terms. Thank you in advance.

(I want to download full blockchain and no need for legacy wallet support.)

  • 1
    32-bit x86 CPUs are no longer supported by Bitcoin Core's developers. That means they may or may not work, and aren't tested. That said, my guess here is that the tests just fail due to running out of memory. You can run them individually (just invoke feature_pruning.py directly), and get more detailed output about what goes wrong. Apr 9 at 3:53
  • 1
    I believe test_runner.py may be default run multiple tests in parallel to reduce runtime. On a severely CPU and memory-constrained system like yours that may not be desirable. Add -j1 on the command line to only run one test at a time. Apr 9 at 3:54
  • @PieterWuille Thanks. It worked. All the previously failed tests passed when ran individually. For feature_pruning.py, a warning message shows that it needs 4GB of memory. According to test_runner.py --help, current default of running parallel test scripts are 4. For me, command test_runner.py --extended -j1 had a failed test. But with commands test_runner.py -j 1 --extended, test_runner.py -j1 --extended and, test_runner.py --jobs=1 --extended all functional tests successfully passed.
    – Manapy
    Apr 10 at 17:49


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.