Freeradius 1.0.4 (rlm_perl enabled) and Debian 3.1 (stable - Sarge)

Roman Medina-Heigl Hernandez roman at rs-labs.com
Wed Aug 24 10:46:46 CEST 2005


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 :-(




More information about the Freeradius-Users mailing list