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

Solaris 7 ( 64bit mode ) and issues with openldap-1.2.10 (ITS#617)



Full_Name: Len Smith
Version: 1.2.10
OS: Solaris 7, 64bit mode
URL: 
Submission from: (NULL) (141.211.32.62)


Machine : SUN Netra T1
Compiler : Sun Worhkshop 5.0 C compiler
OS : Solaris 7, 64bit mode
Openldap : 1.2.10

The 64 bit libraries, in solaris 7 do not allow direct access to the
sys_errlist
or sys_nerr variables. Instead you have to use strerror. This is not the case
for
the 32 bit libraries. This is documented in the <errno.h>

## From errno.h

 * The symbols _sys_errlist and _sys_nerr are not visible in the
 * LP64 libc.  Use strerror(3C) instead.


However when functions under servers/{slapd, slurpd} are coded only to use 
sys_errlist. I modified the code to allow a define of __sparcv9 and HASSTRERROR
to modified to code to use strerror. The patch of my changes are available at

http://www-personal.umich.edu/~lrsmith/openldap-1.2.10-strerror-patch

This way if I am on a solaris machine with arch=v9 ( i.e. sparcv9, 64bit mode )
and I define HASSTRERROR then strerror will be used instead.

Also I had to manually modify the build/mkdep script. The CC_MKDEP_FLAGS="-M"
does not with with the Sun C compiler. I simply had to change to -M flag to
"-xM".