building cyrus 2.3.10 on x86_64

Andrew Morgan morgan at orst.edu
Fri Nov 16 20:03:39 EST 2007


I'm trying to build Cyrus 2.3.10 on an x86_64 box running Debian Etch 
(stable).  The first problem I ran into was out-of-date config.guess and 
config.sub scripts in the 2.3.10 tarball.  I grabbed the latest copies of 
those files from the GNU website:

   http://cvs.savannah.gnu.org/viewvc/*checkout*/config/config/config.guess
   http://cvs.savannah.gnu.org/viewvc/*checkout*/config/config/config.sub

Could we get those added to the next tarball release?


Now, I'm getting an error during the make process when the Cyrus perl bits 
are compiled:

---------------------------------------------------------
### Making all in /private/src/cyrus-imapd-2.3.10/perl/imap
Checking if your kit is complete...
Looks good
Writing Makefile for Cyrus::IMAP
make[2]: Entering directory `/private/src/cyrus-imapd-2.3.10/perl/imap'
cp IMAP/Admin.pm blib/lib/Cyrus/IMAP/Admin.pm
cp IMAP.pm blib/lib/Cyrus/IMAP.pm
cp IMAP/Shell.pm blib/lib/Cyrus/IMAP/Shell.pm
cp IMAP/IMSP.pm blib/lib/Cyrus/IMAP/IMSP.pm
/usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp  -typemap 
/usr/share/perl/5.8/ExtUtils/typemap -typemap typemap  IMAP.xs > IMAP.xsc 
&& mv IMAP.xsc IMAP.c
cc -c  -I../../lib -I../.. -I../../com_err/et   -D_REENTRANT -D_GNU_SOURCE 
-DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 
-DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -fPIC "-I/usr/lib/perl/5.8/CORE" 
-DPERL_POLLUTE IMAP.c
Running Mkbootstrap for Cyrus::IMAP ()
chmod 644 IMAP.bs
rm -f blib/arch/auto/Cyrus/IMAP/IMAP.so
cc  -shared -L/usr/local/lib IMAP.o  -o blib/arch/auto/Cyrus/IMAP/IMAP.so 
../../lib/libcyrus.a ../../lib/libcyrus_min.a    \
            -ldb-4.4 -lsasl2 -lssl -lcrypto      \

/usr/bin/ld: ../../lib/libcyrus.a(imclient.o): relocation R_X86_64_32 
against `a local symbol' can not be used when making a shared object; 
recompile with -fPIC
../../lib/libcyrus.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [blib/arch/auto/Cyrus/IMAP/IMAP.so] Error 1
make[2]: Leaving directory `/private/src/cyrus-imapd-2.3.10/perl/imap'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/private/src/cyrus-imapd-2.3.10/perl'
make: *** [all] Error 1
---------------------------------------------------------

I was able to get it to compile cleanly by adding "-fPIC" to the CFLAGS 
definition in each Makefile.  I'm not sure if this is the correct solution 
though!

Any feedback?

 	Andy


More information about the Info-cyrus mailing list