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: 40b556d3742a1f65d67e2d4c760d0b13fe8be5b7
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: 40b556d3742a1f65d67e2d4c760d0b13fe8be5b7
utACK fa328ae9133b257e93a85db31df568b792c44bd5
right, bitcoind needs libcrypto not libssl utACK fa328ae9133b257e93a85db31df568b792c44bd5
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 src/Makefile.test.include as well
The latter gives a linker error:
…/bitcoin/src/qt/test/test_main.cpp:71: undefined reference to `OPENSSL_init_ssl'
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
If you're completely purging it, can libssl.pc also be removed from depends/packages/openssl.mk?
Succesfully compiled and lightly tested 23ec611 on macOS 10.13.6, including opening a BIP-70 payment request.
If you're completely purging it, can libssl.pc also be removed from depends/packages/openssl.mk?
I don't think removing it from depends is safe—Qt is still relying on it for https:// connections, which are necessary for BIP70. It's just we have no direct dependency on it anymore.
@laanwj are you sure QT isn't using openssl instead of libssl? I'm generally confused by the distinction, but the QT docs mention:
When building Qt from source, the configuration system checks for the presence of the openssl/opensslv.h header provided by source or developer packages of OpenSSL.
Or is there some other place where QT does need libssl?
@Sjors libssl is a library of openssl, you can take a look at https://github.com/openssl/openssl/blob/master/README#L27-L29
@laanwj are you sure QT isn't using openssl instead of libssl? I'm generally confused by the distinction, but the QT docs mention:
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, openssl/opensslv.h indeed refers to the whole kitchen sink, I misread the README:
<img width="564" alt="schermafbeelding 2018-09-13 om 20 56 38" src="https://user-images.githubusercontent.com/10217/45509345-90acf980-b797-11e8-82bc-00a86ea68bd3.png">
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 openssl.mk why it's still there (although it won't compile if anyone tries to remove it).
@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 -lssl in. This is no problem when building against qt dynamically, which is why I didn't notice before. e.g, here's Qt indirectly referring to ssl functions:
/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x4e1): un
defined reference to `SSL_accept'
/home/ubuntu/build/bitcoin/depends/i686-w64-mingw32/share/../lib/libQt5Network.a(qsslsocket_openssl_symbols.o):qsslsocket_openssl_symbols.cpp:(.text+0x4f1): un
defined reference to `SSL_clear'
Ah, anyway. I removed the SSL_LIB from test_bitcoin as you suggested (and some other changes as well)
utACK cccc362d62b0ba9475b1ac47d5908f77f7eb5d21
I am going to merge this after the gitian build returns
+1
On Fri, Sep 14, 2018, 14:59 MarcoFalke notifications@github.com 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 https://github.com/bitcoin/bitcoin/pull/14212#issuecomment-421350613, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHutnwnCsdev2hGBN-L_cE8mrM3TNZhks5ua6hAgaJpZM4WnXUW .
<!--e57a25ab6845829454e8d69fc972939a-->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.
<!--a722867cd34abeea1fadc8d60700f111-->
Gitian builds for commit f09bc7ec9859bba6d1df765adb1030d276b8f626 (master):
6a3a09c426fc6e0f1b92dbd157c82a41... bitcoin-0.17.99-aarch64-linux-gnu-debug.tar.gz3772825f517fd8ec06efce82f471d198... bitcoin-0.17.99-aarch64-linux-gnu.tar.gz53d68bcc7dbc1f63093cdd0c430aac97... bitcoin-0.17.99-arm-linux-gnueabihf-debug.tar.gz03dacfb04886c19aeeb87d7407e8d186... bitcoin-0.17.99-arm-linux-gnueabihf.tar.gzd976b153247430227a187bb16cfc4559... bitcoin-0.17.99-i686-pc-linux-gnu-debug.tar.gz6ca191b8cfaa7ca940c6a534207c9fd8... bitcoin-0.17.99-i686-pc-linux-gnu.tar.gz1f024a3516062cbb4941e2213540f9e8... bitcoin-0.17.99-osx-unsigned.dmg834899739f8ba74885016a1edd2a0187... bitcoin-0.17.99-osx64.tar.gzb700471ae97186b43004b67e799fb166... bitcoin-0.17.99-riscv64-linux-gnu-debug.tar.gz9f2822afe690e9c3d2106aa37f3b87d6... bitcoin-0.17.99-riscv64-linux-gnu.tar.gz8f032a8b8a8f2a5595febee643bb1bb7... bitcoin-0.17.99-win32-debug.zipd31c38ceff505f2ddf05c021cf213d34... bitcoin-0.17.99-win32-setup-unsigned.execeb65f311fddcf110158f4bc036a55c8... bitcoin-0.17.99-win32.zip0ee1b30ebdeac0dc3ec4fde601edeb3d... bitcoin-0.17.99-win64-debug.zipbbaee54a0fa413df158729ebebbd7388... bitcoin-0.17.99-win64-setup-unsigned.exe92e1db1c176fa2a81bc8e0779e9621b2... bitcoin-0.17.99-win64.zip38be89cf95bb5ebd3da3e2658b345eee... bitcoin-0.17.99-x86_64-linux-gnu-debug.tar.gz45aca800485c2922eb3023624c5c98e9... bitcoin-0.17.99-x86_64-linux-gnu.tar.gz3a4f3f0fa4d15a5d3d0cec9e3192f22c... bitcoin-0.17.99.tar.gz85515fdfa2ee8dba0a94f93745a63c2d... bitcoin-linux-0.18-res.yml26b28bbdeddddbdb4bd61ad267e562c4... bitcoin-linux-build.log57cdda1f21dfd106c54ba36a142ee802... bitcoin-osx-0.18-res.ymlce7bdbe2fa372bd4dd2c5a3e8a1289c6... bitcoin-osx-build.log0e5659da58d746d7f065f1107c9295f8... bitcoin-win-0.18-res.yml25848ed1d5ee414e8ea1dbed1fc25469... bitcoin-win-build.logGitian builds for commit d98354d6374d31886c2397119065be3dd15df2ff (master and this pull):
02e649f2398c1f34091caa265a5c252b... bitcoin-0.17.99-aarch64-linux-gnu-debug.tar.gze97bded78236082b83c2c3dc6f89aa93... bitcoin-0.17.99-aarch64-linux-gnu.tar.gzef8a549521c37bb0863f2c83d2d51366... bitcoin-0.17.99-arm-linux-gnueabihf-debug.tar.gz0b3dc901d665b1de7c77875e2aa4b685... bitcoin-0.17.99-arm-linux-gnueabihf.tar.gz7e46b0887c826137502af68442350983... bitcoin-0.17.99-i686-pc-linux-gnu-debug.tar.gzd71ed3b8adb2bbf2bd8fb3a3edfbfd79... bitcoin-0.17.99-i686-pc-linux-gnu.tar.gzcd0ce7f776bb2001e0036659e6031a9b... bitcoin-0.17.99-osx-unsigned.dmgcac7d8bbc55090d44fa81d8e9ca8867b... bitcoin-0.17.99-osx64.tar.gz2ace188868e27763828cc76aa90873f8... bitcoin-0.17.99-riscv64-linux-gnu-debug.tar.gz74abd3151b2475f8e901c219b26a412c... bitcoin-0.17.99-riscv64-linux-gnu.tar.gz34776349ea6452fa5f808568bfd62361... bitcoin-0.17.99-win32-debug.zip059b6477b91f49cdffd199b1a4c7a13a... bitcoin-0.17.99-win32-setup-unsigned.exe0096c680b947ff76c60ce8d1b26543b2... bitcoin-0.17.99-win32.zipedf48a30a9707f4746a3c4dfebf06ec8... bitcoin-0.17.99-win64-debug.zipfe532b3e75ec6c672a24fa459c6e31b4... bitcoin-0.17.99-win64-setup-unsigned.exeb1b2c8b9e634cf390bf47272c3b172b9... bitcoin-0.17.99-win64.zipe10ee7d746a820f33985f42fc443dca9... bitcoin-0.17.99-x86_64-linux-gnu-debug.tar.gza0c54e4396404fc2644488ddce9e2a03... bitcoin-0.17.99-x86_64-linux-gnu.tar.gz09157c16dbdd74806eafc01db955f252... bitcoin-0.17.99.tar.gz80e73b176b89fbec07865f7c6364414f... bitcoin-linux-0.18-res.yml7eed11aeda02608e7a322e947c99ffbc... bitcoin-linux-build.log4071378ffd1e4f7700547811df48f797... bitcoin-osx-0.18-res.yml9d9eb0eabd942c062f1ccf08be9c738f... bitcoin-osx-build.log1cc23b99a2645b08d874a5211c57d77e... bitcoin-win-0.18-res.yml70632858e90db8611ceffbb9207c2233... bitcoin-win-build.log