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

BUG & FIX: wrong include order (ITS#1880)



Full_Name: Alexios Zavras
Version: 2.1.2
OS: GNU/Linux
URL: 
Submission from: (NULL) (195.251.255.7)


Building openldap-2.1.2 on a heavily customized GNU/Linux machine.

The environment includes CFLAGS to include access to software
instaled in non-standard directories (e.g. -I/sw/gnu/include).
Among the stuff already included is the GNU libavl library
for balanced binary trees.  Unfortunately, this installs
a avl.h file (same name as in openldap-2.1.2/include).

While building openldap, various files include the installed
/sw/gnu/include/avl.h instead of their own .../include/avl.h

Granted, my environment is non-typical, but I still consider it a bug.

The wrong inclusion is the result of the order of the -I flags inthe compile
line.
The line in the generated Makefiles
CFLAGS = $(AC_CFLAGS) $(DEFS)
should be
CFLAGS = $(DEFS) $(AC_CFLAGS)
since we really want LDAP_INCPATH before anything else.

This is needed at least in Makefiles in libraries/libavl,
libraries/librewrite, servers/slapd, servers/slapd/back-*, ...

I am not competent enough with autoconfig,
but I think that making the above one-line change
in openldap-2.1.2/build/top.mk
should be all the fix that is needed.

It worked for me!
Thanks for your work