> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Andy Polyakov
> Sent: Tuesday, January 11, 2005 2:57 AM
> To: [email protected]
> Subject: Re: Having problems building shared libraries under Solaris
> 2.5.1
>
>
> >   I have a Solaris 2.5.1 x86 system and openssl 0.9.7e and I
> > want to build it with shared libraries, so I tried the following
> > with the openssl-0.9.7-stable-SNAP-20050109:
> >
> > ./Configure solaris-x86-gcc zlib shared no-asm
> >
> > and part way into the compilation it aborts with the following:
> >
> > + gcc -shared -G -dy -z text -o libcrypto.so.0.9.7 -h
> > libcrypto.so.0.9.7 -Wl,-Bsymbolic -Wl,-z,allextract
> > libcrypto.a -Wl,-z,defaultextract -L. -lsocket -lnsl -ldl -lc
> > Undefined                       first referenced
> >  symbol                             in file
> > __umoddi3                           libcrypto.a(bn_word.o)
> > __udivdi3                           libcrypto.a(b_print.o)
> > ld: warning: Symbol referencing errors
> > Text relocation remains                         referenced
> >     against symbol                  offset      in file
> > <unknown>                           0x154
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x15c
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x164
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x16c
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x174
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x184
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x18c
> libcrypto.a(ocsp_prn.o)
> > <unknown>                           0x17c
> libcrypto.a(ocsp_prn.o)
>
> Well, 0.9.7-stable snapshot was recently tested on Solaris x86
> with gcc
> 2.95 and it succeeded to build shared.

Hi Andy,

  Could you please put that in the documentation with OpenSSL?

  This was all under gcc 2.7.2 which I readily admit is old -
it was off the sunfreeware site.

  If I had known in advance I probably would have updated gcc
first before building a bunch of other things.  I did look at the
openssl docs early, actually.

> As for relocations. This is
> *pure* compiler domain, there is nothing one can do in C code to
> eliminate a "text relocation." So it must be a compiler bug, something
> beyond our control.

OK no problem - then put in the openssl docs that openssl cannot
be built shared under Solaris 2.5.1 with gcc 2.7.2, you must
upgrade the complier to a later version of gcc.

Interesting how it only affects ocsp_prn.o

> As for __u[mod|div]di3 symbols. As you pointed out
> they do rezide in libgcc, but gcc driver used to add -lgcc all by
> itself. At least I can confirm that it does so on my system
> and symbols
> in question are properly resolved.
>

Probably a problem with how gcc 2.7.2 was built.  The gcc 2.7.2
that is on sunfreeware was put up years ago on sunsite, before
that was taken down.  Supposedly it was built with Sun's cc.
It is really the only readily available precompiled gcc for
Solaris 2.5.1 x86 that has any credibility, I'm afraid.  I
should have used it to bootstrap gcc 2.95 but I was in a hurry
to get the system up.

> In other words. Upgrade your compiler or give up shared support. There
> hardly are other options. A.

Thanks!  I'll do that the next time I build another 2.5.1 system
(if I build another 2.5.1. system that is, the one I'm working on
is kind of a special case, actually)

Fortunately for this one shared support wasn't a requirement.

Ted

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to