Skip to content
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

version 5.4.2 cannot find openssl #10

Open
stumbles opened this issue Dec 21, 2018 · 5 comments
Open

version 5.4.2 cannot find openssl #10

stumbles opened this issue Dec 21, 2018 · 5 comments

Comments

@stumbles
Copy link

stumbles commented Dec 21, 2018

Configure fails with openssl-1.1.1a installed. So does version 5.4.0.

checking expat.h presence... yes checking for expat.h... yes checking for XML_ParserCreate in -lexpat... yes checking whether we include MD5 support for HTTP Digest Authentication.... yes checking whether we include WebDAV support.... yes checking whether we include extension methods.... yes checking whether we can find OpenSSL... configure: error: Could not find the -L/usr/lib -lssl -lcrypto libraries. You must first install openSSL.

I have tried various incantations of exporting ssl/crypto variables and sed various paths configure understands with no luck.

@sideshowbarker
Copy link
Member

What’s the exact configure invocation you’re using?

Please try invoking it ./configure --with-ssl — that is, with no argument for the --with-ssl option

@stumbles
Copy link
Author

stumbles commented Dec 21, 2018

Yes, --with-ssl.

Heres the config.log if interested. That includes adding -lssl, -lcrypto, -L/usr/lib via CFLAGS, etc.
config.log

@sideshowbarker
Copy link
Member

If you installed OpenSSL from packages, did you also install the corresponding -dev package?

For example, on Ubuntu/Debian, libssl-dev

@jkbzh
Copy link
Contributor

jkbzh commented Dec 21, 2018

@stumbles,
libwww is using libssl 1.0.x. I don't know how many API changes exist between 1.1 and 1.0 and if libwww will work well or if you will need to patch it to use the new API.

In order to link against it, you need to update libwww's configure, which detects the ssl lib by looking for the SSL_library_init() function. However, this function has disappeared in openssl1.1. It should be OPENSSL_init_ssl().

https://wiki.openssl.org/index.php/Library_Initialization#libssl_Initialization

You can do the change in configure.ac and then call autoconf to make a new configure.

Alternatively, you can install libssl1.0 and that should work.

@stumbles
Copy link
Author

@jkbzh ,

Thanks. Was overlooking the function name change. That got me a lot farther, almost to the end of make. Still some ssl make failures;

make[7]: Entering directory '/usr/src/libwww-5.4.2/Library/src/SSL'
/bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../.. -I/usr/local/include -I../../../modules/md5 -I../../../modules/expat/xmlparse -I../../../Library/src -I/usr/include/openssl -D_FORTIFY_SOURCE=2 -O2 -march=x86-64 -pipe -Wall -MT libwwwssl_la-HTSSL.lo -MD -MP -MF .deps/libwwwssl_la-HTSSL.Tpo -c -o libwwwssl_la-HTSSL.lo test -f 'HTSSL.c' || echo './'HTSSL.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../.. -I/usr/local/include -I../../../modules/md5 -I../../../modules/expat/xmlparse -I../../../Library/src -I/usr/include/openssl -D_FORTIFY_SOURCE=2 -O2 -march=x86-64 -pipe -Wall -MT libwwwssl_la-HTSSL.lo -MD -MP -MF .deps/libwwwssl_la-HTSSL.Tpo -c HTSSL.c -fPIC -DPIC -o .libs/libwwwssl_la-HTSSL.o
HTSSL.c: In function 'verify_callback':
HTSSL.c:118:16: error: dereferencing pointer to incomplete type 'X509_STORE_CTX' {aka 'struct x509_store_ctx_st'}
switch (ctx->error) {
^~
HTSSL.c: In function 'HTSSL_init':
HTSSL.c:218:11: warning: implicit declaration of function 'SSLv2_client_method'; did you mean 'SSLv23_client_method'? [-Wimplicit-function-declaration]
meth = SSLv2_client_method();
^~~~~~~~~~~~~~~~~~~
SSLv23_client_method
HTSSL.c:218:9: warning: assignment to 'SSL_METHOD *' {aka 'struct ssl_method_st *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
meth = SSLv2_client_method();
^
HTSSL.c:221:11: warning: implicit declaration of function 'SSLv3_client_method'; did you mean 'SSLv23_client_method'? [-Wimplicit-function-declaration]
meth = SSLv3_client_method();
^~~~~~~~~~~~~~~~~~~
SSLv23_client_method
HTSSL.c:221:9: warning: assignment to 'SSL_METHOD *' {aka 'struct ssl_method_st *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
meth = SSLv3_client_method();
^
HTSSL.c:224:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
meth = SSLv23_client_method();
^
HTSSL.c:228:4: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations]
meth = TLSv1_client_method();
^~~~
In file included from /usr/include/openssl/e_os2.h:13,
from /usr/include/openssl/ssl.h:15,
from HTSSL.c:32:
/usr/include/openssl/ssl.h:1866:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_client_method(void))
^~~~~~~~~~~~~~~~~~
HTSSL.c:228:9: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
meth = TLSv1_client_method();
^
HTSSL.c:241:37: warning: passing argument 2 of 'SSL_CTX_set_info_callback' from incompatible pointer type [-Wincompatible-pointer-types]
SSL_CTX_set_info_callback(app_ctx, apps_ssl_info_callback);
^~~~~~~~~~~~~~~~~~~~~~
In file included from HTSSL.c:32:
/usr/include/openssl/ssl.h:717:39: note: expected 'void (
)(const SSL , int, int)' {aka 'void ()(const struct ssl_st , int, int)'} but argument is of type 'void ()(SSL , int, int)' {aka 'void ()(struct ssl_st *, int, int)'}
void (*cb) (const SSL *ssl, int type, int val));

make[7]: *** [Makefile:593: libwwwssl_la-HTSSL.lo] Error 1
make[7]: Leaving directory '/usr/src/libwww-5.4.2/Library/src/SSL'
make[6]: *** [Makefile:654: all-recursive] Error 1
make[6]: Leaving directory '/usr/src/libwww-5.4.2/Library/src/SSL'
make[5]: *** [Makefile:482: all] Error 2
make[5]: Leaving directory '/usr/src/libwww-5.4.2/Library/src/SSL'
make[4]: *** [Makefile:1552: all-recursive] Error 1
make[4]: Leaving directory '/usr/src/libwww-5.4.2/Library/src'
make[3]: *** [Makefile:1140: all] Error 2
make[3]: Leaving directory '/usr/src/libwww-5.4.2/Library/src'
make[2]: *** [Makefile:414: all-recursive] Error 1
make[2]: Leaving directory '/usr/src/libwww-5.4.2/Library'
make[1]: *** [Makefile:576: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/libwww-5.4.2'
make: *** [Makefile:468: all] Error 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants