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

RE: openldap-2.0.15 & Solaris 8 w/ gcc



The warnings about -lssl and -lcrypto are because your SSL libraries are
static
but are being referenced by a dynamic library. You should probably rebuild
your
SSL libraries as dynamic objects. You can run into problems if your main
programs
try to statically link with a library that is also used by a dynamic
library. Libtool can try to make this work, but it's safer just to build
proper libraries.

I don't see "-L/usr/local/lib" in your options, and I presume that's where
your -lsasl lives. The "-R/usr/local/lib" flag is not sufficient by itself,
that only tells the runtime linker where to look after the binder has
finished. You still need the
 "-L/usr/local/lib" flag to tell the binder where to look.

I would be quite surprised if your system keeps "-llber" in /usr/include.
You're confusing binary object libraries with text header files. Note that
/usr/include is searched by default, so adding "-I/usr/include" to your
options typically will
have no effect. (Unless you're trying to mess with the default search order,
but
you have reason to be doing so.)

It sounds like you are extremely confused and your configuration is
extremely
messed up. You may want to just follow Philip Brown's advice and start over
fresh.

> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Michael R
> Hanulec

> Hello all..
>
> I have check the mailing list and faq about this error but I still do not
> have an answer.  I am trying to compile the latest version of OpenLDAP
> under Solaris 8 w/ gcc 2.95.3, BerkeleyDB, Cyrus SASL and most importantly
> OpenSSL.  Here is my first configure options:
>
> bash> env CPPFLAGS="-I/usr/local/ssl/include \
> 	-I/usr/local/BerkeleyDB.3.2/include" \
> 	CC="gcc" \
> 	LDFLAGS="-L/usr/local/ssl/lib \
> 	-L/usr/local/BerkeleyDB.3.2/lib \
> 	-R/usr/local/lib" ./configure \
> 	--enable-syslog --with-cyrus-sasl \
> 	--with-threads --with-tls \
> 	--enable-slurpd --enable-slapd \
> 	--enable-spasswd
>
> after running 'make depend' and 'make' w/ all of the above
> environment vars
> set i receive the following output (the last 30 lines - sorry about the
> bad formatting):
>
> <cut>
> gcc -g -O2 -I../../include -I../../include -I/usr/local/ssl/include
> -I/usr/local
> /BerkeleyDB.3.2/include -c version.c  -fPIC -DPIC -o .libs/version.lo
> gcc -g -O2 -I../../include -I../../include -I/usr/local/ssl/include
> -I/usr/local
> /BerkeleyDB.3.2/include -c version.c -o version.o >/dev/null 2>&1
> mv -f .libs/version.lo version.lo
> /bin/sh /usr/local/src/openldap-2.0.15/libtool   --mode=link gcc -rpath
> /usr/loc
> al/lib -g -O2 -I../../include        -I../../include
> -I/usr/local/ssl/include
> -I/usr/local/BerkeleyDB.3.2/include
> -L/usr/local/src/openldap-2.0.15/libraries
>  -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.3.2/lib -R/usr/local/lib
> -version
> -info 2:10:0  -o libldap.la bind.lo open.lo result.lo error.lo compare.lo
> search
> .lo controls.lo messages.lo references.lo extended.lo cyrus.lo modify.lo
> add.lo
> modrdn.lo delete.lo abandon.lo cache.lo getfilter.lo sasl.lo sbind.lo
> kbind.lo u
> nbind.lo friendly.lo free.lo disptmpl.lo srchpref.lo dsparse.lo tmplout.lo
> sort.
> lo getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo request.lo
> os-ip.lo
> url.lo sortctrl.lo vlvctrl.lo init.lo options.lo print.lo string.lo
> util-int.lo
> schema.lo charray.lo tls.lo dn.lo os-local.lo dnssrv.lo utf-8.lo
> version.lo  -ls
> asl  -lssl -lcrypto
> rm -fr .libs/libldap.la .libs/libldap.* .libs/libldap.*
>
> *** Warning: This library needs some functionality provided by -lssl.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
>
>
> *** Warning: This library needs some functionality provided by -lcrypto.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> *** The inter-library dependencies that have been dropped here will be
> *** automatically added whenever a program is linked with this library
> *** or is declared to -dlopen it.
> /usr/ccs/bin/ld -G -h libldap.so.2 -o .libs/libldap.so.2.0.10  bind.lo
> open.lo
> result.lo error.lo compare.lo search.lo controls.lo messages.lo
> references.lo e
> xtended.lo cyrus.lo modify.lo add.lo modrdn.lo delete.lo abandon.lo
> cache.lo ge
> tfilter.lo sasl.lo sbind.lo kbind.lo unbind.lo friendly.lo free.lo
> disptmpl.lo
> srchpref.lo dsparse.lo tmplout.lo sort.lo getdn.lo getentry.lo getattr.lo
> getva
> lues.lo addentry.lo request.lo os-ip.lo url.lo sortctrl.lo vlvctrl.lo
> init.lo o
> ptions.lo print.lo string.lo util-int.lo schema.lo charray.lo tls.lo dn.lo
> os-l
> ocal.lo dnssrv.lo utf-8.lo version.lo
> -L/usr/local/src/openldap-2.0.15/librari
> es -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.3.2/lib -lsasl -lc
> ld: fatal: library -lsasl: not found
> ld: fatal: File processing errors. No output written to
> .libs/libldap.so.2.0.10
> make[2]: *** [libldap.la] Error 1
> make[2]: Leaving directory
> `/usr/local/src/openldap-2.0.15/libraries/libldap'
> make[1]: *** [all-common] Error 1
> make[1]: Leaving directory `/usr/local/src/openldap-2.0.15/libraries'
> </cut>
>
>
> i did some searching thru the mailing lists and saw people using the
> options '--enable-shared' & '--disable-static'.  i ran my following
> configuration w/ this added options and then received an error trying to
> find '-llber' which is found w/in /usr/include:
>
> <cut>
> gcc -g -O2 -I../../include -I../../include -I/usr/local/ssl/include
> -I/usr/local/BerkeleyDB.3.2/include
> -L/usr/local/src/openldap-2.0.15/libraries -L/usr/local/ssl/lib
> -L/usr/local/BerkeleyDB.3.2/lib -o dtest dtest.o -llber -lresolv -lgen
> -lnsl -lsocket -ldl -R/usr/local/lib -R/usr/local/lib
> ld: fatal: library -llber: not found
> ld: fatal: File processing errors. No output written to dtest
> collect2: ld returned 1 exit status
> </cut>
>
>
> when i added -I/usr/include to the above command i still received this
> error.
>
> if anyone has any suggestions w/ my following problem and/or past
> experience w/ openldap 2.0.x and Solaris 8 i would like to hear them.
>
> thanks in advance.
>
> -mike
>
> --
> mike@hanulec.com				cell: 516.410.4478
> https://www.hanulec.com		      EFnet irc && aol im: hanulec
>     ^
>     |
>     --- Note: You must go to my secure web server due to the
>         Code Red virus (and port 80) being blocked by my ISP
>