Setting LD_PRELOAD for a port

rihad rihad at mail.ru
Mon Jan 25 08:10:24 UTC 2010


Hi,

How does one cleanly set a LD_PRELOAD environment variable for a port?
I tried it in /etc/rc.conf:
radiusd_program="/usr/bin/env 
LD_PRELOAD=/usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so 
/usr/local/sbin/radiusd"

(FreeRADIUS 2.1.6 with rlm_perl otherwise fails to start under perl 
5.8.8 due to some unresolved dependency. (And I can't use Perl 5.8.9 
because rlm_perl then just segfaults.) Older FreeRADIUS 2.1.3 w/ Perl 
5.8.8 works fine without requiring any LD_* workarounds though.)

but then

# /usr/local/etc/rc.d/radiusd start
/usr/local/etc/rc.d/radiusd: WARNING: no shebang line in /usr/bin/env
[: /usr/bin/env: unexpected operator
Starting radiusd
#
The daemon does start, but I can't "stop" it later, and "status" shows 
that it isn't running.

So I only have to hardcode it in /usr/local/etc/rc.d/radiusd?


Thanks.


More information about the freebsd-ports mailing list