#307: OpenLDAP does not compile
--------------------------------------+-------------------------------------
Reporter: PhillipSteinbachs | Owner: somebody
Type: defect | Status: new
Priority: high | Milestone: Elatte Unstable Beta 1
Component: unknown | Version: 1.0
Severity: major | Keywords: openldap
Launchpad_linked: 0 |
--------------------------------------+-------------------------------------
The OpenLDAP packages from Ubuntu Breezy & Dapper, and Debian testing &
unstable will not compile properly under Elatte alpha4 upgraded to
unstable. The build dies with the following:
{{{
make[3]: Entering directory
`/scratch/debian/openldap-2.2.26/debian/build/libraries/librewrite'
rm -f version.c
/scratch/debian/openldap-2.2.26/build/mkversion -v "2.2.26" librewrite.a >
version.c
cc -Wall -g -D_FILE_OFFSET_BITS=64 -O2 -I../../include
-I/scratch/debian/openldap-2.2.26/include -c -o config.o
/scratch/debian/openldap-2.2.26/libraries/librewrite/config.c
In file included from /scratch/debian/openldap-2.2.26/libraries/librewrite
/rewrite-int.h:38,
from
/scratch/debian/openldap-2.2.26/libraries/librewrite/config.c:22:
/scratch/debian/openldap-2.2.26/include/avl.h:71: error: conflicting types
for 'avl_insert'
/usr/include/sys/avl.h:175: error: previous declaration of 'avl_insert'
was here
/scratch/debian/openldap-2.2.26/include/avl.h:77: error: conflicting types
for 'avl_find'
/usr/include/sys/avl.h:167: error: previous declaration of 'avl_find' was
here
/scratch/debian/openldap-2.2.26/libraries/librewrite/config.c: In function
'rewrite_parse':
/scratch/debian/openldap-2.2.26/libraries/librewrite/config.c:109:
warning: too many arguments for format
/scratch/debian/openldap-2.2.26/libraries/librewrite/config.c:117:
warning: too many arguments for format
make[3]: *** [config.o] Error 1
make[3]: Leaving directory
`/scratch/debian/openldap-2.2.26/debian/build/libraries/librewrite'
make[2]: *** [all-common] Error 1
make[2]: Leaving directory
`/scratch/debian/openldap-2.2.26/debian/build/libraries'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/scratch/debian/openldap-2.2.26/debian/build'
make: *** [build-stamp] Error 2
}}}
What appears to be happening is that OpenLDAP's mkdep script is asking the
compiler for its dependencies, and /usr/include/sys/avl.h and avl_impl.h
get listed before OpenLDAP's local ../../include/avl.h. Hence the
conflicting types error. The code from this package, including the diff,
compiles fine under vanilla Solaris 10 sparc/x86 with gcc 3.x and 4.x, and
the resulting Makefiles only show a dependency on ../../include/avl.h.
So this seems to be a specific problem with Elatte's gcc and/or system
libraries. The default CPPFLAGS only include the local OpenLDAP header,
so somewhere along the way /usr/include/sys is being injected.
Suggestions on what can be changed to get this package compiled would be
appreciated.
-phillip
--
Ticket URL: <http://www.gnusolaris.org/cgi-bin/trac.cgi/ticket/307>
Nexenta Bug Tracking System <http://www.gnusolaris.org/gswiki/Bugs>
Core Components_______________________________________________
GNU/Solaris Development mailing list
[email protected]