problem compiling cyradm in cyrus-imapd-2.1.13

Efler, Lukas lef at zuehlke.com
Mon May 12 03:55:01 EDT 2003


Hi Ali

Your perl can't find the Cyrus perl module. As you can see in the @INC, it looks in the perl directory only.

Solution: around line 45 in cyradm, change the perl call to include your location of the Cyrus module, ie. change 
exec perl -MCyrus::IMAP::Shell -e shell -- "$@"
to:
exec perl -I/usr/imap/lib/perl5/site_perl -MCyrus::IMAP::Shell -e shell -- "$@"
(or -I wherever it got installed in your system)

hope that helps

Lukas


> -----Original Message-----
> From: Ali Asad Lotia [mailto:lotia at umich.edu]
> Sent: Montag, 12. Mai 2003 02:38
> To: info-cyrus at lists.andrew.cmu.edu
> Subject: problem compiling cyradm in cyrus-imapd-2.1.13
> 
> 
> hello all,
> 
> i am compiling cyrus imapd 2.1.13 under gentoo linux. i have compiled 
> and installed sasl 2.1.13 and i am having problems with cyradm.
> sasl location is: /usr/sasl
> i have passed the following to configure:
> ./configure  --prefix=/usr/imap --with-cyrus-prefix=/usr/imap 
> --enable-fulldirhash --with-sasl=/usr/sasl
> 
> imapd compiles fine and installs fine. however, when i try to run 
> cyradm, i get the following error:
> 
> ./cyradm
> Can't locate Cyrus/IMAP/Shell.pm in @INC (@INC contains: 
> /usr/lib/perl5/5.8.0/i686-linux /usr/lib/perl5/5.8.0 
> /usr/lib/perl5/site_perl/5.8.0/i686-linux 
> /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl 
> /usr/lib/perl5/vendor_perl/5.8.0/i686-linux 
> /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .).
> BEGIN failed--compilation aborted.
> 
> i looked on the mailing list archives and there were a few posts that 
> suggested that i go to the perl/imap/ directory in the source and do:
> perl Makefile.PL
> make
> make install
> 
> however this is the output i get when i try that.
> 
> perl Makefile.PL
> 
> (output)
> Note (probably harmless): No library found for -lsasl2
> Writing Makefile for Cyrus::IMAP
> 
> make
> 
> (ouput)
> gcc -c  -I../../lib   -DPERL5 -fno-strict-aliasing 
> -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64 -march=pentium3 -O3 -pipe 
> -fomit-frame-pointer   
> -DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fpic 
> "-I/usr/lib/perl5/5.8.0/i686-linux/CORE"  -DPERL_POLLUTE IMAP.c
> In file included from IMAP.xs:55:
> ../../lib/imclient.h:48:23: sasl/sasl.h: No such file or directory
> In file included from IMAP.xs:55:
> ../../lib/imclient.h:71: parse error before "sasl_callback_t"
> In file included from IMAP.xs:59:
> cyrperl.h:89: parse error before "sasl_callback_t"
> cyrperl.h:89: warning: no semicolon at end of struct or union
> cyrperl.h:91: parse error before '*' token
> cyrperl.h:91: warning: data definition has no type or storage class
> cyrperl.h:92: parse error before '}' token
> IMAP.xs: In function `imclient_xs_callback_free':
> IMAP.xs:89: dereferencing pointer to incomplete type
> IMAP.xs:96: dereferencing pointer to incomplete type
> IMAP.xs: In function `get_username':
> IMAP.xs:175: `SASL_CB_AUTHNAME' undeclared (first use in this 
> function)
> IMAP.xs:175: (Each undeclared identifier is reported only once
> IMAP.xs:175: for each function it appears in.)
> IMAP.xs:176: dereferencing pointer to incomplete type
> IMAP.xs:177: dereferencing pointer to incomplete type
> IMAP.xs:178: `SASL_OK' undeclared (first use in this function)
> IMAP.xs:179: `SASL_CB_USER' undeclared (first use in this function)
> IMAP.xs:180: dereferencing pointer to incomplete type
> IMAP.xs:181: dereferencing pointer to incomplete type
> IMAP.xs:182: dereferencing pointer to incomplete type
> IMAP.xs:189: `SASL_FAIL' undeclared (first use in this function)
> IMAP.xs: At top level:
> IMAP.xs:192: parse error before '*' token
> IMAP.xs: In function `get_password':
> IMAP.xs:194: `context' undeclared (first use in this function)
> IMAP.xs:195: `id' undeclared (first use in this function)
> IMAP.xs:195: `SASL_CB_PASS' undeclared (first use in this function)
> IMAP.xs:195: `SASL_FAIL' undeclared (first use in this function)
> IMAP.xs:196: dereferencing pointer to incomplete type
> IMAP.xs:203: dereferencing pointer to incomplete type
> IMAP.xs:203: `sasl_secret_t' undeclared (first use in this function)
> IMAP.xs:204: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:205: dereferencing pointer to incomplete type
> IMAP.xs:207: `psecret' undeclared (first use in this function)
> IMAP.xs:207: dereferencing pointer to incomplete type
> IMAP.xs:208: `SASL_OK' undeclared (first use in this function)
> IMAP.xs: At top level:
> IMAP.xs:212: parse error before "sample_callbacks"
> IMAP.xs:213: warning: braces around scalar initializer
> IMAP.xs:213: warning: (near initialization for `sample_callbacks[0]')
> IMAP.xs:213: `SASL_CB_USER' undeclared here (not in a function)
> IMAP.xs:213: initializer element is not constant
> IMAP.xs:213: (near initialization for `sample_callbacks[0]')
> IMAP.xs:213: warning: excess elements in scalar initializer
> IMAP.xs:213: warning: (near initialization for `sample_callbacks[0]')
> IMAP.xs:213: warning: excess elements in scalar initializer
> IMAP.xs:213: warning: (near initialization for `sample_callbacks[0]')
> IMAP.xs:213: initializer element is not constant
> IMAP.xs:213: (near initialization for `sample_callbacks[0]')
> IMAP.xs:214: warning: braces around scalar initializer
> IMAP.xs:214: warning: (near initialization for `sample_callbacks[1]')
> IMAP.xs:214: `SASL_CB_AUTHNAME' undeclared here (not in a function)
> IMAP.xs:214: initializer element is not constant
> IMAP.xs:214: (near initialization for `sample_callbacks[1]')
> IMAP.xs:214: warning: excess elements in scalar initializer
> IMAP.xs:214: warning: (near initialization for `sample_callbacks[1]')
> IMAP.xs:214: warning: excess elements in scalar initializer
> IMAP.xs:214: warning: (near initialization for `sample_callbacks[1]')
> IMAP.xs:214: initializer element is not constant
> IMAP.xs:214: (near initialization for `sample_callbacks[1]')
> IMAP.xs:215: warning: braces around scalar initializer
> IMAP.xs:215: warning: (near initialization for `sample_callbacks[2]')
> IMAP.xs:215: `SASL_CB_PASS' undeclared here (not in a function)
> IMAP.xs:215: initializer element is not constant
> IMAP.xs:215: (near initialization for `sample_callbacks[2]')
> IMAP.xs:215: warning: excess elements in scalar initializer
> IMAP.xs:215: warning: (near initialization for `sample_callbacks[2]')
> IMAP.xs:215: warning: excess elements in scalar initializer
> IMAP.xs:215: warning: (near initialization for `sample_callbacks[2]')
> IMAP.xs:215: initializer element is not constant
> IMAP.xs:215: (near initialization for `sample_callbacks[2]')
> IMAP.xs:216: warning: braces around scalar initializer
> IMAP.xs:216: warning: (near initialization for `sample_callbacks[3]')
> IMAP.xs:216: `SASL_CB_LIST_END' undeclared here (not in a function)
> IMAP.xs:216: initializer element is not constant
> IMAP.xs:216: (near initialization for `sample_callbacks[3]')
> IMAP.xs:216: warning: excess elements in scalar initializer
> IMAP.xs:216: warning: (near initialization for `sample_callbacks[3]')
> IMAP.xs:216: warning: excess elements in scalar initializer
> IMAP.xs:216: warning: (near initialization for `sample_callbacks[3]')
> IMAP.xs:216: initializer element is not constant
> IMAP.xs:216: (near initialization for `sample_callbacks[3]')
> IMAP.xs:217: warning: data definition has no type or storage class
> IMAP.xs: In function `XS_Cyrus__IMAP_new':
> IMAP.xs:259: dereferencing pointer to incomplete type
> IMAP.xs:261: dereferencing pointer to incomplete type
> IMAP.xs:263: dereferencing pointer to incomplete type
> IMAP.xs:267: dereferencing pointer to incomplete type
> IMAP.xs:271: dereferencing pointer to incomplete type
> IMAP.xs:283: dereferencing pointer to incomplete type
> IMAP.xs:284: dereferencing pointer to incomplete type
> IMAP.xs:285: dereferencing pointer to incomplete type
> IMAP.xs:285: dereferencing pointer to incomplete type
> IMAP.xs:286: dereferencing pointer to incomplete type
> IMAP.xs:287: dereferencing pointer to incomplete type
> IMAP.xs:289: dereferencing pointer to incomplete type
> IMAP.xs:290: dereferencing pointer to incomplete type
> IMAP.xs:291: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_DESTROY':
> IMAP.xs:311: dereferencing pointer to incomplete type
> IMAP.xs:313: dereferencing pointer to incomplete type
> IMAP.xs:314: dereferencing pointer to incomplete type
> IMAP.xs:315: dereferencing pointer to incomplete type
> IMAP.xs:316: dereferencing pointer to incomplete type
> IMAP.xs:316: dereferencing pointer to incomplete type
> IMAP.xs:319: dereferencing pointer to incomplete type
> IMAP.xs:320: dereferencing pointer to incomplete type
> IMAP.xs:322: dereferencing pointer to incomplete type
> IMAP.xs:323: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_setflags':
> IMAP.xs:332: dereferencing pointer to incomplete type
> IMAP.xs:333: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_clearflags':
> IMAP.xs:340: dereferencing pointer to incomplete type
> IMAP.xs:341: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_flags':
> IMAP.xs:348: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_servername':
> IMAP.xs:356: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_processoneevent':
> IMAP.xs:365: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP__authenticate':
> IMAP.xs:382: dereferencing pointer to incomplete type
> IMAP.xs:391: dereferencing pointer to incomplete type
> IMAP.xs:392: dereferencing pointer to incomplete type
> IMAP.xs:395: dereferencing pointer to incomplete type
> IMAP.xs:395: dereferencing pointer to incomplete type
> IMAP.xs:396: dereferencing pointer to incomplete type
> IMAP.xs:397: `sasl_secret_t' undeclared (first use in this function)
> IMAP.xs:398: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:399: dereferencing pointer to incomplete type
> IMAP.xs:402: dereferencing pointer to incomplete type
> IMAP.xs:407: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_addcallback':
> IMAP.xs:485: dereferencing pointer to incomplete type
> IMAP.xs:488: dereferencing pointer to incomplete type
> IMAP.xs:504: dereferencing pointer to incomplete type
> IMAP.xs:505: dereferencing pointer to incomplete type
> IMAP.xs:513: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP__send':
> IMAP.xs:572: dereferencing pointer to incomplete type
> IMAP.xs:573: dereferencing pointer to incomplete type
> IMAP.xs:586: dereferencing pointer to incomplete type
> IMAP.xs:596: dereferencing pointer to incomplete type
> IMAP.xs: In function `XS_Cyrus__IMAP_getselectinfo':
> IMAP.xs:628: dereferencing pointer to incomplete type
> make: *** [IMAP.o] Error 1
> 
> perl 5.8.0 is installed on this machine. and perl is located at 
> /usr/bin/perl
> 
> help getting to the bottom of this and having a working 
> cyradm would be 
> greatly appreciated.
> 
> thanks all
> 
> ali asad lotia
> 
> 





More information about the Info-cyrus mailing list