我正在尝试在 Ubuntu 18.04 上安装 freeradius 2.2.8,在创建“make”文件时出现以下错误:
有人知道我应该做什么或安装什么吗?
Making all in rlm_eap...
/usr/bin/make -w -C rlm_eap all
make[6]: Entering directory '/home/lszima/freeradius-server-release_2_2_8/src/modules/rlm_eap'
Making all in libeap...
make[7]: Entering directory '/home/lszima/freeradius-server-release_2_2_8/src/modules/rlm_eap/libeap'
/home/lszima/freeradius-server-release_2_2_8/libtool --mode=compile --tag=CC gcc -I/home/lszima/freeradius-server-release_2_2_8 -I/home/lszima/freeradius-server-release_2_2_8/src -g -O2 -Wall -D_GNU_SOURCE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DNDEBUG -I/home/lszima/freeradius-server-release_2_2_8/libltdl -DEAPLIB -I. -I.. -I/home/lszima/freeradius-server-release_2_2_8/src -DOPENSSL_NO_KRB5 -c eap_tls.c
gcc -I/home/lszima/freeradius-server-release_2_2_8 -I/home/lszima/freeradius-server-release_2_2_8/src -g -O2 -Wall -D_GNU_SOURCE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DNDEBUG -I/home/lszima/freeradius-server-release_2_2_8/libltdl -DEAPLIB -I. -I.. -I/home/lszima/freeradius-server-release_2_2_8/src -DOPENSSL_NO_KRB5 -c eap_tls.c -fPIC -DPIC -o .libs/eap_tls.o
eap_tls.c: In function 'eaptls_success':
eap_tls.c:132:28: error: dereferencing pointer to incomplete type 'SSL {aka struct ssl_st}'
tls_session->ssl->session);
^~
Makefile:25: recipe for target 'eap_tls.lo' failed
make[7]: *** [eap_tls.lo] Error 1
make[7]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src/modules/rlm_eap/libeap'
Makefile:54: recipe for target 'libeap' failed
make[6]: *** [libeap] Error 2
make[6]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src/modules/rlm_eap'
Makefile:37: recipe for target 'rlm_eap' failed
make[5]: *** [rlm_eap] Error 2
make[5]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src/modules'
Makefile:12: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src/modules'
Makefile:39: recipe for target 'modules' failed
make[3]: *** [modules] Error 2
make[3]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src'
Makefile:14: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8/src'
Makefile:97: recipe for target 'src' failed
make[1]: *** [src] Error 2
make[1]: Leaving directory '/home/lszima/freeradius-server-release_2_2_8'
Makefile:18: recipe for target 'all' failed
make: *** [all] Error 2
答案1
Freeradius 2.2.8 无法使用 1.1.0 或 1.1.1 或更新版本的 OpenSSL API 构建。这在Debian 错误 #828305。
因此,如果你必须使用版本 2.2.8,您需要使用带有旧版 OpenSSL 的 Ubuntu,这意味着您将回退到使用 Ubuntu Xenial 16.04。这是目前支持的下一个较旧的 Ubuntu 版本,可能具有较旧的 OpenSSL 库。
但是,如果失败了,并且也无法在那里构建,则必须使用更高版本的 FreeRADIUS 并手动复制配置文件等。确实到了无法避免“更新”到较新软件版本的地步。