Bitcoin full node and query server

Apr 8, 2019

View in context in the libbitcoin Slack #general mirror.

neillm22:08
Alternatively, if you use install.sh, it does that for you.
38 replies · Daniel Krawisz, neillm, evoskuil · last Apr 14, 2019
Daniel Krawisz22:08
Thanks, but this is what I was using already.
Daniel Krawisz22:08
I'll try install.sh
neillm22:09
Ok. In particular, you've already added the --enable-module-recovery switch?
Daniel Krawisz22:16
I tried but I didn't know where to add it.
neillm22:16
Add it to the ./configure line (but if you're going to install.sh, that's the preferred way to install anyway)
Daniel Krawisz22:17
I tried install.sh and it says "/usr/local/include/boost/test/tools/old/impl.hpp:130: undefined reference to `boost::test_tools::tt_detail::equal_impl(wchar_t const*, wchar_t const*)"
Daniel Krawisz22:19
When I ran "./configure --enable-module-recovery" it says "configure: WARNING: unrecognized options: --enable-module-recovery"
neillm22:19
Maybe you didn't use the --build-boost arg? install.sh is best when it builds all dependencies and doesn't require system libs (to avoid version conflicts, etc).
Daniel Krawisz22:20
Thanks, trying install.sh with --build-boost
neillm22:20
It's for the secp256k1 configure script, btw.
neillm22:21
install.sh will build the required version (you can see that it passes the args there when building if you take a peek at install.sh).
Daniel Krawisz22:24
compiling now.
Daniel Krawisz22:27
src/.libs/libbitcoin-system.so: undefined reference to `boost::re_detail_106900::put_mem_block(void*)
neillm22:29
Can't say without seeing the system, but the 2 things I'd recommend when using install.sh: 1) Make sure the --prefix=/path path doesn't exist (or rm- rf it if it does), 2) If it looks like system boost is still being picked up by configure (I've seen this on some, but not all systems), use PKG_CONFIG_PATH=/home/me/install-path/lib/pkgconfig ./install.sh --prefix=/home/me/install-path --build-boost
(edited)
neillm22:31
A few edits there, but I think I got that right there 😉
Daniel Krawisz22:31
Hmm ok but won't that install it in my home directory?
neillm22:32
That example would install it in $HOME/install-path. You can pick wherever of course
neillm22:33
It's not recommended to install to system as root, but I know some people that do that. It can cause future build issues when conflicts arise
neillm22:34
I realize the docs literally say to do the sudo make install, so let me clarify that I don't recommend that, as it causes issues on future builds
Daniel Krawisz00:28
How do I uninstall from root?
neillm00:29
Not sure, personally, I haven't had to do that. You can try the standard 'make uninstall' from each of the repos I suppose(?)
(edited)
Daniel Krawisz00:29
Oh ok
Daniel Krawisz00:34
Ok trying again
Daniel Krawisz00:56
Aha it worked. Thank you!
👍 1
evoskuil03:12
Boost is problematic because it gets installed in so many variations by so many apps. DLL hell on Linux. The trick is to isolate it to a prefix dir, as you’ve done.
Daniel Krawisz13:42
Can you tell me about what's going on with libsecp256k1? what does --enable-module-recovery actually do?
neillm13:54
Cryptography Stack Exchange
It is possible to recover the public key from an ECDSA signature values $(r,s)$? Please explain how this works.
Daniel Krawisz14:26
Ahh thanks.
Daniel Krawisz16:34
How does libbitcoin-blockchain work without libbitcoin-consensus?
evoskuil16:35
It uses its native script implementation in libbitcoin-system.
Daniel Krawisz16:36
Oh ok
Daniel Krawisz16:41
Does it work WITH libbitcoin-consensus? I'm asking because I just noticed something in libbitcoin-blockchain that says verify_script automatically fails if use_libconsensus is true!
neillm18:13
I haven't tested it recently in master, but there are at least 2 version3 mainnet servers, and 1 of them runs with consensus, the other without. The last I did test it in master, it was also working well.
evoskuil15:23
I think you are misinterpreting the source.
evoskuil05:38
The failure only occurs if attempting to use libconsensus when it has not been compiled and linked.