[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: library links...



I'm not sure what you're getting at by setting a path that "doesn't
matter." The linker needs to know where to find the libraries. If you know
the paths where the libraries will be at run time, then set your LDFLAGS
with those. If for some reason that can't be determined in advance, use
LD_LIBRARY_PATH or crle to set this at runtime. As a last resort (I
personally don't consider this a best practice, but your tastes may be
different) you can just put everything in /usr/lib, the default RPATH.
This is all described in the man pages I referenced below.

It sounds like you've got a handle on the OpenLDAP build; if after reading
the man pages you're in a position where you need further help with the
Solaris utilities, you might be better served by a Solaris support forum.

On Tue, 4 May 2004, Mark wrote:

> well.the thing is i did set the LDFLAGS, CPPFLAGS, and LD_LIBRARY_PATH
> during build time......im just puzzled why it stopped working after
> build time...
>
>  i guess.how do i set it so it doesnt matter what are the path during
> runtime, since most likely the runtime prob wont have the path that are
> in during build time
>
>
>
>
> On May04, 23:17, Aaron Richton wrote:
> > Most likely, you didn't set a proper RPATH when building OpenLDAP. I'm
> > guessing this is Solaris; you can try using "ldd -vs" to verify your
> > search paths. If they appear incorrect, you can use crle(1) or
> > LD_LIBRARY_PATH environment variables (ld.so.1(1) man page) to alter the
> > search path at runtime. You might also consider setting LDFLAGS at build
> > time to alter the search path at link time.
> >
> > Just because a RPATH works in your build environment doesn't necessarily
> > mean it'll work in your run environment.
> >
> > On Tue, 4 May 2004, Mark wrote:
> >
> > > so i got this error that most likely means the library linking somewhere
> > > is busted..
> > >
> > > log says
> > >
> > > needlefish slapd[19859]: [ID 702911 auth.error] unable to dlopen
> > > /usr/depot-local/SunOS_5.8_sparc/cyrus-sasl/2.1.18/lib/sasl2/libsasldb.so.2:
> > > ld.so.1:
> > > /usr/depot-local/SunOS_5.8_sparc/openldap/current/libexec/slapd: fatal:
> > > libdb-4.2.so: open failed: No such file or directory
> > >
> > >
> > > ldd shows
> > >
> > >  ldd /usr/depot-local/SunOS_5.8_sparc/cyrus-sasl/2.1.18/lib/sasl2/libsasldb.so.2
> > >         libresolv.so.2 =>        /usr/lib/libresolv.so.2
> > >         libsocket.so.1 =>        /usr/lib/libsocket.so.1
> > >         libdb-4.2.so =>  (file not found)
> > >         libc.so.1 =>     /usr/lib/libc.so.1
> > >         libnsl.so.1 =>   /usr/lib/libnsl.so.1
> > >         libdl.so.1 =>    /usr/lib/libdl.so.1
> > >         libmp.so.2 =>    /usr/lib/libmp.so.2
> > >         /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
> > >
> > > so clearly it shows that the libdb-4.2.so is not found..and hence the
> > > fail..right?
> > >
> > > but my question is..if it says not found..how did i compile the openldap
> > > without errors?
>