I see that most tutorials point to doing a
git clone https://github.com/bitcoin/bitcoin method and then run the autogen script, configure, make cvars.
My question is, after doing this you get some experimental version. In my case I got 22.9.9-df8932938592335892sdfiojasifo (I just typed a bunch of gibberish because I don't remember, but ti was something like that after 22.9).
How safe is to run such a version?
Since I wasn't sure I deleted the .bitcoin folder and started from scratch. I compiled it from this link because I wanted the latest stable version 0.21.1:
https://bitcoincore.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1.tar.gzThe SHA matched the file:
caff23449220cf45753f312cefede53a9eac64000bb300797916526236b6a1e0 bitcoin-0.21.1.tar.gz
So I assume this is legit. My other question here is: Is it normal that I got in the about window version 0.21.1.0-df32r82394398259823895 (or something like this). What I mean is that it wasn't a clean 0.21.1 version, it had some gibberish in there as well. I goggled this string of characters and I didn't find google entries so im confused.
It also says "this is experimental software" in the window. Not sure if this is normal or I have compiled the wrong thing.
I also encountered some errors with dependencies and I had to do some tweaking that wasn't to be found on the official build guide here:
Particularly
./configure returns this at the end: "configure: error: libdb_cxx headers missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)".
The official guide points to this
contrib/install_db4.shbut it doesn't fix it. This also doesn't work:
sudo apt-get install libdb4.8-dev libdb4.8++-devI had to download with wget from some place that I don't remember now. Then binaries wouldn't both and I had to do this:
https://github.com/bitcoin/bitcoin/issues/4103#issuecomment-41643742In general: If you build BerkeleyDB from scratch, build only the static library (--with-static) not the shared one (--without-shared). It will not need the static library at runtime, which makes the executable more self-contained (this is the same as done for the gitian builds).
My question is how exactly you do do this? in the make command you add --with-static when building berkeleydb 4.8?
Anyway, right now it's working so im not going to touch things, just in case for the next time I compile another node.