Your message dated Mon, 7 Dec 2020 07:56:25 -0500 with message-id <2677d68b-d0ec-49e5-732d-73b109632...@babelouest.org> and subject line Re: Bug#874679: libssh2: Fails to build on stable if libssl-dev is installed has caused the Debian Bug report #874679, regarding libssh2: Fails to build on stable if libssl-dev is installed to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 874679: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874679 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Source: libssh2 Version: 1.7.0-1 Severity: serious Justification: fails to build from source (but built successfully in the past) libssh2 fails to build on stable if libssl-dev is installed: ----------------- libtool: compile: gcc -DHAVE_CONFIG_H -I../include -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/tmp/libssh2-1.7.0=. -fstack-protector-strong -Wformat -Werror=format-security -c openssl.c -fPIC -DPIC -o .libs/openssl.o openssl.c: In function ‘_libssh2_rsa_new’: openssl.c:71:11: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’ (*rsa)->e = BN_new(); ^~ openssl.c: In function ‘_libssh2_dsa_new’: openssl.c:130:14: error: dereferencing pointer to incomplete type ‘DSA {aka struct dsa_st}’ (*dsactx)->p = BN_new(); ^~ openssl.c: In function ‘_libssh2_dsa_sha1_verify’: openssl.c:156:13: error: storage size of ‘dsasig’ isn’t known DSA_SIG dsasig; ^~~~~~ In file included from /usr/include/openssl/asn1.h:24:0, from /usr/include/openssl/rsa.h:16, from openssl.h:42, from crypto.h:42, from libssh2_priv.h:140, from openssl.c:41: openssl.c: In function ‘_libssh2_dsa_sha1_sign’: openssl.c:597:29: error: dereferencing pointer to incomplete type ‘DSA_SIG {aka struct DSA_SIG_st}’ r_len = BN_num_bytes(sig->r); ^ Makefile:575: recipe for target 'openssl.lo' failed make[3]: *** [openssl.lo] Error 1 make[3]: Leaving directory '/tmp/libssh2-1.7.0/src' -------------------- if libssl-dev is removed, or libssl1.0-dev installed then it builds OK. So it seems that the package should declare a build-conflicts with libssl-dev. The underlying reason appears to be an API change to opaque structs, explained on: https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes and covered in a debian context in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857621 I've not worked out the full details of why this works so long as the headers are not present at all, but the issue is that /usr/include/openssl/dsa.h (or rsa.h) defines a struct DSA_SIG_st but not the contents of it, which is now an internal detail not exposed in the headers. presumably by the magic of autoconf, if no openssl headers are found then nothing tries to be too cleaver and access struct members directly. I tried this on two architectures and both fail the same way. Wookey
--- End Message ---
--- Begin Message ---This bug has bee fixed in 1.9.0-1 thanks to the new version
OpenPGP_0xFE82139440BD22B9.asc
Description: application/pgp-keys
OpenPGP_signature
Description: OpenPGP digital signature
--- End Message ---