Full_Name: Dagobert Michelsen Version: 2.4.18 OS: Solaris URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (86.103.225.254)
There is a problem compiling the current OpenLDAP (2.4.18) in 64 bit on Solaris. The problem occurs when building with modules and enabling 64 bit in CFLAGS rather than setting CC to the compiler including flags. The source of the problem is the old libtool version 1.5.x included in OpenLDAP. The libtool maintainers recommended upgrading libtool to at least 2.2 where the problem was fixed.
The corresponding libtool thread is available at http://lists.gnu.org/archive/html/bug-libtool/2009-09/msg00017.html
This is the excerpt of my tests:
This works fine: ./configure CC='/opt/studio/SOS11/SUNWspro/bin/cc -xarch=v9' CPPFLAGS='-I/opt/csw/include' LDFLAGS='-L/opt/csw/lib/64 -R/opt/csw/ lib/64' && gmake
And it also works with modules: ./configure CC='/opt/studio/SOS11/SUNWspro/bin/cc -xarch=v9' CPPFLAGS='-I/opt/csw/include' LDFLAGS='-L/opt/csw/lib/64 -R/opt/csw/ lib/64' --enable-modules && gmake
Without modules this works also: ./configure CC='/opt/studio/SOS11/SUNWspro/bin/cc' CFLAGS='-xarch=v9' CPPFLAGS='-I/opt/csw/include' LDFLAGS='-L/opt/csw/lib/64 -R/opt/csw/ lib/64' && gmake
This does not work: ./configure CC='/opt/studio/SOS11/SUNWspro/bin/cc' CFLAGS='-xarch=v9' CPPFLAGS='-I/opt/csw/include' LDFLAGS='-L/opt/csw/lib/64 -R/opt/csw/ lib/64' --enable-modules && gmake
For now this tiny patch fixed my problem, but it needs to be worked on for general usage:
diff -Naur openldap-2.4.17.orig/build/ltmain.sh openldap-2.4.17.patched/build/ltmain.sh --- openldap-2.4.17.orig/build/ltmain.sh 2009-01-22 01:00:41.000000000 +0100 +++ openldap-2.4.17.patched/build/ltmain.sh 2009-09-11 14:26:06.136891084 +0200 @@ -4745,7 +4745,10 @@ case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag";; - esac + esac;; + *-*-solaris*) + LTCFLAGS="$compiler_flags" + ;; esac
# Now compile the dynamic symbol file.