Bug#828505: pjproject: FTBFS with openssl 1.1.0
Bernhard Schmidt
berni at debian.org
Thu Oct 27 07:18:31 UTC 2016
Control: forwarded -1 https://trac.pjsip.org/repos/ticket/1932
Control: tags -1 help
On Sun, Jun 26, 2016 at 12:23:43PM +0200, Kurt Roeckx wrote:
Hi,
> Source: pjproject
> Version: 2.4.5~dfsg-4
> Severity: important
> Control: block 827061 by -1
>
> Hi,
>
> OpenSSL 1.1.0 is about to released. During a rebuild of all packages using
> OpenSSL this package fail to build. A log of that build can be found at:
> https://breakpoint.cc/openssl-1.1-rebuild-2016-05-29/Attempted/pjproject_2.4.5~dfsg-4_amd64-20160529-1509
>
> On https://wiki.openssl.org/index.php/1.1_API_Changes you can see various of the
> reasons why it might fail. There are also updated man pages at
> https://www.openssl.org/docs/manmaster/ that should contain useful information.
>
> There is a libssl-dev package available in experimental that contains a recent
> snapshot, I suggest you try building against that to see if everything works.
>
> If you have problems making things work, feel free to contact us.
This is still happening with the latest upstream version 2.5.5 in
experimental. Upstream is tracking this for 2.6, I doubt this will be
ready for Stretch.
The symbol errors in the buildlog above are just a symptom, configure
does not find a usable libssl and drops all SSL support.
This is the relevant code
AC_CHECK_LIB(crypto,ERR_load_BIO_strings,[libcrypto_present=1 && LIBS="-lcrypto $LIBS"])
AC_CHECK_LIB(ssl,SSL_library_init,[libssl_present=1 && LIBS="-lssl $LIBS"])
if test "x$openssl_h_present" = "x1" -a "x$libssl_present" = "x1" -a "x$libcrypto_present" = "x1"; then
AC_MSG_RESULT([OpenSSL library found, SSL support enabled])
# PJSIP_HAS_TLS_TRANSPORT setting follows PJ_HAS_SSL_SOCK
#AC_DEFINE(PJSIP_HAS_TLS_TRANSPORT, 1)
AC_DEFINE(PJ_HAS_SSL_SOCK, 1)
else
AC_MSG_RESULT([** OpenSSL libraries not found, disabling SSL support **])
I changed that to check for OPENSSL_init_ssl instead of
SSL_library_init, which makes configure enable SSL and ultimately leads
to the following build error
gcc -c -Wall -DPJ_AUTOCONF=1 -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/pjproject-2.5.5~dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/pjproject-2.5.5~dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -I../include \
-o output/pjlib-x86_64-pc-linux-gnu/ssl_sock_ossl.o \
../src/pj/ssl_sock_ossl.c
../src/pj/ssl_sock_ossl.c: In function 'init_openssl':
../src/pj/ssl_sock_ossl.c:340:6: warning: 'TLSv1_server_method' is deprecated [-Wdeprecated-declarations]
meth = (SSL_METHOD*)TLSv1_server_method();
^~~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from ../src/pj/ssl_sock_ossl.c:49:
/usr/include/openssl/ssl.h:1597:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void)) /* TLSv1.0 */
^
../src/pj/ssl_sock_ossl.c:347:26: warning: implicit declaration of function 'SSLv2_server_method' [-Wimplicit-function-declaration]
meth = (SSL_METHOD*)SSLv2_server_method();
^~~~~~~~~~~~~~~~~~~
../src/pj/ssl_sock_ossl.c:347:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
meth = (SSL_METHOD*)SSLv2_server_method();
^
../src/pj/ssl_sock_ossl.c:365:23: error: dereferencing pointer to incomplete type 'SSL_CIPHER {aka const struct ssl_cipher_st}'
(pj_uint32_t)c->id & 0x00FFFFFF;
^~
../src/pj/ssl_sock_ossl.c: In function 'create_ssl':
../src/pj/ssl_sock_ossl.c:532:2: warning: 'TLSv1_method' is deprecated [-Wdeprecated-declarations]
ssl_method = (SSL_METHOD*)TLSv1_method();
^~~~~~~~~~
In file included from /usr/include/openssl/ct.h:13:0,
from /usr/include/openssl/ssl.h:61,
from ../src/pj/ssl_sock_ossl.c:49:
/usr/include/openssl/ssl.h:1596:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
^
../src/pj/ssl_sock_ossl.c:536:28: warning: implicit declaration of function 'SSLv2_method' [-Wimplicit-function-declaration]
ssl_method = (SSL_METHOD*)SSLv2_method();
^~~~~~~~~~~~
../src/pj/ssl_sock_ossl.c:536:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ssl_method = (SSL_METHOD*)SSLv2_method();
^
../src/pj/ssl_sock_ossl.c: In function 'get_cert_info':
../src/pj/ssl_sock_ossl.c:1037:23: warning: implicit declaration of function 'M_ASN1_STRING_data' [-Wimplicit-function-declaration]
q = (pj_uint8_t*) M_ASN1_STRING_data(X509_get_serialNumber(x));
^~~~~~~~~~~~~~~~~~
../src/pj/ssl_sock_ossl.c:1037:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
q = (pj_uint8_t*) M_ASN1_STRING_data(X509_get_serialNumber(x));
^
../src/pj/ssl_sock_ossl.c:1038:11: warning: implicit declaration of function 'M_ASN1_STRING_length' [-Wimplicit-function-declaration]
len = M_ASN1_STRING_length(X509_get_serialNumber(x));
^~~~~~~~~~~~~~~~~~~~
../src/pj/ssl_sock_ossl.c:1108:7: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations]
p = ASN1_STRING_data(name->d.ip);
^
In file included from /usr/include/openssl/bn.h:31:0,
from /usr/include/openssl/asn1.h:24,
from /usr/include/openssl/objects.h:916,
from /usr/include/openssl/evp.h:27,
from /usr/include/openssl/x509.h:23,
from /usr/include/openssl/ssl.h:50,
from ../src/pj/ssl_sock_ossl.c:49:
/usr/include/openssl/asn1.h:553:1: note: declared here
DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
^
/build/pjproject-2.5.5~dfsg/build/rules.mak:163: recipe for target 'output/pjlib-x86_64-pc-linux-gnu/ssl_sock_ossl.o' failed
Bernhard
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-voip-maintainers/attachments/20161027/9f0bf81d/attachment-0001.sig>
More information about the Pkg-voip-maintainers
mailing list