Hello,
We tried compiling cyrus-imapd-2.0.12 "xlc" but got the following error
when executing "make". The libraries were also compiled using
"cc". Found little success on compiling with "gcc" too. Kindly
suggest some workarounds to this. Thanks.
-gowranga
Version of IMAPD 2.0.12
Version of libsasl 1.5.24
Version of libssl 0.9.6a
Sys type AIX 3 4 000000683700 (AIX 4.3.2)
Opions passed to ./configure
env CPPFLAGS="-I/usr/local/BerkeleyDB.3.1/include,-I/usr/local/include" \
LDFLAGS="-L/usr/local/BerkeleyDB.3.1/lib,-L/usr/local/lib" \
./configure --with-openssl=/home/junk/ssl --with-sasl=/home/junk \
--with-auth=unix
The folowing is the error got on doing "make"
-------------------------------------------------------------------------------
[...]
cp IMAP.pm blib/lib/Cyrus/IMAP.pm
cp IMAP/Admin.pm blib/lib/Cyrus/IMAP/Admin.pm
cp IMAP/IMSP.pm blib/lib/Cyrus/IMAP/IMSP.pm
cp IMAP/Shell.pm blib/lib/Cyrus/IMAP/Shell.pm
/usr/local/bin/perl
"-I/usr/local/lib/perl5/5.6.0/aix" "-I/usr/local/lib/perl5/5.6.0" -e 'use
ExtUtils::Mksymlists; Mksymlists("NAME" => "Cyrus::IMAP", "DL_FUNCS" => {
}, "FUNCLIST" => [], "DL_VARS" => []);'
/usr/local/bin/perl -I/usr/local/lib/perl5/5.6.0/aix
-I/usr/local/lib/perl5/5.6.0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp
-typemap /usr/local/lib/perl5/5.6.0/ExtUtils/typemap -typemap typemap
IMAP.xs > IMAP.xsc && mv IMAP.xsc IMAP.c
cc -c -I../../lib -I/home/junk/include -D_ALL_SOURCE
-D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -I/usr/local/include -q32
-D_LARGE_FILES -qlonglong -O
-DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -I/usr/local/lib/perl5/5.6.0/aix/CORE
-DPERL_POLLUTE IMAP.c
"IMAP.xs", line 492.23: 1506-280 (W) Function argument assignment between
types "void(*)(struct imclient*,void*,struct imclient_reply*)" and
"void(*)(struct imclient*,struct xsccb*,struct imclient_reply*)" is not
allowed.
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Cyrus
mkdir blib/arch/auto/Cyrus/IMAP
Running Mkbootstrap for Cyrus::IMAP ()
chmod 644 IMAP.bs
LD_RUN_PATH="/home/junk/lib" ld -o
blib/arch/auto/Cyrus/IMAP/IMAP.so -bhalt:4 -bM:SRE
-bI:/usr/local/lib/perl5/5.6.0/aix/CORE/perl.exp -bE:IMAP.exp -b noentry
-lC -lc -L/usr/local/lib IMAP.o ../../lib/libcyrus.a -L/home/junk/lib
-lsasl
ld: 0711-224 WARNING: Duplicate symbol: .strcmp
ld: 0711-224 WARNING: Duplicate symbol: .strncpy
ld: 0711-224 WARNING: Duplicate symbol: .strcpy
ld: 0711-224 WARNING: Duplicate symbol: .bcopy
ld: 0711-224 WARNING: Duplicate symbol: .memcpy
ld: 0711-224 WARNING: Duplicate symbol: .strcat
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.
ld: 0711-317 ERROR: Undefined symbol: .SSL_new
ld: 0711-317 ERROR: Undefined symbol: .SSL_clear
ld: 0711-317 ERROR: Undefined symbol: .SSL_set_fd
ld: 0711-317 ERROR: Undefined symbol: .SSL_set_connect_state
ld: 0711-317 ERROR: Undefined symbol: .SSL_connect
ld: 0711-317 ERROR: Undefined symbol: .SSL_get_session
ld: 0711-317 ERROR: Undefined symbol: .SSL_CTX_remove_session
ld: 0711-317 ERROR: Undefined symbol: .SSL_free
ld: 0711-317 ERROR: Undefined symbol: .SSL_get_peer_certificate
ld: 0711-317 ERROR: Undefined symbol: .X509_get_subject_name
ld: 0711-317 ERROR: Undefined symbol: .X509_NAME_get_text_by_NID
[...]
------------------------------------------------------------------------------
On Wed, 11 Apr 2001, GOMBAS Gabor wrote:
> On Wed, Apr 11, 2001 at 02:16:25PM +0530, K. H. Gowranga wrote:
>
> > LD_RUN_PATH="/usr/local/lib" ld -o
> > blib/arch/auto/Cyrus/IMAP/IMAP.so -bhalt:4 -bM:SRE
> > -bI:/usr/local/lib/perl5/5.6.0/aix/CORE/perl.exp -bE:IMAP.exp -b noentry
> > -lC -lc -L/usr/local/lib IMAP.o ../../lib/libcyrus.a -lsasl -lssl
> > -lcrypto
>
> [...]
>
> > ld: 0711-317 ERROR: Undefined symbol: .__eprintf
> > ld: 0711-317 ERROR: Undefined symbol: .__umoddi3
>
> It seems you have compiled your libraries with gcc. So either use gcc
> instead of ld for the final link, or add libgcc.a directly to the link
> command. I personally avoid using gcc and compile everything with xlc.
>
> Gabor
>