New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bitcoin-0.8.6 'make test' error on Fedora 19 using OpenSSL 1.0.1e #3464
Comments
Can you run 'ldd' on the bitcoin-test executable? |
Ah, thanks. It appears that you may be right:
However, the LD_LIBRARY_PATH fix didn't work, as I only have the static OpenSSL libraries in /usr/local/lib, not the shared object libraries. It appears I need to fix that on the OpenSSL side. I will try that later today and update this issue. Thanks for the quick response. |
Right, linking openssl statically instead of dynamically sounds like the |
@laanwj, thanks so much for your assistance! For any other Fedora folk who may come upon this same error, I needed to compile OpenSSL from source, as I mentioned above. In bitcoin-0.8.5, it appears that libssl and libcrypto were compiled into bitcoind statically:
In bitcoind-0.8.6, on the other hand, by default, libssl is dynamically linked:
To correct what I wrote above, I needed to configure OpenSSL to produce shared libraries:
and recompile. Before 'make install' would succeed, due to Perl POD syntax errors, I had to patch some of the files in the openssl-1.0.1e directory, using a patch file I found at http://ftp.cc.uoc.gr/mirrors/linux/fatdog/arm/sources/src-blfs/openssl-1.0.1e-fix_pod_syntax-1.patch
I needed to set two environment variables at compile time to use my compiled version of OpenSSL, rather than the (brain-damaged) Fedora installation:
and then either compile statically, as @laanwj suggests, or do what I did: set another environment variable at run time:
If I forgot, my output from ldd shows 'not found', and bitcoind will not work:
|
Marking closed. Thanks again! |
Are you sure that this changed between bitcoin 0.8.5 and 0.8.6? |
Yep. Compiled both 0.8.5 and 0.8.6 from the GitHub source. Don't think I
|
Summary: I've built OpenSSL 1.0.1e from source and installed it in /usr/local, then attempted to compile bitcoin-0.8.6 (headless bitcoind) on a Fedora 19 box using the OpenSSL installed in /usr/local, not the Fedora OpenSSL without EC. 'make test' returns
*** 38 failures detected in test suite "Bitcoin Test Suite"
Details:
Steps I took to compile OpenSSL 1.0.1e:
$ ./config --prefix=/usr/local enable-ec enable-ecdh enable-ecdsaUpdate: see below$ patch -po < openssl-1.0.1e-fix_pod_syntax-1.patchUpdate: see belowFor OpenSSL, 'make test' returned ALL TESTS SUCCESSFUL.
Steps I took to compile bitcoin-0.8.6, downloaded from http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.8.6/:
$ export OPENSSL_INCLUDE_PATH="/usr/local/ssl/include"Update: see below$ export OPENSSL_LIB_PATH="/usr/local/ssl/lib"Update: see belowFor bitcoin-0.8.6-linux, 'make test' prints the following on stderr:
and stdout has a bunch of errors of the following form:
System information:
The text was updated successfully, but these errors were encountered: