It seems that after emerging freeradius (net-dialup/freeradius-1.1.3-r1 USE="frxp mysql pam ssl -debug -edirectory -frascend -frnothreads -kerberos -ldap -postgres -snmp -udpfromto") and starting it in debug mode rlm_eap fails.The error message is the following: Failed to link to module 'rlm_eap': /usr/lib/libeap-1.1.3.so: undefined symbol: SSL_set_ex_data The configuration used is similar to the one provided in http://www.urbanwireless.co.nz/?page_id=22 but with mysql support too. I use gentoo linux with the hardened profile enabled. I have checked if it is an openssl issue but as far as I can see it is not. You can see the discussion about this issue in http://archives.gentoo.org/gentoo-user/msg_105030.xml
Since this symbol is defined in libssl.so (see objdump -T /usr/lib/libssl.so | grep SSL_set_ex_data), I assume -lssl wasn't present on linker's command line. Can you post here the command line that failed with the "undefined symbol" error? To be clear, I'm reffering to the libtool command line. Also, post your version of libtool.
I am using sys-devel/libtool-1.5.22 version. As I am not familiar with libtool, I followed your directions and compiled "by hand" freeradius. I searched in the output for the linking step of the shared library libeap-1.1.3.so and found out this one: gcc -shared .libs/eapcommon.o .libs/eapcrypto.o .libs/eapsimlib.o .libs/fips186prf.o .libs/cb.o .libs/eap_tls.o .libs/mppe_keys.o .libs/tls.o -Wl,--rpath -Wl,/var/tmp/portage/freeradius-1.1.3-r1/work/freeradius-1.1.3/src/lib/.libs /var/tmp/portage/freeradius-1.1.3-r1/work/freeradius-1.1.3/src/lib/.libs/libradius.so -lnsl -lresolv -lpthread -Wl,-soname -Wl,libeap-1.1.3.so -o .libs/libeap-1.1.3.so from which I can see that ssl is not passed to the linker indeed(as you said). So I recompiled the library with -lssl and finished the rest compilation of freeradius. Now(with the new libeap-1.1.3.so) I can see that everything is working correctly. I dont know if I helped you in some way(I hope I did). Can you provide a clean solution to this linking problem? Regards
rlm_eap module don't use ssl, only rlm_eap_tls use it. Do the following: cd /usr/portage/net-dialup/freeradius ebuild freeradius-1.1.3-r1.ebuild clean compile then attach the output from the last libtool command (the one that failed) down to the end. As comment, post your emerge --info.
Ah, apparenty I've misunderstood you. You say emerge has succeeded but rlm_eap module cannot be loaded because of that undefined symbol, right?
(In reply to comment #4) > Ah, apparenty I've misunderstood you. You say emerge has succeeded but rlm_eap > module cannot be loaded because of that undefined symbol, right? > Yes, this is the case. Please note that the problem was resolved by linking libeap-1.1.3.so with -lssl (look in my previous post).
fixed in 1.1.3-r2. thanks!