Date: Wed, 12 Aug 2009 11:55:29 GMT From: Alexander Hasenfuss <hasenfuss@rz.tu-clausthal.de> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/137694: lang/perl5.10 and lang/perl5.8 -- Embedded perl fails after libtool/libltdl upgrade Message-ID: <200908121155.n7CBtTlC046882@www.freebsd.org> Resent-Message-ID: <200908121200.n7CC0HKB077000@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 137694 >Category: ports >Synopsis: lang/perl5.10 and lang/perl5.8 -- Embedded perl fails after libtool/libltdl upgrade >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Aug 12 12:00:17 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Alexander Hasenfuss >Release: 7.2 >Organization: Clausthal University of Technology >Environment: FreeBSD schluesselmeister-vm.rz.tu-clausthal.de 7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 #0: Thu Jul 30 09:27:38 CEST 2009 root@teufelchen.rz.tu-clausthal.de:/usr/obj/usr/src/sys/TEUFELCHEN i386 >Description: We were facing the problem when installing the port net/freeradius2 with perl module. The port maintainer was able to reproduce the problem. FreeRADIUS just uses the interface described in perlembed(1), so it seems not to be a freeradius problem. >How-To-Repeat: - Update ports to latest version (we use the base system FreeBSD 7.2-RELEASE-p3). - Follow the steps in "/usr/ports/UPDATING" to update to the new libtool version. - Install net/freeradius2 from scratch with perl support (problem seems to exist with both perl 5.10 and 5.8). All of following steps use the sample configuration that comes with the FreeRADIUS distribution. - Go to "/usr/local/etc/raddb/sites-enabled" and edit "inner-tunnel". Add "perl" to the "authorize" section (e.g. right underneath the line # ldap is a good place). - Run "radiusd -X". This will produce the error message. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >The problem is clearly with dynamic linkage of the Data::Dumper module - >though this module seems to work in a quick Perl program outside FreeRADIUS, >so the problem only happens when Perl is embedded. > >The problem is similar to that described at >http://archive.netbsd.se/?ml=zope-perl&a=2000-08&m=3936630 >(this is embedding Perl in Python) > >It appears that calls to dlopen made via rlm_perl may need " | RTLD_GLOBAL" >adding to the 'mode' argument (see the man page for dlopen(3)). However, that >system call is not made directly in rlm_perl - all that rlm_perl does is use >the interface found in the perlembed(1) man page. Here is the error message after starting "radiusd -X": [...] Module: Linked to module rlm_perl Module: Instantiating perl perl { module = "/usr/local/etc/raddb/example.pl" func_authorize = "authorize" func_authenticate = "authenticate" func_accounting = "accounting" func_preacct = "preacct" func_checksimul = "checksimul" func_detach = "detach" func_xlat = "xlat" func_pre_proxy = "pre_proxy" func_post_proxy = "post_proxy" func_post_auth = "post_auth" } Can't load '/usr/local/lib/perl5/5.10.0/mach/auto/Data/Dumper/Dumper.so' for module Data::Dumper: /usr/local/lib/perl5/5.10.0/mach/auto/Data/Dumper/Dumper.so: Undefined symbol "Perl_sv_cmp" at /usr/local/lib/perl5/5.10.0/mach/XSLoader.pm line 64. at /usr/local/lib/perl5/5.10.0/mach/Data/Dumper.pm line 36 Compilation failed in require at /usr/local/etc/raddb/example.pl line 30. BEGIN failed--compilation aborted at /usr/local/etc/raddb/example.pl line 30. rlm_perl: perl_parse failed: /usr/local/etc/raddb/example.pl not found or has syntax errors. /usr/local/etc/raddb/modules/perl[7]: Instantiation failed for module "perl" /usr/local/etc/raddb/sites-enabled/inner-tunnel[130]: Failed to find module "perl". /usr/local/etc/raddb/sites-enabled/inner-tunnel[34]: Errors parsing authorize section. Errors initializing modules Rebuilding perl and freeradius doesn't fix the problem.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908121155.n7CBtTlC046882>