This is the mail archive of the cygwin-apps mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [64bit] openldap compilation doesn't produce shared libraries

On 2013-05-31 11:58, Yaakov (Cygwin/X) wrote:
On 2013-05-31 08:39, Dr. Volker Zell wrote:
On cygwin 64bit compilation of openldap doesn't produce shared libraries for
libldap and libldap_r (although a shared lib for liblber is produced).

Assuming you are using the same build as the i686 2.4.35-1, the problem
is that you didn't call cygautoreconf.  As noted in the cygport docs,
skipping this step is not recommended even on i686, due to continual
improvements and patches present in our version of libtool.  On x86_64,
cygautoreconf is often *crucial*, as only the most recent versions of
libtool know about the PE32+ format.  openldap ships with a 1.5.x
libtool, hence the failure.

Following up on this, I noticed that slapd's build process is quite broken, resulting in an invalidly formatted executable. The working method to create a linkable EXE is to just link it with -Wl,--export-all-symbols,--out-implib,libfoo.a, then link other modules with -Wl,path/to/libfoo.a. (Relying on -L flags for in-tree paths isn't always a good idea with libtool.)

I took the liberty of fixing up the build of slapd both with and without modular backends/overlays. The patch and modified cygport(3) are in Ports git:



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]