More info. I've tried to see different between Debian 3.0 (where freeradius is working) and Debian 3.1. Excerpt from "perl -V" on 3.0, where FR *works*:
Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lndbm -ldb -ldl -lm -lc -lposix -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lposix -lcrypt -lutil libc=/lib/libc-2.1.3.so, so=so, useshrplib=false, libperl=libperl.a So it's static (libperl.a). Perhaps that's the cause why FR has no problems here :? Nevertheless, in Debian 3.1 (where FR is giving problems), it's using libperl.so (or the correspondant link in /usr/lib). One of the simmilar threads I've found is: http://lists.cistron.nl/pipermail/freeradius-users/2005-April/042978.html But I don't see the solution there. I checked that rlm_perl.so is linked against: libperl.so.5.8 => /usr/lib/libperl.so.5.8 (0x40012000) while "perl -V" says "libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so.5.8.4" Although they're the same file: raclde01:~# ls -l /usr/lib/libperl* -rw-r--r-- 1 root root 1400854 Mar 8 11:15 /usr/lib/libperl.a lrwxrwxrwx 1 root root 14 Aug 23 16:57 /usr/lib/libperl.so -> libperl.so.5.8 lrwxrwxrwx 1 root root 16 Aug 23 15:56 /usr/lib/libperl.so.5.8 -> libperl.so.5.8.4 -rw-r--r-- 1 root root 1150824 Mar 8 11:15 /usr/lib/libperl.so.5.8.4 raclde01:~# Any ideas, please? :-( Cheers, -Román Roman Medina-Heigl Hernandez wrote: > Hi, > > I'm trying to get FR 1.0.4 to work with new Debian stable distro (3.1). > I need rlm_perl so I run ./configure with --with-experimental-modules > and compiled it from source (latest .tgz downloaded from freeradius.org): > > # tar zxvf freeradius-1.0.4.tar.gz > # chown -R root. freeradius-1.0.4 > # cd freeradius-1.0.4 > # ./configure --with-experimental-modules --prefix=/usr/local/freeradius > # make > # make install > > Compile/build process is ok. Then I configured it to use a perl script > and that's what I get when trying to start radiusd: > > raclde01:/usr/local/freeradius/sbin# ./radiusd -X > Starting - reading configuration files ... > reread_config: reading radiusd.conf > Config: including file: /etc/freeradius/proxy.conf > Config: including file: /etc/freeradius/clients.conf > Config: including file: /etc/freeradius/snmp.conf > Config: including file: /etc/freeradius/eap.conf > Config: including file: /etc/freeradius/sql.conf > main: prefix = "/usr" > main: localstatedir = "/var" > main: logdir = "/var/log/freeradius" > main: libdir = "/usr/lib/freeradius" > main: radacctdir = "/var/log/freeradius/radacct" > main: hostname_lookups = no > main: max_request_time = 30 > main: cleanup_delay = 5 > main: max_requests = 1024 > main: delete_blocked_requests = 0 > main: port = 0 > main: allow_core_dumps = no > main: log_stripped_names = no > main: log_file = "/var/log/freeradius/radius.log" > main: log_auth = no > main: log_auth_badpass = no > main: log_auth_goodpass = no > main: pidfile = "/var/run/freeradius/freeradius.pid" > main: user = "freerad" > main: group = "freerad" > main: usercollide = no > main: lower_user = "no" > main: lower_pass = "no" > main: nospace_user = "no" > main: nospace_pass = "no" > main: checkrad = "/usr/sbin/checkrad" > main: proxy_requests = yes > proxy: retry_delay = 5 > proxy: retry_count = 3 > proxy: synchronous = no > proxy: default_fallback = yes > proxy: dead_time = 120 > proxy: post_proxy_authorize = yes > proxy: wake_all_if_all_dead = no > security: max_attributes = 200 > security: reject_delay = 1 > security: status_server = no > main: debug_level = 0 > read_config_files: reading dictionary > read_config_files: reading naslist > Using deprecated naslist file. Support for this will go away soon. > read_config_files: reading clients > read_config_files: reading realms > radiusd: entering modules setup > Module: Library search path is /usr/lib/freeradius > Module: Loaded exec > exec: wait = yes > exec: program = "(null)" > exec: input_pairs = "request" > exec: output_pairs = "(null)" > exec: packet_type = "(null)" > rlm_exec: Wait=yes but no output defined. Did you mean output=none? > Module: Instantiated exec (exec) > Module: Loaded expr > Module: Instantiated expr (expr) > Module: Loaded perl > perl: module = "/usr/local/usr/local/freeradius/bin/freeradius_test.pl" > perl: func_authorize = "authorize" > perl: func_authenticate = "authenticate" > perl: func_accounting = "accounting" > perl: func_preacct = "preacct" > perl: func_checksimul = "checksimul" > perl: func_detach = "detach" > perl: func_xlat = "xlat" > perl: perl_flags = "(null)" > perl: func_start_accounting = "start_accounting" > perl: func_stop_accounting = "stop_accounting" > ./radiusd: relocation error: /usr/lib/perl/5.8/auto/IO/IO.so: undefined > symbol: Perl_Tstack_sp_ptr > raclde01:/usr/local/freeradius/sbin# > > > It's strange because I followed the same process with FR 1.0.2 on Debian > 3.0 (oldstable - Woody) 1 or 2 months ago and I got success (no problems > at all). So I don't know whether I have a problem with Perl / Debian or > it is freeradius related. Perhaps am I missing some perl package in my > Debian sarge? > > Has somebody tested FR + rlm_perl on Debian Sarge? Any idea on what's > happening? If you need more info, I could provide it. > > For instance: > raclde01:/usr/local/freeradius/sbin# dpkg -l | grep perl > ii libdbi-perl 1.46-6 Perl5 database interface by Tim Bunce > ii libdigest-perl 1.10-1 generic interface to message digest > modules > rc libnet-perl 1.09.01-1 Implementation of Internet protocols > for Per > ii libnet-server- 0.87-3 An extensible, general perl server engine > ii libnetserver-g 1.03-7 A perl module for developing internet > server > ii libperl-dev 5.8.4-8 Perl library: development files > ii libperl5.8 5.8.4-8 Shared Perl library > ii libperlio-via- 0.11-1 dynamic PerlIO layers > ii libplrpc-perl 0.2017-1 Perl extensions for writing PlRPC > servers an > ii liburi-perl 1.35-1 Manipulates and accesses URI strings > ii libwww-perl 5.803-4 WWW client/server library for Perl > (aka LWP) > ii perl 5.8.4-8 Larry Wall's Practical Extraction and > Report > ii perl-base 5.8.4-8 The Pathologically Eclectic Rubbish Lister > rc perl-doc 5.6.1-8.9 Perl documentation. > ii perl-modules 5.8.4-8 Core Perl modules > > raclde01:/usr/local/freeradius/sbin# perl -V > Summary of my perl5 (revision 5 version 8 subversion 4) configuration: > Platform: > osname=linux, osvers=2.4.27-ti1211, archname=i386-linux-thread-multi > uname='linux kosh 2.4.27-ti1211 #1 sun sep 19 18:17:45 est 2004 i686 > gnulinux ' > config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN > -Dcccdlflags=-fPIC -Darchname=i386-linux -Dprefix=/usr > -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 > -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 > -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local > -Dsitelib=/usr/local/share/perl/5.8.4 > -Dsitearch=/usr/local/lib/perl/5.8.4 -Dman1dir=/usr/share/man/man1 > -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 > -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl > -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm > -Duseshrplib -Dlibperl=libperl.so.5.8.4 -Dd_dosuid -des' > hint=recommended, useposix=true, d_sigaction=define > usethreads=define use5005threads=undef useithreads=define > usemultiplicity=define > useperlio=define d_sfio=undef uselargefiles=define usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS > -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64', > optimize='-O2', > cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN > -fno-strict-aliasing -I/usr/local/include' > ccversion='', gccversion='3.3.5 (Debian 1:3.3.5-9)', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=4, prototype=define > Linker and Libraries: > ld='cc', ldflags =' -L/usr/local/lib' > libpth=/usr/local/lib /lib /usr/lib > libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt > perllibs=-ldl -lm -lpthread -lc -lcrypt > libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, > libperl=libperl.so.5.8.4 > gnulibc_version='2.3.2' > Dynamic Linking: > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' > cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES > PERL_IMPLICIT_CONTEXT > Built under linux > Compiled at Mar 8 2005 19:51:48 > @INC: > /etc/perl > /usr/local/lib/perl/5.8.4 > /usr/local/share/perl/5.8.4 > /usr/lib/perl5 > /usr/share/perl5 > /usr/lib/perl/5.8 > /usr/share/perl/5.8 > /usr/local/lib/site_perl > . > raclde01:/usr/local/freeradius/sbin# > > Thanks in advance. > -Roman > > PS: I searched the list archive and other sources. I found other similar > "symbol problems" but I did some tests (tried proposed solutions, etc) > and I didn't got success, so I'm not really sure whether the origin of > the problem is the same or not... Your help is appreciated. > PS2: I also tried to rebuild FR package for Debian (which is currently > 1.0.2 on Sarge), adding rlm_perl support (basically > --with-experimental-modules). Build is correct but I have similar > problems with symbols :-( > > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html