Created attachment 459136 [details] www-client/elinks-0.12_pre6-r2:20170108-092431.log checking for OpenSSL... configure: error: OpenSSL not found !!! Please attach the following file when seeking support: !!! /var/tmp/portage/www-client/elinks-0.12_pre6-r2/work/elinks-0.12pre6/config.log * ERROR: www-client/elinks-0.12_pre6-r2::gentoo failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 115: Called src_configure * environment, line 3126: Called econf '--sysconfdir=/etc/elinks' '--enable-leds' '--enable-88-colors' '--enable-256-colors' '--enable-true-color' '--enable-html-highlight' '--with-gpm' '--with-zlib' '--with-bzlib' '--without-gc' '--with-x' '--without-lua' '--without-guile' '--without-perl' '--without-ruby' '--with-idn' '--without-spidermonkey' '--disable-bittorrent' '--disable-nls' '--enable-ipv6' '--enable-ftp' '--enable-gopher' '--disable-nntp' '--enable-finger' '--enable-smb' '--enable-mouse' '--enable-xbel' '--enable-fastmem' '--with-openssl=/usr' * phase-helpers.sh, line 665: Called __helpers_die 'econf failed' * isolated-functions.sh, line 117: Called die * The specific snippet of code: * die "$@"
Created attachment 459138 [details] config.log configure:9992: checking for OpenSSL configure:10039: x86_64-pc-linux-gnu-gcc -o conftest -O0 -g -Wall -I/usr/include -I/usr/include -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu conftest.c -L/usr/lib -lssl -lcrypto -ldl -lgpm -lz -lbz2 -lidn -lexpat >&5 conftest.c: In function 'main': conftest.c:151:1: warning: implicit declaration of function 'OpenSSL_add_all_algorithms' [-Wimplicit-function-declaration] OpenSSL_add_all_algorithms() ^~~~~~~~~~~~~~~~~~~~~~~~~~ /var/tmp/portage/www-client/elinks-0.12_pre6-r2/temp/ccHEPwOj.o: In function `main': /var/tmp/portage/www-client/elinks-0.12_pre6-r2/work/elinks-0.12pre6/conftest.c:151: undefined reference to `OpenSSL_add_all_algorithms' collect2: error: ld returned 1 exit status configure:10039: $? = 1 configure: failed program was: ... (test is repeated with many permutations)
Created attachment 459238 [details, diff] 0001-Support-openssl-1.1.0-without-compat-modes.patch Upstream's bug tracker[0] seems to have some trouble, but here's a patch to fix build with openss-1.1.0c for upstream master branch. 0: http://bugzilla.elinks.cz/
Created attachment 459240 [details, diff] 0001-ssl-Make-RAND_egd-optional.patch For 0.12_pre6-r2, first this patch[1] from upstream is required to drop EGD requirement. 1: http://repo.or.cz/elinks.git/commit/f4a58ba3b5
Created attachment 459242 [details, diff] 0002-Support-openssl-1.1.0-without-compat-modes.patch (backported to 0.12_pre6-r2) Also required is my patch from above, backported to 0.12_pre6-r2.
Could you send your patches to elinks-dev[0]? [0]: http://lists.linuxfromscratch.org/listinfo/elinks-dev
Created attachment 500770 [details, diff] elinks-0.12_pre6-r3-openssl-1.1.0.patch This patch is just simply the patches that eroen kindly supplied earlier tweaked to apply to www-client/elinks-0.12_pre6-r3 (leaving out stuff that is now in -r3). Builds fine with dev-libs/openssl-1.1.0f-r1.
I don't quite understand the patch. From what I can see, SSLeay_add_ssl_algorithms does the same as SSL_library_init, which has been superseeded by OPENSSL_init_ssl. It seems that the patch removes openssl initialization. The configure tests also seem strange: + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <openssl/crypto.h>]], [[OpenSSL_version_num()]])],[cf_result=yes],[cf_result=no]) Why include openssl/crypto.h? openssl/opensslv.h would make more sense. + AC_CHECK_FUNCS([SSL_set_options] [SSL_get_SSL_CTX]) The result of this check doesn't seem to be used anywhere. So why add it?
Created attachment 502474 [details, diff] Suggested patch Reading the documentation [1] more closely, indeed, with OpenSSL-1.1.0 explicit initialized is no longer needed. Does this new patch still work? [1]: https://www.openssl.org/docs/man1.1.0/ssl/OPENSSL_init_ssl.html
Created attachment 522472 [details, diff] elinks-0.13_pre_pre20180225-openssl-1.1.0-compat.patch Here is an updated and cleaned up patch for elinks-0.13_pre_pre20180225.
Sorry for the delay. The only minor issue I see is that it breaks compilation with libressl. No current release of libressl has ASN1_STRING_get0_data, but the next version should have it. Several possibilities: - wait for the next libressl release - write a configure test for ASN1_STRING_get0_data - speculatively check for LIBRESSL_VERSION_NUMBER <= 0x2060400fL - ask for an openssl ebuild with the option to enable the deprecated functions
Since we decided to no longer build openssl without deprecated features, this bug can now be considered as fixed (but will eventually reappear once openssl upstream finally removed deprecated features from their code).