-
Notifications
You must be signed in to change notification settings - Fork 38.7k
build: Remove libssl from LDADD unless gui #14212
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
Conversation
|
utACK fa328ae9133b257e93a85db31df568b792c44bd5 |
|
right, bitcoind needs libcrypto not libssl |
|
BTW—are you sure bitcoin-qt does need libssl, or does it only use it through qt? I know it uses some OpenSSL functionality directly but not from what library. |
|
at the least it could be removed from The latter gives a linker error: Note, though, that this is the only occurence. Why does this need to be initialized? (removing it does not seem to have any influence on the tests passing) FWIW I could purge direct use of LIBSSL completely, without any adverse effects: https://github.com/laanwj/bitcoin/tree/2018_10_marcofalke_noLibSSL probably want to do a gitian build just to be sure |
fa4e316 to
fa16f37
Compare
fa16f37 to
23ec611
Compare
|
If you're completely purging it, can Succesfully compiled and lightly tested 23ec611 on macOS 10.13.6, including opening a BIP-70 payment request. |
I don't think removing it from depends is safe—Qt is still relying on it for |
|
@laanwj are you sure QT isn't using openssl instead of libssl? I'm generally confused by the distinction, but the QT docs mention:
Or is there some other place where QT does need libssl? |
23ec611 to
b0e2411
Compare
|
@Sjors libssl is a library of openssl, you can take a look at https://github.com/openssl/openssl/blob/master/README#L27-L29 |
As I understand it, OpenSSL is a combination of two libraries, "libcrypto" and "libssl", the first handles cryptography and certificate operations and randomness, the second networking. Our project uses only the former, which is why this PR works, however Qt (the library) uses both, as it handles both cryptography and TLS/SSL network conections. I could be misunderstanding it, though. |
|
utACK b0e2411144c1204793ed25e598963c7d8eae12f6 |
|
@ken2812221 @laanwj you're right, Probably worth mentioning in the commit message that this removes the direct dependency, but not the indirect one via QT, as pointed out above. Or perhaps add comment in |
1902767 to
450b9f5
Compare
450b9f5 to
cccc362
Compare
|
@laanwj Your branch to remove it altogether seems to fail: https://travis-ci.org/bitcoin/bitcoin/builds/428326156 (Note the included libssl header in the qt tests file: 6e996d3) |
|
@MarcoFalke argh—so it looks like that when Qt is linked statically, as in gitian, it relies on the bitcoin build pulling |
|
Ah, anyway. I removed the SSL_LIB from test_bitcoin as you suggested (and some other changes as well) |
ken2812221
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK cccc362
|
I am going to merge this after the gitian build returns |
|
+1
…On Fri, Sep 14, 2018, 14:59 MarcoFalke ***@***.***> wrote:
I am going to merge this after the gitian build returns
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#14212 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHutnwnCsdev2hGBN-L_cE8mrM3TNZhks5ua6hAgaJpZM4WnXUW>
.
|
Note to reviewers: This pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
|
Gitian builds for commit f09bc7e (master):
Gitian builds for commit d98354d6374d31886c2397119065be3dd15df2ff (master and this pull):
|
cccc362 build: Remove libssl from LDADD unless gui (MarcoFalke) Pull request description: libssl is only used by the gui, so no need to LDADD it to the other tools and binaries Follow up of the commit which removed rpcssl: 40b556d Tree-SHA512: 9dbdf4faf40699cea3a37349ac83dbcacdaa062f5338416ff4ba77924c47d9e148b27218165c5aa3584a1ef4899e0fa237ff571208aa0b98803761e802d1e5dc

libssl is only used by the gui, so no need to LDADD it to the other tools and binaries
Follow up of the commit which removed rpcssl: 40b556d