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 18:36:17 CEST 2005
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
More information about the Freeradius-Users
mailing list