Subject: weird problems on sparc with loading cyrus-imapd21 IMAP extension for cyradm perl script
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 09/30/2003 16:08:18
I've installed lang/perl5 (perl-5.6.1nb9) and mail/cyrus-imapd21
(cyrus-imapd-2.1.15) on NetBSD/sparc-1.6.1_STABLE and both seem to work
fine independently.

However when I try to run the cyradm perl script it fails with the
following weird error while trying to dynamically load the IMAP.so
extension into the perl interpreter:

$ cyradm --user cyrus --auth login localhost
Can't load '/usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/auto/Cyrus/IMAP/IMAP.so' for module Cyrus::IMAP: /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/auto/Cyrus/IMAP/IMAP.so: Undefined symbol "" (reloc type = 12, symnum = 12) at /usr/pkg/lib/perl5/5.6.1/sparc-netbsd/DynaLoader.pm line 206.
 at /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/Cyrus/IMAP/Admin.pm line 44
Compilation failed in require at /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/Cyrus/IMAP/Admin.pm line 44.
BEGIN failed--compilation aborted at /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/Cyrus/IMAP/Admin.pm line 44.
Compilation failed in require at /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/Cyrus/IMAP/Shell.pm line 60.
BEGIN failed--compilation aborted at /usr/pkg/lib/perl5/site_perl/5.6.1/sparc-netbsd/Cyrus/IMAP/Shell.pm line 60.
Compilation failed in require.
BEGIN failed--compilation aborted.


I can't find an undefined symbol with a NULL name in IMAP.so, and I'm
not sure how to identify "symnum = 12".


Has anyone seen anything like this before?

Luckily it works fine on i386, albiet with a lightly different pkgsrc
version of perl (nb7 on i386):

$ cyradm --user cyrus --auth login localhost
IMAP Password: 
              localhost> 
localhost> version
name       : Cyrus IMAPD
version    : v2.1.15 2003/08/15 19:34:42
vendor     : Project Cyrus
support-url: http://asg.web.cmu.edu/cyrus
os         : NetBSD
os-version : 1.6.1_STABLE
environment: Cyrus SASL 2.1.15
             Sleepycat Software: Berkeley DB 3.3.11: (July 12, 2001)
             Built w/OpenSSL 0.9.6g 9 Aug 2002
             Running w/OpenSSL 0.9.6g 9 Aug 2002
             CMU Sieve 2.2
             TCP Wrappers
             mmap = shared
             lock = fcntl
             nonblock = fcntl
             auth = unix
             idle = poll
             mailboxes.db = db3
             seen.db = flat
             subs.db = flat
             deliver.db = db3-nosync
             tls_sessions.db = db3-nosync


(no, I couldn't manage to get the static perl interpreter to build with
the IMAP library linked in because the managesieve extension from a
previous install was also partly pulled in by Makefile.aperl but doing
that caused some undefined symbol references that I've been unable to
resolve so far....)

-- 
						Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>