[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: problem with libldap.so
On Tue, 20 May 2003, Nick Couchman wrote:
> Igor Brezac wrote:
>
> >On Tue, 20 May 2003, Nick Couchman wrote:
> >
> >
> >
> >>Igor Brezac wrote:
> >>
> >>
> >>
> >>>On Tue, 20 May 2003, Nick Couchman wrote:
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>>When I do an `ldd -r /usr/local/lib/libldap.so` I get the following:
> >>>>liblber.so.2 => /usr/local/lib/liblber.so.2
> >>>> libresolv.so.2 => /usr/lib/libresolv.so.2
> >>>> libnsl.so.1 => /usr/lib/libnsl.so.1
> >>>> libsocket.so.1 => /usr/lib/libsocket.so.1
> >>>> libdl.so.1 => /usr/lib/libdl.so.1
> >>>> libssl.so.0.9.7 => /usr/local/lib/libssl.so.0.9.7
> >>>> libcrypto.so.0.9.7 => /usr/local/lib/libcrypto.so.0.9.7
> >>>> libc.so.1 => /usr/lib/libc.so.1
> >>>> libmp.so.2 => /usr/lib/libmp.so.2
> >>>> libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
> >>>> /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
> >>>> symbol not found: __eprintf
> >>>>(/usr/local/lib/liblber.so.2)
> >>>>
> >>>>The last problem - the symbot not found: __eprintf - I need to get rid
> >>>>of. It's causing problems with pam_ldap and nss_ldap. How do I compile
> >>>>OpenLDAP without this dependency? I've tried removing the "assert.h"
> >>>>file from the gcc install and I have the same problem.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>You need link the library with 'gcc -shared'.
> >>>
> >>>
> >>>
> >>>
> >>>
> >>So I can't use the native linker (/usr/ccs/bin/ld)? How do I change the
> >>
> >>
> >
> >'gcc -shared' will use the native linker. gcc on Solaris should _not_ be
> >built to use GNU linker and assembler.
> >
> >
> >
> >>Makefile to make gcc the linker instead of ld?
> >>
> >>
> >
> >You need to edit configure script and rebuild/recompile openldap. This is
> >really a hack, libtool needs to be fixed.
> >
> >
> >
> But it's already using the native linker (at least it appears that way).
> In libtool, LD is set to /usr/ccs/bin/ld. Is there something else that
> needs to be changed?
>
libtool is wrong. The idea is to link with gcc -shared and not ld.
LD="gcc -shared"
As Howard pointed out, you should be able to proceed by removing assert.h.
--
Igor