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

building on AIX

Still some issues with building on AIX... AIX code is always PIC by default,
and AIX shared libraries are just regular (ar) archive files with a shared
object inside. Since there is no unique suffix to distinguish shared
libraries from static libraries, libtool has to fudge around a little.
Usually it compiles to just a .lo file.

With the default configure options, liblber will fail to build when it gets
to making the liblber.a static library, because there are no .o files to add
to the archive. The easiest thing to do is to just configure
with --disable-static and skip the creation of static libtool libraries. (No
big deal, since a single shared library can be used both dynamically and
statically, as needed.)

We run into trouble again in slapd & backends though, which explicitly invoke
$(AR) to create lib<backend>.a, and slapd explicitly creates libbackend.a out
of the individual backend libraries. I haven't figured out how this should be
fixed yet; I just manually symlink all the backend .lo files to corresponding
.o names and rerun the make. My preference is to go back to hacking libtool
to accept "-only-static" and "-only-shared" options so that the backend
Makefiles can be set to only deal with one form or another. That'll tide us
over until we migrate to the new libtool/autoconf (if/when that happens)...

On AIX 4.3 IPv6 support is enabled, and "make test" fails because getaddrinfo
expects valid /etc/services entries for any port numbers you specify. (The
test scripts invoke slapd on ports 9009 and 9010.) Adding some entries to
/etc/services for 9009 and 9010 is enough to get past this stumbling block,
and then all the tests run to completion.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support