can't compile version from repository (on 64bit)

Bug #421005 reported by Aapo Rantalainen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
freeradius (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: freeradius

Ubuntu Jaynty
2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 01:19:55 UTC 2009 x86_64 GNU/Linux

I thought that apt-get build-dep + apt-get source works with any package (which has source).
Freeradius didn't compile.
apt-cache policy freeradius
2.1.0+dfsg-0ubuntu4.1

sudo apt-get build-dep freeradius
apt-get source freeradius
./configure #no errors/warnings
make

Error:
/src/main/modules.c:1037: undefined reference to `lt__PROGRAM__LTX_preloaded_symbols'

if it is about libtool I have
apt-cache policy libtool
2.2.6a-1ubuntu1

Revision history for this message
Daniel Letzeisen (dtl131) wrote :

I was able to reproduce this (also on amd64).

Changed in freeradius (Ubuntu):
status: New → Confirmed
Revision history for this message
Alan DeKok (aland-freeradius) wrote :

It looks like a conflict between the ltdl.h / libltld.a included on the system, and the ones included with the server. Due to "magic" issues with libtool, it can compile using the local files, and then link to the global files. Hence the conflict.

In version 2.1.7 (to be released soon), we've added a line to configure: --with-system-libltld that forces it to compile and link to the system libltldl files.

See http://git.freeradius.org/pre/ for a pre-release of 2.1.7 with the fixes.

Revision history for this message
Alan DeKok (aland-freeradius) wrote :

It's a bug in libltdl that is in Ubuntu.

See /usr/include/ltdl.h on the affected system. It has a line:

#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols

Q: Where is lt__PROGRAM__LTX_preloaded_symbols defined or referenced?
A: Nowhere.

  If you spend some time spelunking through the internals of libltdl, you will discover that there *is* a symbol

     lt_libltdl_LTX_preloaded_symbols

  The obvious thing to do is to change the FreeRADIUS code to add:

#define lt__PROGRAM__LTX_preloaded_symbols lt_libltdl_LTX_preloaded_symbols

  It then compiles and runs properly.

  Can we close this as a FreeRADIUS bug, and report it against libltdl? Searching google for
lt__PROGRAM__LTX_preloaded_symbols shows similar problems with a number of projects.

I have *no* idea why this happens for some projects using libltld, and not others. I *do* know that the problem is very clear-cut:

libltdl is buggy, and I hate it beyond words.

Revision history for this message
Chuck Short (zulcss) wrote :

Hi,

I was not able to reproduce this under karmic.

Regards
chuck

Revision history for this message
Thierry Carrez (ttx) wrote :

The following works on Jaunty:

sudo apt-get build-dep freeradius
apt-get source freeradius
cd freeradius-*
debuild

This is how we build packages. Failure to recompile manually from an apt-get sourced package without using debian/rules is not a bug of the Ubuntu package, so I'm setting this to Invalid.

Changed in freeradius (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
crypt (cryptogranny1) wrote :

to Alan DeKok:
 Thank you very much, Alan. It helped me with ubuntu hardy and latest radius 2.1.7.

Revision history for this message
sscdvp (sscdvp) wrote :

These lines added to src/main/modules.c fixed the problem for me:

--cut--
#ifndef lt__PROGRAM__LTX_preloaded_symbols
LT_DLSYM_CONST lt_dlsymlist lt__PROGRAM__LTX_preloaded_symbols[];
#endif
--cut--

My system is ORACLE Solaris 11.1

Regards,
Serghei

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.