Author

Topic: Questions after compiling source (Read 116 times)

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
September 29, 2021, 02:33:51 AM
#4
I don't know where you got "make cvars" from but the build process on UNIX is supposed to be done like this, after downloading the source tarball:

Code:
./autogen.sh
./configure
make # use "-j N" for N parallel jobs
make install # optional

If you see a long hex string at the end that's just the commit ID from git that Bitcoin Core was build from. But if you see a couple of .9's at the end then you have compiled an experimental Bitcoin Core (it is not a malicious build).
sr. member
Activity: 317
Merit: 448
September 26, 2021, 01:15:14 PM
#3
I see that most tutorials point to doing a git clone https://github.com/bitcoin/bitcoin method and then
--snip--
How safe is to run such a version?

If you use default branch (master branch), you'll get development version of Bitcoin Core which may be bugged. If you want to compile stable version, you need to checkout to different branch/commit or simply download the source code from release page (such as https://github.com/bitcoin/bitcoin/releases).

After using the github clone method I also used this:

https://bitcoincore.org/bin/bitcoin-core-0.21.1/bitcoin-0.21.1.tar.gz

Which is listed as stable. Yet I still get the gibberish after 0.21.1. Shouldn't it just be 0.21.1 period? This is weird.

Im going to install 22.0 soon anyway. Im going to use the link listed here as usual:

https://bitcoincore.org/en/download/

https://bitcoincore.org/bin/bitcoin-core-22.0/bitcoin-22.0.tar.gz

Anyone compiled this recently can check if the version number is listed with gibberish to?

legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
July 24, 2021, 10:35:00 PM
#2
The ./install-db4.sh script displays a command at the end of installation that you should paste into the terminal, something like export BDB_LIBRARIES=... followed by something like ./configure --with-bdb=..., make sure you paste those.
sr. member
Activity: 317
Merit: 448
July 23, 2021, 03:05:15 PM
#1
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.gz

The 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.sh

but it doesn't fix it. This also doesn't work:

sudo apt-get install libdb4.8-dev libdb4.8++-dev

I 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-41643742

Quote
In 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.
Jump to: