On Wed, Nov 3, 2010 at 4:28 AM, Quanah Gibson-Mount quanah@zimbra.comwrote:
Examine config.log to see why it failed.
As per what I get in the config.log
configure:8474: checking if cc_r -qlanglvl=extc89 static flag works configure:8502: result: yes configure:8570: checking for cc_r -qlanglvl=extc89 option to produce PIC configure:8774: result: configure:8841: checking if cc_r -qlanglvl=extc89 supports -c -o file.o configure:8862: cc_r -qlanglvl=extc89 -c -I/opt/openldap/include -I/opt/openldap/include -o out/conftest2.o conftest.c >&5 configure:8866: $? = 0 configure:8888: result: yes configure:8914: checking whether the cc_r -qlanglvl=extc89 linker (/usr/ccs/bin/ld) supports shared libraries configure:9790: result: no
--- Any way to get a more verbose output from what it's trying to do??
configure:9861: checking dynamic linker characteristics configure:10415: result: no configure:10419: checking how to hardcode library paths into programs configure:10444: result: unsupported configure:10458: checking whether stripping libraries is possible configure:10479: result: no configure:10586: checking for shl_load configure:10642: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include -I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load
-- I think this is the prolbem, shl_load, looks like I may need another include or figure out why it's complaining.
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. configure:10648: $? = 8 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define OPENLDAP_PACKAGE "OpenLDAP" | #define OPENLDAP_VERSION "2.4.23" | #define LDAP_VENDOR_VERSION 20423 | #define LDAP_VENDOR_VERSION_MAJOR 2 | #define LDAP_VENDOR_VERSION_MINOR 4 | #define LDAP_VENDOR_VERSION_PATCH 23 | #define HAVE_MKVERSION 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | /* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load. | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | #define shl_load innocuous_shl_load | | /* System header to define __stub macros and hopefully few prototypes, | which can conflict with char shl_load (); below. | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | <limits.h> exists even on freestanding compilers. */ | | #ifdef __STDC__ | # include <limits.h> | #else | # include <assert.h> | #endif | | #undef shl_load | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | /* The GNU C library defines this for functions which it implements | to always fail with ENOSYS. Some functions are actually named | something starting with __ and the normal name is an alias. */ | #if defined __stub_shl_load || defined __stub___shl_load | choke me | #endif | | int | main () | { | return shl_load (); | ; | return 0; | } configure:10665: result: no configure:10670: checking for shl_load in -ldld configure:10705: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include -I/opt/openldap/include -L/opt/openldap/lib conftest.c -ldld >&5 ld: 0706-006 Cannot find or open library file: -l dld ld:open(): No such file or directory configure:10711: $? = 255 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define OPENLDAP_PACKAGE "OpenLDAP" | #define OPENLDAP_VERSION "2.4.23" | #define LDAP_VENDOR_VERSION 20423 | #define LDAP_VENDOR_VERSION_MAJOR 2 | #define LDAP_VENDOR_VERSION_MINOR 4 | #define LDAP_VENDOR_VERSION_PATCH 23 | #define HAVE_MKVERSION 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char shl_load (); | int | main () | { | return shl_load (); | ; | return 0; | } configure:10729: result: no configure:10734: checking for dlopen configure:10790: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include -I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 configure:10796: $? = 0 configure:10813: result: yes configure:11046: checking whether a program can dlopen itself configure:11118: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include -I/opt/openldap/include -DHAVE_DLFCN_H -L/opt/openldap/lib conftest.c >&5 configure:11121: $? = 0 configure:11139: result: no configure:11260: checking if libtool supports shared libraries configure:11262: result: no configure:11265: checking whether to build shared libraries configure:11286: result: no configure:11289: checking whether to build static libraries configure:11293: result: yes
Also found something similar for Samba: http://samba.2283325.n4.nabble.com/Failing-to-make-Samba-3-5-4-on-AIX-5-3-td...
So going to do more digging, or suggestions are welcome ;)
ITS # 6547.
Knowing absolutely nothing about the platform, and assuming you're not comfortable doing your own autoconf regeneration, I'd just s/aix5/aix6/g in ./configure (i.e. edit the file) and see where you end up -- maybe it'll work, maybe it won't, but my guess is it would be an extremely crude starting point that might be usable after setting appropriate environment variables.
If you're willing to help the Project validate new autoconf files, that would be really helpful (I'm guessing we're limited in access to AIX nowadays), and it would save you from having to do such disgusting things in future releases. You can follow up to the ITS via e-mail if that's an area of interest.
On Wed, 3 Nov 2010, Peter Lambrechtsen wrote:
configure:8914: checking whether the cc_r -qlanglvl=extc89 linker (/usr/ccs/bin/ld) supports shared libraries configure:9790: result: no
--- Any way to get a more verbose output from what it's trying to do??
"bash -x ./configure"?
configure:10642: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include -I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load
-- I think this is the prolbem, shl_load, looks like I may need another include or figure out why it's complaining.
I understand that "ERROR" is an eye opener, but please realize that autoconf basically just tries everything and uses anything that doesn't error out. If shl_load isn't The Right Thing on AIX, this is a non-issue.
On Fri, Nov 5, 2010 at 12:22 PM, Aaron Richton richton@nbcs.rutgers.eduwrote:
ITS # 6547.
Knowing absolutely nothing about the platform, and assuming you're not comfortable doing your own autoconf regeneration, I'd just s/aix5/aix6/g in ./configure (i.e. edit the file) and see where you end up -- maybe it'll work, maybe it won't, but my guess is it would be an extremely crude starting point that might be usable after setting appropriate environment variables.
Ok... I'm not 100% comfortable doing autoconf regenration. but happy to run any tests where needed and reply with logs.
If you're willing to help the Project validate new autoconf files, that would be really helpful (I'm guessing we're limited in access to AIX nowadays), and it would save you from having to do such disgusting things in future releases. You can follow up to the ITS via e-mail if that's an area of interest.
Absoutely... I had hoped to use GNU GCC and the full GNU stack on AIX... but the gnu stack is poorly supported on AIX so I was forced to go down the IBM xL Path, which is a bit of a learning curve for me too.
On Wed, 3 Nov 2010, Peter Lambrechtsen wrote:
configure:8914: checking whether the cc_r -qlanglvl=extc89 linker
(/usr/ccs/bin/ld) supports shared libraries configure:9790: result: no
--- Any way to get a more verbose output from what it's trying to do??
"bash -x ./configure"?
Tried that, and my aix compile machine has no bash :( ... but ./configure seems to call itself and then becomes less verbose, the next time I had time to debug it I was planning to find out where configure was doing it and add a -x in there too. And log all those results to a file.
configure:10642: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/include
-I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load
-- I think this is the prolbem, shl_load, looks like I may need another
include or figure out why it's complaining.
I understand that "ERROR" is an eye opener, but please realize that autoconf basically just tries everything and uses anything that doesn't error out. If shl_load isn't The Right Thing on AIX, this is a non-issue.
Cheers... I'll run through what the autoconf does for OpenSSL since that compiled fine on aix, and see what quirks it's doing that OpenLDAP isn't.
Cheers
Peter
openldap-technical-bounces@openldap.org wrote on 05.11.2010 01:42:35:
Peter Lambrechtsen plambrechtsen@gmail.com Gesendet von: openldap-technical-bounces@openldap.org
05.11.2010 01:53
An
Aaron Richton richton@nbcs.rutgers.edu
Kopie
openldap-technical@openldap.org
Thema
Re: Issue with OpenLDAP shared libraries complie on AIX 6.1 using IBM xL Compiler
On Fri, Nov 5, 2010 at 12:22 PM, Aaron Richton <richton@nbcs.rutgers.edu
wrote:
ITS # 6547.
Knowing absolutely nothing about the platform, and assuming you're not comfortable doing your own autoconf regeneration, I'd just s/ aix5/aix6/g in ./configure (i.e. edit the file) and see where you end up -- maybe it'll work, maybe it won't, but my guess is it would be an extremely crude starting point that might be usable after setting appropriate environment variables.
Ok... I'm not 100% comfortable doing autoconf regenration. but happy to run any tests where needed and reply with logs.
If you're willing to help the Project validate new autoconf files, that would be really helpful (I'm guessing we're limited in access to AIX nowadays), and it would save you from having to do such disgusting things in future releases. You can follow up to the ITS via e-mail if that's an area of interest.
Absoutely... I had hoped to use GNU GCC and the full GNU stack on AIX... but the gnu stack is poorly supported on AIX so I was forced to go down the IBM xL Path, which is a bit of a learning curve for me
too.
On Wed, 3 Nov 2010, Peter Lambrechtsen wrote:
configure:8914: checking whether the cc_r -qlanglvl=extc89 linker (/ usr/ccs/bin/ld) supports shared libraries configure:9790: result: no
--- Any way to get a more verbose output from what it's trying to do??
"bash -x ./configure"?
Tried that, and my aix compile machine has no bash :( ... but ./ configure seems to call itself and then becomes less verbose, the next time I had time to debug it I was planning to find out where configure was doing it and add a -x in there too. And log all those results to a file.
configure:10642: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/ include -I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load
-- I think this is the prolbem, shl_load, looks like I may need another include or figure out why it's complaining.
I understand that "ERROR" is an eye opener, but please realize that autoconf basically just tries everything and uses anything that doesn't error out. If shl_load isn't The Right Thing on AIX, this is a non-issue.
Cheers... I'll run through what the autoconf does for OpenSSL since that compiled fine on aix, and see what quirks it's doing that OpenLDAP
isn't.
Cheers
Peter
I've compiled 2.4.23 on AIX 6.1 with the following settings:
export PATH=/usr/vacpp/bin:/usr/vac/bin:$PATH export CC=cc export CXX=xlC export CONFIG_SHELL=/usr/bin/bash export CONFIG_ENV_ARGS=/usr/bin/bash export CFLAGS="-qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -g -I/opt/pware/Berkeley/latest/include -L/opt/pware/Berkeley/latest/lib" export CPPFLAGS=$CFLAGS export CXXFLAGS=$CFLAGS export LIBS="-lpthread" export F77=xlf export FFLAGS="-qmaxmem=16384 -O -I/opt/freeware/include -I/opt/pware/Berkeley/latest/include" export LD=ld export LDFLAGS="-L/opt/freeware/lib -Wl,-bmaxdata:0x80000000 -L/opt/pware/Berkeley/latest/lib" export LD_LIBRARY_PATH=/opt/pware/Berkeley/latest
./configure --prefix=/opt/pware/openldap/2.4.23 --with-openssl --with-shared=yes --enable-ppolicy --enable-unique --enable-ssl --enable-debug
I had to apply a patch which replaxced all occurrences of aix5 with aix 6 in aclocal.m4 , and in build/config.guess as well as contrib/ldapc+ +/config.guess the *:AIX:*:[45]) lines with *:AIX:*:[456]). Worked a charm. Your paths will probably differ ... and I'm pretty sure bash was a must, but you can get it from http://www.perzl.org/aix/index.php?n=Main.Bash
hth
-------------------------- VERTRAULICHKEIT: Diese Nachricht ist ausschließlich für denjenigen bestimmt, an den sie adressiert ist und kann vertrauliche Informationen enthalten. Falls Sie nicht der Empfänger dieser Nachricht sind, weisen wir Sie darauf hin, dass die unberechtigte Weitergabe oder Verwendung sowie das unberechtigte Verteilen oder Kopieren dieser Nachricht strikt untersagt sind. Falls Sie diese Nachricht irrtümlich erhalten haben, vernichten Sie sie bitte sofort.
CONFIDENTIALITY: This message is intended only for the use of the individuality or entity to which it is addressed and may contain information that is privileged, confidential and exempt from disclosure. If you are not the intended recipient you are notified that any dissemination, distribution, use or copying of this communication is strictly prohibited. If you received this message in error, please immediately destroy this message. --------------------------
On Fri, Nov 5, 2010 at 7:58 PM, Howard Allison < howard.allison@pva.sozvers.at> wrote:
openldap-technical-bounces@openldap.org wrote on 05.11.2010 01:42:35:
Peter Lambrechtsen plambrechtsen@gmail.com
Gesendet von: openldap-technical-bounces@openldap.org
05.11.2010 01:53
An
Aaron Richton richton@nbcs.rutgers.edu
Kopie
openldap-technical@openldap.org
Thema
Re: Issue with OpenLDAP shared libraries complie on AIX 6.1 using IBM xL Compiler
On Fri, Nov 5, 2010 at 12:22 PM, Aaron Richton <richton@nbcs.rutgers.edu
wrote:
ITS # 6547.
Knowing absolutely nothing about the platform, and assuming you're not comfortable doing your own autoconf regeneration, I'd just s/ aix5/aix6/g in ./configure (i.e. edit the file) and see where you end up -- maybe it'll work, maybe it won't, but my guess is it would be an extremely crude starting point that might be usable after setting appropriate environment variables.
Ok... I'm not 100% comfortable doing autoconf regenration. but happy to run any tests where needed and reply with logs.
If you're willing to help the Project validate new autoconf files, that would be really helpful (I'm guessing we're limited in access to AIX nowadays), and it would save you from having to do such disgusting things in future releases. You can follow up to the ITS via e-mail if that's an area of interest.
Absoutely... I had hoped to use GNU GCC and the full GNU stack on AIX... but the gnu stack is poorly supported on AIX so I was forced to go down the IBM xL Path, which is a bit of a learning curve for me
too.
On Wed, 3 Nov 2010, Peter Lambrechtsen wrote:
configure:8914: checking whether the cc_r -qlanglvl=extc89 linker (/ usr/ccs/bin/ld) supports shared libraries configure:9790: result: no
--- Any way to get a more verbose output from what it's trying to do??
"bash -x ./configure"?
Tried that, and my aix compile machine has no bash :( ... but ./ configure seems to call itself and then becomes less verbose, the next time I had time to debug it I was planning to find out where configure was doing it and add a -x in there too. And log all those results to a file.
configure:10642: cc_r -qlanglvl=extc89 -o conftest -I/opt/openldap/ include -I/opt/openldap/include -L/opt/openldap/lib conftest.c >&5 ld: 0711-317 ERROR: Undefined symbol: .shl_load
-- I think this is the prolbem, shl_load, looks like I may need another include or figure out why it's complaining.
I understand that "ERROR" is an eye opener, but please realize that autoconf basically just tries everything and uses anything that doesn't error out. If shl_load isn't The Right Thing on AIX, this is a non-issue.
Cheers... I'll run through what the autoconf does for OpenSSL since that compiled fine on aix, and see what quirks it's doing that OpenLDAP
isn't.
Cheers
Peter
I've compiled 2.4.23 on AIX 6.1 with the following settings:
export PATH=/usr/vacpp/bin:/usr/vac/bin:$PATH export CC=cc export CXX=xlC export CONFIG_SHELL=/usr/bin/bash export CONFIG_ENV_ARGS=/usr/bin/bash export CFLAGS="-qmaxmem=16384 -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -g -I/opt/pware/Berkeley/latest/include -L/opt/pware/Berkeley/latest/lib" export CPPFLAGS=$CFLAGS export CXXFLAGS=$CFLAGS export LIBS="-lpthread" export F77=xlf export FFLAGS="-qmaxmem=16384 -O -I/opt/freeware/include -I/opt/pware/Berkeley/latest/include" export LD=ld export LDFLAGS="-L/opt/freeware/lib -Wl,-bmaxdata:0x80000000 -L/opt/pware/Berkeley/latest/lib" export LD_LIBRARY_PATH=/opt/pware/Berkeley/latest
./configure --prefix=/opt/pware/openldap/2.4.23 --with-openssl --with-shared=yes --enable-ppolicy --enable-unique --enable-ssl --enable-debug
I had to apply a patch which replaxced all occurrences of aix5 with aix 6 in aclocal.m4 , and in build/config.guess as well as contrib/ldapc++/config.guess the *:AIX:*:[45]) lines with *:AIX:*:[456]). Worked a charm. Your paths will probably differ ... and I'm pretty sure bash was a must, but you can get it from http://www.perzl.org/aix/index.php?n=Main.Bash
hth
That is brilliant, I will have a go with the above settings next week, but that is exactly what I was looking for.
A huge help, and much appreciated!
VERTRAULICHKEIT: Diese Nachricht ist ausschließlich für denjenigen bestimmt, an den sie adressiert ist und kann vertrauliche Informationen enthalten. Falls Sie nicht der Empfänger dieser Nachricht sind, weisen wir Sie darauf hin, dass die unberechtigte Weitergabe oder Verwendung sowie das unberechtigte Verteilen oder Kopieren dieser Nachricht strikt untersagt sind. Falls Sie diese Nachricht irrtümlich erhalten haben, vernichten Sie sie bitte sofort.
CONFIDENTIALITY: This message is intended only for the use of the individuality or entity to which it is addressed and may contain information that is privileged, confidential and exempt from disclosure. If you are not the intended recipient you are notified that any dissemination, distribution, use or copying of this communication is strictly prohibited. If you received this message in error, please immediately destroy this message.
openldap-technical@openldap.org