From: rihad on
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.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: "b. f." on
rihad wrote:
>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?
>

This is ugly, ugly, ugly. You should talk to the port maintainer and
try to determine the problem with the PERL option in the port. It
simply says USE_PERL=yes in the port Makefile, which suggests that
5.8.9 should work. If you want to take a chance on this ugly hack,
you can use libmap.conf(5) with a constraint to substitute the older
libperl.so only for the binaries that are broken. But will these
binaries still attempt to use other perl libraries or binary
executables that are associated with another perl version? Look out.

b.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"