Sean O'Malley wrote:
I am having a few issues getting openldap-2.3.34 to build in solaris 10 x86.
The first issues is the order of the include files basically anywhere <avl.h> is included it is picking up /usr/include/sys/avl.h instead of the openldap avl.h library. You can pretty much just grep for <avl.h> or "avl.h" and find all the places it conflicts.
This has been reported before in the ITS. I haven't seen this problem, but I've only been building on Solaris 10 for Sparc. Strange that such a thing would be architecture-specific. Also, unless something is broken in your compiler, the order of include-flag processing should mean that OpenLDAP's avl.h is located first.
The real trick here is I think it is netdb.h requires sys/avl.h
second in portable.h /* Define to `int' if <sys/socket.h> does not define. */ #define socklen_t int
This should be commented out it is defined as: typedef size_t socklen_t; typedef uint32_t socklen_t; in <sys/socket.h>
Third. and I didnt document all the places but #include <netdb.h> isnt being included.. libraries/libldap/os-local.c libraries/libldap/util-int.c libraries/libldap_r/os-local.c libraries/libldap/os-ip.c
<netdb.h> should not be included in any source files at all since it's part of <ac/socket.h>.
Fourth:
/opt/dloads/openldap-2.3.34/servers/slapd/slap.h needs to include #include <sys/socket.h>
No, it already includes <ac/socket.h>.