Freeradius – Problem with rlm_perl

There is a problem in debian/ubuntu that when you use rlm_perl module, freeradius will fail to start.

root@debian:/etc/freeradius# /etc/init.d/freeradius restart
Stopping FreeRADIUS daemon: freeradius/var/run/freeradius/ not found….
Starting FreeRADIUS daemon: freeradiusCan’t load ‘/usr/lib/perl5/auto/DBI/’ for module DBI: /usr/lib/perl5/auto/DBI/ undefined symbol: PL_memory_wrap at /usr/lib/perl/5.10/ line 192.
at /usr/lib/perl5/ line 265
BEGIN failed–compilation aborted at /usr/lib/perl5/ line 265.
Compilation failed in require at /etc/freeradius/ line 2.
BEGIN failed–compilation aborted at /etc/freeradius/ line 2.


after a little googleing I find out solution, all you need is to preload perl library:

LD_PRELOAD=/usr/lib/ /usr/sbin/freeradius -X

Note: you will need to find out your perl library path:
# find /usr/lib/ -name “*”

you also need to update your init script just like this :

LD_PRELOAD=/usr/lib/ start-stop-daemon –start –quiet –pidfile $PIDFILE –exec $PROGRAM — $FREERADIUS_OPTIONS ……