If you want to understand what is going on, you probably shouldn't try to compile everything at once, but rather start from empty main and include things one by one. There are some parts of the code that you can compile without other parts, like for example base58 encoding, big numbers (uint160, uint256, etc.), calculating hashes (like sha256 or ripemd160). If you resolve dependencies, you will see some parts are based on pure C++ and nothing else, you can start from that. There will be some parts based on some libraries, like for example OpenSSL, and you have to install that library correctly to compile that. Dealing with everything at once may be overwhelming, also because you will get some compiler errors on Linux that you wouldn't on Windows (for example related to std::min, fixed quite early, but not present in the first version).
I tried to build the first version some time ago and the easiest way to do that was to focus on one part you want to build at a time. For example, I had some code where only ECDSA handling was present, in this way I could play with public key cryptography without worrying about other parts. Then, I had some code with sha256 hashing and nothing else, in this way I could play with mining, for example by re-mining the Genesis Block, where only extra nonce or timestamp was different from the original block. And then, when I had many different parts well-behaving and correctly compiled, I could join everything together to build that version.
If I annotated this function instead 51, It's will work :
A while ago when I went to compile the old versions I found it easier to download the gigs and gigs of old linux DVDs with all the needed software and dependencies on them instead of trying to hunt them down online.
https://soft.lafibre.info/Should get you what you need. Have not tried in a while but it did work a few years ago.
-Dave
Thank you Mr. Davef.
Why exactly are you trying to compile an old binary, that even if successful, wont be able to parse any blocks or transactions (or possibly even discover peers)?
There is so much to learn. Very difficult for me. I will study hard.
Ah, so that's why you're trying to compile an old release.
For starters, you can browse the classes in the Doxygen documentation:
https://doxygen.bitcoincore.org/ and study the ones you're interested in. They even have links to inline files so you don't have to cross-reference on Github.
Wow, Thank you. It's a useful site.
[moderator's note: consecutive posts merged]