On Wed, Jan 11, 2006 at 12:53:35PM +0200, Konstantin Kubatkin wrote:
> >>Package: freeradius
> >>Version: 1.0.5-2
> >>Severity: normal

> >>Are not compiled rlm_eap_peap.la and rlm_eap_ttls.la
> >These modules are not installed because of a libtool's nonsense. I arranged
> >a patch in the CVS to have these modules statically linked to the server.
> >Please get the source from branch_1_1 of the CVS, and try to build
> >FreeRADIUS again with dpkg-buildpackage.
> >$ cvs -d :pserver:[EMAIL PROTECTED]:/source login
> >CVS password: anoncvs
> >$ cvs -d :pserver:[EMAIL PROTECTED]:/source checkout -r branch_1_1 radiusd

> 1. On i386 has gathered without mistakes

Actually, I think you'll find that lintian will pick up that on i386
there's non-PIC code in a shared library. It's the same as on AMD64, but
isn't fatal on i386.

> 2. On x86_64 has not gathered

> /bin/sh /usr/src/Local/freeradius/cvs/radiusd/libtool --mode=link gcc 
> -release 1.1.0 \
> -module -export-dynamic   \
> -o rlm_eap.la -rpath /usr/lib/freeradius rlm_eap.lo eap.lo mem.lo state.lo 
> ./libeap/libeap.la -lssl -lcrypto -lnsl -lresolv  -lpthread
> rm -fr .libs/rlm_eap.la .libs/rlm_eap.* .libs/rlm_eap-1.1.0.*
> gcc -shared  rlm_eap.lo eap.lo mem.lo state.lo -Wl,--whole-archive 
> ./libeap/.libs/libeap.a -Wl,--no-whole-archive  -lssl -lcrypto -lnsl -lresolv 
> -lpthread  -Wl,-soname 
> -Wl,rlm_eap-1.1.0.so -o .libs/rlm_eap-1.1.0.so
> /usr/bin/ld: ./libeap/.libs/libeap.a(eapcrypto.o): relocation R_X86_64_32 can 
> not be used when making a shared object; recompile with -fPIC
> ./libeap/.libs/libeap.a(eapcrypto.o): could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[7]: *** [rlm_eap.la] Error 1
> make[7]: Leaving directory 
> `/usr/src/Local/freeradius/cvs/radiusd/src/modules/rlm_eap'
> make[6]: *** [common] Error 2
> make[6]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd/src/modules'
> make[5]: *** [all] Error 2
> make[5]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd/src/modules'
> make[4]: *** [common] Error 2
> make[4]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd/src'
> make[3]: *** [all] Error 2
> make[3]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd/src'
> make[2]: *** [common] Error 2
> make[2]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/usr/src/Local/freeradius/cvs/radiusd'
> make: *** [stamp-build] Error 2
> debuild: fatal error at line 765:
> dpkg-buildpackage failed!

I do have a partially-worked fix here against 1.0-series, once 1.1.0 is
uploaded into archive I'll forward-port it and see if I can get it to
actually work.

However, I suspect this issue will survive until FreeRADIUS 2.0. >_<

The crux of the problem is libtool1.4's magic handling of -lblah which
makes it highly dependant on installation order, since it goes hunting
in the _target_ directory to work out if it should link the static or
dynamic version in. (or more accurately, looks in the source directory
for what the source directory records has been installed in the target
directory... -_-)

-- 
Paul "TBBle" Hampson, [EMAIL PROTECTED]
8th year CompSci/Asian Studies student, ANU

Shorter .sig for a more eco-friendly paperless office.

Attachment: pgp5CLKeOhSbF.pgp
Description: PGP signature

Reply via email to