Can’t Compile Asterisk On Fedora Server
All;
I have a Fedora 26 server that I am trying to compile asterisk-certified-13.13-cert6 on. However, I’m getting the following errors. I’m also having a tough time trying to compile Dahdi. I’m not sure what I’m missing, but if anyone else is running Fedora, I’d really appreciate any help at all.
Thanks Much;
John V.
make[1]: Leaving directory
‘/usr/src/asterisk-certified-13.13-cert6/menuselect’
[CC] tcptls.c -> tcptls.o
tcptls.c: In function ‘tcptls_stream_close’:
tcptls.c:401:20: error: dereferencing pointer to incomplete type ‘SSL {aka struct ssl_st}’
if (!stream->ssl->server) {
^~
tcptls.c:404:5: warning: ‘ERR_remove_thread_state’ is deprecated
[-Wdeprecated-declarations]
ERR_remove_thread_state(NULL);
^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
from /usr/include/openssl/ct.h:13,
from /usr/include/openssl/ssl.h:61,
from
/usr/src/asterisk-certified-13.13-cert6/include/asterisk/tcptls.h:66,
from tcptls.c:44:
/usr/include/openssl/err.h:247:1: note: declared here
DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *))
^
tcptls.c: In function ‘__ssl_setup’:
tcptls.c:819:31: warning: implicit declaration of function
‘SSLv2_client_method’; did you mean ‘SSLv3_client_method’?
[-Wimplicit-function-declaration]
cfg->ssl_ctx = SSL_CTX_new(SSLv2_client_method());
^~~~~~~~~~~~~~~~~~~
SSLv3_client_method
tcptls.c:819:31: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
In file included from
/usr/src/asterisk-certified-13.13-cert6/include/asterisk/tcptls.h:66:0,
from tcptls.c:44:
/usr/include/openssl/ssl.h:1338:17: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^~~~~~~~~~~
tcptls.c:825:4: warning: ‘SSLv3_client_method’ is deprecated
[-Wdeprecated-declarations]
cfg->ssl_ctx = SSL_CTX_new(SSLv3_client_method());
^~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
from /usr/include/openssl/ct.h:13,
from /usr/include/openssl/ssl.h:61,
from
/usr/src/asterisk-certified-13.13-cert6/include/asterisk/tcptls.h:66,
from tcptls.c:44:
/usr/include/openssl/ssl.h:1616:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *SSLv3_client_method(void)) /*
SSLv3 */
^
tcptls.c:829:4: warning: ‘TLSv1_client_method’ is deprecated
[-Wdeprecated-declarations]
cfg->ssl_ctx = SSL_CTX_new(TLSv1_client_method());
^~~
In file included from /usr/include/openssl/opensslconf.h:42:0,
from /usr/include/openssl/ct.h:13,
from /usr/include/openssl/ssl.h:61,
from
/usr/src/asterisk-certified-13.13-cert6/include/asterisk/tcptls.h:66,
from tcptls.c:44:
/usr/include/openssl/ssl.h:1631:1: note: declared here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) /*
TLSv1.0 */
^
make[1]: *** [/usr/src/asterisk-certified-13.13-cert6/Makefile.rules:150:
tcptls.o] Error 1
make: *** [Makefile:402: main] Error 2
3 thoughts on - Can’t Compile Asterisk On Fedora Server
Two recent issues:
https://issues.asterisk.org/jira/browse/DAHLIN-356
An issue with kernel >= 4.13 . Now fixed in git (patch by
Jean-Denis Girard).
https://issues.asterisk.org/jira/browse/DAHLIN-359
An issue with kernel >= 4.15 . There is a patch there that fixes
building but is not tested. Please test and report.
When I want to bisect something, I know that if I need to go back far enough, I need ./configure –without-ssl # 🙁
Asterisk 13.14.0 includes basic OpenSSL 1.1.0 support. I have no idea if anybody wants to backport it. Look at the log of main/tcptls.c in branch
13 in git to see the relevant patches. I suppose hopefully they’ll apply cleanly.
Fantastic. I can’t thank you enough. Regards;
John
—–Original Message—