Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 158062 - net-dialup/freeradius-1.1.3-r1 - libeap : undefined SSL_set_ex_data symbol
Summary: net-dialup/freeradius-1.1.3-r1 - libeap : undefined SSL_set_ex_data symbol
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Alin Năstac (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-13 11:46 UTC by Yiannis
Modified: 2006-12-14 09:57 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yiannis 2006-12-13 11:46:38 UTC
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
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2006-12-13 14:24:32 UTC
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.
Comment 2 Yiannis 2006-12-13 16:04:45 UTC
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 
Comment 3 Alin Năstac (RETIRED) gentoo-dev 2006-12-14 00:15:25 UTC
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.
Comment 4 Alin Năstac (RETIRED) gentoo-dev 2006-12-14 00:29:21 UTC
Ah, apparenty I've misunderstood you. You say emerge has succeeded but rlm_eap module cannot be loaded because of that undefined symbol, right?

Comment 5 Yiannis 2006-12-14 03:54:08 UTC
(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).
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2006-12-14 09:57:01 UTC
fixed in 1.1.3-r2. 
thanks!