This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
[64bit] openldap compilation doesn't produce shared libraries
- From: "Dr. Volker Zell" <vzell at volkerzell dot de>
- To: cygwin-apps at cygwin dot com
- Date: Fri, 31 May 2013 15:39:10 +0200
- Subject: [64bit] openldap compilation doesn't produce shared libraries
Hi
On cygwin 64bit compilation of openldap doesn't produce shared libraries for
libldap and libldap_r (although a shared lib for liblber is produced). For
example for libldap I get:
/bin/sh ../../libtool --mode=link gcc -ggdb -O2 -pipe -fdebug-prefix-map=/cygdrive/d/misc/src/release64/openldap-2.4.35-1/build=/usr/src/debug/openldap-2.4.35-1 -fdebug-prefix-map=/cygdrive/d/misc/src/release64/openldap-2.4.35-1/src/openldap-2.4.35=/usr/src/debug/openldap-2.4.35-1 -Wl,--enable-auto-image-base -release 2.4 -version-info 11:1:9 -no-undefined -rpath /usr/lib -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 sasl.lo gssapi.lo sbind.lo unbind.lo cancel.lo filter.lo free.lo sort.lo passwd.lo whoami.lo getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo init.lo options.lo print.lo string.lo util-int.lo schema.lo charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo tls2.lo tls_o.lo tls_g.lo tls_m.lo turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo assertion.lo deref.lo ldif.lo fetch.lo version.lo ../../libraries/liblber/liblber.la -lsasl2 -lssl -lcrypto
*** Warning: linker path does not have real file for library -lsasl2.
*** 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
*** because I did check the linker path looking for a file starting
*** with libsasl2 and none of the candidates passed a file format test
*** using a file magic. Last file checked: /lib/libsasl2.dll.a
*** Warning: linker path does not have real file for library -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
*** because I did check the linker path looking for a file starting
*** with libssl and none of the candidates passed a file format test
*** using a file magic. Last file checked: /lib/libssl.dll.a
*** Warning: linker path does not have real file for library -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
*** because I did check the linker path looking for a file starting
*** with libcrypto and none of the candidates passed a file format test
*** using a file magic. Last file checked: /lib/libcrypto.dll.a
*** 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.
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
ar cru .libs/libldap.a .libs/bind.o .libs/open.o .libs/result.o .libs/error.o .libs/compare.o .libs/search.o .libs/controls.o .libs/messages.o .libs/references.o .libs/extended.o .libs/cyrus.o .libs/modify.o .libs/add.o .libs/modrdn.o .libs/delete.o .libs/abandon.o .libs/sasl.o .libs/gssapi.o .libs/sbind.o .libs/unbind.o .libs/cancel.o .libs/filter.o .libs/free.o .libs/sort.o .libs/passwd.o .libs/whoami.o .libs/getdn.o .libs/getentry.o .libs/getattr.o .libs/getvalues.o .libs/addentry.o .libs/request.o .libs/os-ip.o .libs/url.o .libs/pagectrl.o .libs/sortctrl.o .libs/vlvctrl.o .libs/init.o .libs/options.o .libs/print.o .libs/string.o .libs/util-int.o .libs/schema.o .libs/charray.o .libs/os-local.o .libs/dnssrv.o .libs/utf-8.o .libs/utf-8-conv.o .libs/tls2.o .libs/tls_o.o .libs/tls_g.o .libs/tls_m.o .libs/turn.o .libs/ppolicy.o .libs/dds.o .libs/txn.o .libs/ldap_sync.o .libs/stctrl.o .libs/assertion.o .libs/deref.o .libs/ldif.o .libs/fetch.o .libs/version.o
ranlib .libs/libldap.a
creating libldap.la
(cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la)
/lib/libsasl2.dll.a, /lib/libssl.dll.a and /lib/libcrypto.dll.a are all there as shared libs.
On cygwin 32bit the same compilation produces shared libs. For example for libldap I get:
/bin/sh ../../libtool --mode=link gcc -ggdb -O2 -pipe -fdebug-prefix-map=/cygdrive/d/misc/src/release/openldap-2.4.35-1/build=/usr/src/debug/openldap-2.4.35-1 -fdebug-prefix-map=/cygdrive/d/misc/src/release/openldap-2.4.35-1/src/openldap-2.4.35=/usr/src/debug/openldap-2.4.35-1 -Wl,--enable-auto-image-base -release 2.4 -version-info 11:1:9 -no-undefined -rpath /usr/lib -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 sasl.lo gssapi.lo sbind.lo unbind.lo cancel.lo filter.lo free.lo sort.lo passwd.lo whoami.lo getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo init.lo options.lo print.lo string.lo util-int.lo schema.lo charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo tls2.lo tls_o.lo tls_g.lo tls_m.lo turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo assertion.lo deref.lo ldif.lo fetch.lo version.lo ../../libraries/liblber/liblber.la -lsasl2 -lssl -lcrypto
gcc -shared .libs/bind.o .libs/open.o .libs/result.o .libs/error.o .libs/compare.o .libs/search.o .libs/controls.o .libs/messages.o .libs/references.o .libs/extended.o .libs/cyrus.o .libs/modify.o .libs/add.o .libs/modrdn.o .libs/delete.o .libs/abandon.o .libs/sasl.o .libs/gssapi.o .libs/sbind.o .libs/unbind.o .libs/cancel.o .libs/filter.o .libs/free.o .libs/sort.o .libs/passwd.o .libs/whoami.o .libs/getdn.o .libs/getentry.o .libs/getattr.o .libs/getvalues.o .libs/addentry.o .libs/request.o .libs/os-ip.o .libs/url.o .libs/pagectrl.o .libs/sortctrl.o .libs/vlvctrl.o .libs/init.o .libs/options.o .libs/print.o .libs/string.o .libs/util-int.o .libs/schema.o .libs/charray.o .libs/os-local.o .libs/dnssrv.o .libs/utf-8.o .libs/utf-8-conv.o .libs/tls2.o .libs/tls_o.o .libs/tls_g.o .libs/tls_m.o .libs/turn.o .libs/ppolicy.o .libs/dds.o .libs/txn.o .libs/ldap_sync.o .libs/stctrl.o .libs/assertion.o .libs/deref.o .libs/ldif.o .libs/fetch.o .libs/version.o ../../libraries/liblber/.libs/liblber.dll.a /usr/lib/libsasl2.dll.a -L/usr/lib -lssl -lcrypto -Wl,--enable-auto-image-base -o .libs/cygldap-2-4-2.dll -Wl,--image-base=0x10000000 -Wl,--out-implib,.libs/libldap.dll.a
creating libldap.la
(cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la)
Any ideas?
Ciao
Volker