Date: Tue, 5 Jan 2010 12:12:26 -0500 From: Nick Rogers <ncrogers@gmail.com> To: freebsd-ports@freebsd.org Subject: Issues with Perl 5.8.9_3 port/package (in combination with FreeRADIUS 2.1.6) Message-ID: <147432021001050912m5cd978dbv455645d590f5fd81@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I'm having the same problem as outlined in this thread... http://forums.freebsd.org/showthread.php?t=9280 In short, using the freeradius perl module in conjunction with a perl script that requires perl modules that use shared libraries seems to be problematic. Identical setup worked fine under FreeBSD 7.2 + freeradius-2.1.4 + perl-5.8.9_2. Any help would be greatly appreciated. Below is a dump that should explain my specific problem. rxg# uname -a FreeBSD rxg.local 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Wed Dec 9 19:07:25 UTC 2009 root@.localdomain:/usr/obj/usr/src/sys/RGNETS amd64 rxg# rxg# pkg_info freeradius-2.1.6 A free RADIUS server implementation gdbm-1.8.3_3 The GNU database manager gettext-0.17_1 GNU gettext package gmake-3.81_3 GNU version of 'make' utility libiconv-1.13.1 A character set conversion library libltdl-2.2.6a System independent dlopen wrapper p5-Data-Validate-Domain-0.09 Data::Validate::Domain - domain validation methods p5-Net-Domain-TLD-1.68 Look up and validate TLDs p5-YAML-Tiny-1.40 Read/Write YAML files with as little code as possible perl-5.8.9_3 Practical Extraction and Report Language python26-2.6.2_3 An interpreted object-oriented programming language rxg# rxg# cat /usr/local/etc/raddb/radiusd.conf user = freeradius group = freeradius raddbdir = /usr/local/etc/raddb logdir = /var/log/radius libdir = /usr/local/lib pidfile = /var/run/radiusd/radiusd.pid prefix = /usr/local exec_prefix = ${prefix} localstatedir = /var sbindir = ${exec_prefix}/sbin radacctdir = ${logdir}/radacct confdir = ${raddbdir} run_dir = ${localstatedir}/run/radiusd log_file = /var/log/radius/radius.log log_destination = files max_request_time = 30 delete_blocked_requests = no cleanup_delay = 5 max_requests = 256 listen { ipaddr = * port = 1812 type = auth } listen { ipaddr = * port = 1813 type = acct } hostname_lookups = no allow_core_dumps = no regular_expressions = yes extended_expressions = yes log_stripped_names = no log_auth = yes log_auth_badpass = no log_auth_goodpass = no usercollide = no lower_user = no lower_pass = no nospace_user = no nospace_pass = no checkrad = ${sbindir}/checkrad proxy_requests = no snmp = no security { max_attributes = 200 reject_delay = 1 status_server = no } thread pool { start_servers = 1 max_servers = 16 min_spare_servers = 0 max_spare_servers = 5 max_requests_per_server = 0 } modules { perl { module = /space/rxg/rxgd/bin/freeradius_hook } detail { detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d detailperm = 0644 } acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } eap { default_eap_type = peap timer_expire = 60 ignore_unknown_eap_types = no # Generic Token Card. # # Currently, this is only permitted inside of EAP-TTLS, # or EAP-PEAP. The module "challenges" the user with # text, and the response from the user is taken to be # the User-Password. # # Proxying the tunneled EAP-GTC session is a bad idea, # the users password will go over the wire in plain-text, # for anyone to see. # gtc { challenge = "Password: " auth_type = perl } tls { private_key_password = private_key_file = /etc/ssl/server.key certificate_file = /etc/ssl/server.crt CA_file = /etc/ssl/server.crt dh_file = /usr/local/etc/raddb/dhparam random_file = /space/rxg/rxgd/bin/random } ttls { default_eap_type = gtc copy_request_to_tunnel = yes use_tunneled_reply = yes } peap { default_eap_type = gtc copy_request_to_tunnel = yes use_tunneled_reply = yes } } radutmp { filename = ${logdir}/radutmp username = %{User-Name} case_sensitive = yes check_with_nas = yes callerid = "yes" } radutmp sradutmp { filename = ${logdir}/sradutmp perm = 0644 callerid = "no" } attr_filter { attrsfile = ${confdir}/attrs } counter daily { filename = ${raddbdir}/db.daily key = User-Name count-attribute = Acct-Session-Time reset = daily counter-name = Daily-Session-Time check-name = Max-Daily-Session allowed-servicetype = Framed-User cache-size = 5000 } preprocess { huntgroups = ${confdir}/huntgroups hints = ${confdir}/hints with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no } } authorize { preprocess eap perl } authenticate { Auth-Type PERL { perl } eap } preacct { preprocess acct_unique } accounting { detail radutmp perl } session { radutmp } rxg# rxg# /usr/local/sbin/radiusd -X FreeRADIUS Version 2.1.6, for host amd64-portbld-freebsd8.0, built on Sep 23 2009 at 05:11:26 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /usr/local/etc/raddb/radiusd.conf group = freeradius user = freeradius including dictionary file /usr/local/etc/raddb/dictionary main { prefix = "/usr/local" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/local/lib" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 256 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/local/sbin/checkrad" debug_level = 0 proxy_requests = no log_auth = yes log_auth_badpass = no log_auth_goodpass = no log_stripped_names = no security { max_attributes = 200 reject_delay = 1 status_server = no } } radiusd: #### Loading Realms and Home Servers #### radiusd: #### Loading Clients #### radiusd: #### Instantiating modules #### radiusd: #### Loading Virtual Servers #### server { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_perl Module: Instantiating perl perl { module = "/space/rxg/rxgd/bin/freeradius_hook" 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.8.9/mach/auto/IO/IO.so' for module IO: /usr/local/lib/perl5/5.8.9/mach/auto/IO/IO.so: Undefined symbol "PL_sv_undef" at /usr/local/lib/perl5/5.8.9/mach/XSLoader.pm line 70. at /usr/local/lib/perl5/5.8.9/mach/IO.pm line 11 Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/Handle.pm line 263. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/Handle.pm line 263. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/Seekable.pm line 101. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/Seekable.pm line 101. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/File.pm line 133. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/File.pm line 133. Compilation failed in require at /usr/local/lib/perl5/5.8.9/FileHandle.pm line 9. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/Storable.pm line 23. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/Storable.pm line 23. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.9/Net/Domain/TLD.pm line 10. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.9/Net/Domain/TLD.pm line 10. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.9/Data/Validate/Domain.pm line 6. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.9/Data/Validate/Domain.pm line 6. Compilation failed in require at /space/rxg/rxgd/Rxg/Util.pm line 7. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/Util.pm line 7. Compilation failed in require at /space/rxg/rxgd/Rxg/ActiveRecord.pm line 8. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/ActiveRecord.pm line 8. Compilation failed in require at /space/rxg/rxgd/Rxg/ActiveRecord/RadiusServer.pm line 10. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/ActiveRecord/RadiusServer.pm line 10. Compilation failed in require at /space/rxg/rxgd/bin/freeradius_hook line 11. BEGIN failed--compilation aborted at /space/rxg/rxgd/bin/freeradius_hook line 11 (#1) (F) The module you tried to load failed to load a dynamic extension. This may either mean that you upgraded your version of perl to one that is incompatible with your old dynamic extensions (which is known to happen between major versions of perl), or (more likely) that your dynamic extension was built against an older version of the library that is installed on your system. You may need to rebuild your old dynamic extensions. Uncaught exception from user code: Can't load '/usr/local/lib/perl5/5.8.9/mach/auto/IO/IO.so' for module IO: /usr/local/lib/perl5/5.8.9/mach/auto/IO/IO.so: Undefined symbol "PL_sv_undef" at /usr/local/lib/perl5/5.8.9/mach/XSLoader.pm line 70. at /usr/local/lib/perl5/5.8.9/mach/IO.pm line 11 Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/Handle.pm line 263. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/Handle.pm line 263. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/Seekable.pm line 101. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/Seekable.pm line 101. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/IO/File.pm line 133. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/IO/File.pm line 133. Compilation failed in require at /usr/local/lib/perl5/5.8.9/FileHandle.pm line 9. Compilation failed in require at /usr/local/lib/perl5/5.8.9/mach/Storable.pm line 23. BEGIN failed--compilation aborted at /usr/local/lib/perl5/5.8.9/mach/Storable.pm line 23. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.9/Net/Domain/TLD.pm line 10. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.9/Net/Domain/TLD.pm line 10. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.9/Data/Validate/Domain.pm line 6. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.9/Data/Validate/Domain.pm line 6. Compilation failed in require at /space/rxg/rxgd/Rxg/Util.pm line 7. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/Util.pm line 7. Compilation failed in require at /space/rxg/rxgd/Rxg/ActiveRecord.pm line 8. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/ActiveRecord.pm line 8. Compilation failed in require at /space/rxg/rxgd/Rxg/ActiveRecord/RadiusServer.pm line 10. BEGIN failed--compilation aborted at /space/rxg/rxgd/Rxg/ActiveRecord/RadiusServer.pm line 10. Compilation failed in require at /space/rxg/rxgd/bin/freeradius_hook line 11. BEGIN failed--compilation aborted at /space/rxg/rxgd/bin/freeradius_hook line 11. at /space/rxg/rxgd/bin/freeradius_hook line 11 rlm_perl: perl_parse failed: /space/rxg/rxgd/bin/freeradius_hook not found or has syntax errors. /usr/local/etc/raddb/radiusd.conf[69]: Instantiation failed for module "perl" /usr/local/etc/raddb/radiusd.conf[173]: Failed to find module "perl". /usr/local/etc/raddb/radiusd.conf[173]: Failed to parse "perl" entry. Errors initializing modules rxg#
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?147432021001050912m5cd978dbv455645d590f5fd81>