cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: Problems Compiling curl-7.9.1

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 22 Nov 2001 09:45:01 +0100 (MET)

On Wed, 21 Nov 2001, Al Sparks wrote:

> I am having problems compiling curl-7.9.1 on a Solaris 8 box using GNU
> gcc, and GNU make. I use
>
> $ ./configure --with-ssl

Hm, I build on Solaris 2.7 using gcc and GNU make on a daily basis...

> Further, I already have curl-7.8.1 on the box and it compiles fine (I
> just did a special untar of 7.8.1 and tried it just to be sure).

That's just so weird.

> When I try compiling curl-7.9.1 with the above ./configure, I get the
> following doing a

> Undefined first referenced
> symbol in file
> __umoddi3 /usr/local/ssl/lib/libcrypto.a(b_print.o)
> __udivdi3 /usr/local/ssl/lib/libcrypto.a(b_print.o)
> __eprintf /usr/local/ssl/lib/libcrypto.a(b_print.o)

I believe those are gcc symbols present in libgcc.

I found one suggestion solution
[http://www.cpan.org/modules/by-module/Crypt/Crypt-SSLeay-0.22.readme] that
says:

<quote>
  Problem:

    On Solaris x86, the default PERL configuration, and preferred, is to use
    the ld linker that comes with the OS, not gcc. Unfortunately during the
    OpenSSL build process, gcc generates in libcrypto.a, from bn_word.c, the
    undefined symbol __umoddi3, which is supposed to be later resolved by
    gcc from libgcc.a

    The system ld linker does not know about libgcc.a by default, so when
    building Crypt::SSLeay, there is a linker error for __umoddi3

     Solution:

    The fix for this symlink your libgcc.a to some standard directory like
    /usr/local/lib, so that the system linker, ld, can find it when building
    Crypt::SSLeay.
</quote>

I have no idea why you got 7.8.1 working. This problem doesn't seem to be
very curl-specific.

-- 
    Daniel Stenberg -- curl groks URLs -- http://curl.haxx.se/
Received on 2001-11-22