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
Support for building against system LevelDB #2241
Conversation
Debian is at least looking at including memenv, won't happen until after Wheezy is released though: |
@maqifrnswa memenv is only needed for test_bitcoin. |
ACK Though this will certainly need updating, pending autotools work |
I'd delay this until after autotoolification, as it would need to be redone from scratch otherwise anyway. However, all but test_bitcoin not linking against libmemenv.a seems meaningful by itself. |
In the meantime, I fixed a bug building test_bitcoin against system leveldb (memenv.h is not in a subdirectory) |
Automatic sanity-testing: FAILED BUILD/TEST, see http://jenkins.bluematt.me/pull-tester/9f62e7c190d27b14b834d6d085ad136c496e83d0 for binaries and test log. This could happen for one of several reasons:
If you believe this to be in error, please ping BlueMatt on freenode or TheBlueMatt here. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ |
This needs rebase because of Autotools, dunno if it's even required... |
Closing this as autotools will need a completely different solution. |
Status: Tests succeed, looks complete.
This is based on top of #2243 (LevelDB build bugfixes).
This is necessary for proper downstream distro packaging, and useful for people who have LevelDB installed for other reasons anyway. Undocumented to infer an unsupported status, but I could add a brief blurb if that's desirable. Only implemented for Linux (ie, not makefile.) for now - I assume OSX and Windows won't be packaging LevelDB/Bitcoin themselves anytime soon. Note that this does NOT remove the copied leveldb from the code, and will still build with that by default.
To test with system LevelDB:
Step 6 (test_bitcoin) will fail if your system LevelDB does not support memenv. This is expected behaviour.
To test included LevelDB still works:
SIDE EFFECT:
Bitcoin-Qt and bitcoind no longer include the LevelDB memenv module (only test_bitcoin uses it) - saves 423 KB