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

Re: (ITS#4170) 64 bit OpenLDAP server doesnot connects with client tools



On Mon, Nov 14, 2005 at 01:19:18PM +0000, shaick.pop@gmail.com wrote:
> Full_Name: Shaick Mohamed
> Version: 2.2.X and 2.3.X
> OS: HPUX
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (203.193.157.82)
> 
> 
> Hello developers,
> 
> we had an issue with OpenLDAP 64 bit build. This issue exists in all the
> versions we tried so for( 2.1.X, 2.2.X, 2.3.X ). Details are given below,
> 
> Issue : 64 bit slapd unable to connect with client tools (ldapsearch,etc)
> 
> Cause : OpenLDAP code is written for XOPEN standard, but in HPUX default build
> is in BSD socket style. This incompatibility causes the issue.
> Ref : man accept in HPUX
> Ref : 3rd argument for accept call is declared as socklen_t in
> servers/slapd/daemon.c at line number 1218
> 
> Note : In 32 bit build we don't have issue since size_t is equal to int.
>  
> Solution : 
> We can add following lines in the configure script,
>   1662  case $host_os in
>   1663  hpux11*)
>   1664  CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
>   1665  LIBS="$LIBS -lxnet"
>   1666  esac
> 
> Ref : man xopen_networking
> Ref : same fix is made in postgresql to work on HPUX
> (postgresql-8.0.4/src/Makefile.port)
> 
> This fix works for us.
> 
> Reproducing steps :
> OS = HPUX ; Model =9000/800/rp3440 and ia64 hp server rx2600
> export CC="/usr/local/pa64/bin/gcc"
> ./configure
> gmake depend
> gmake
> gmake test [ Without the above fix test will fail ]
> 
> Let me know if something is not clear.

See ITS#4629 for a patch that portably fixes this by determining the 
3rd arg to accept() via autoconf. Patch against 2.3.25.

-- 
albert chin (china@thewrittenword.com)