cURL / Mailing Lists / curl-library / Single Mail


Re: Problems compiling simple.c on AIX with Visual Age compiler (xlc)

From: Tor Arntsen <>
Date: Wed, 18 Feb 2004 18:33:42 +0100

On Feb 17, 22:34, Hicham Bahi wrote:
>I tried to compile the sample program simple.c on AIX
>5.1 using IBM's Visual Age compiler, and I got the
>following error at the linking stage:
>> xlc -I/usr/local/include -L/usr/local/lib simple.c
>-lcurl -lz
>ld : 0711-317 ERREUR : Symbole non defini : .__umoddi3
>ld : 0711-317 ERREUR : Symbole non defini : .__udivdi3
>ld : 0711-317 ERREUR : Symbole non defini :
>ld : 0711-345 Pour plus de dÈtails, utilisez
> l'option -bloadmap ou -bnoquiet.
>By the way "Symbole non defini" means "Undefined
>symbol" in french.
>After some research, I found that the missing symbols
>come from libgcc.

Where did the curl library you're using come from? I have tested the
xlc build command above with the IBM supplied curl library from

$ rpm -qa|grep curl

as well as against a fresh new library built by myself, out of CVS, with gcc.
I did not see any missing references to those libgcc symbols (even when built
by gcc, those symbols should not be left undefined in the library).
It looks like the curl library build you're using is somehow broken.

>Can't the xlc compiler understand libraries generated
>with gcc?

It can. I routinely mix and match xlc- and gcc-compiled programs/libraries
on AIX 4.3 as well as AIX 5.1.

>Any ideas? Do I need to recompile libcurl with xlc. I
>tried but it seems like the build procedure is
>designed to work only with gcc.

It should work without any problems (save the occasional day-to-day breakage
in the CVS versions). The version in CVS as of a few minutes ago will build
cleanly just as suggested by Joe Halpin in an earlier posting, i.e. like so:
(in bash, sh or ksh)

CC=xlc ./configure
make install

Received on 2004-02-18