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

Re: include directory order leads to problems (ITS#2598)



You are placing CPP flags in CFLAGS.  They belong in CPPFLAGS.

At 04:27 AM 6/16/2003, wout@science.uva.nl wrote:
>Full_Name: Wout van Albada
>Version: 2.1.21
>OS: Solaris 8
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (146.50.4.94)
>
>
>The build phase of OpenLDAP 2.1.21 failed while compiling the file
>libraries/libavl/avl.c because it included the wrong avl.h. There was an avl.h
>elsewhere on the system which came first. This is because OpenLDAP's own include
>directory is listed AFTER the "standard system" include directories in the
>Makefiles.
>This is quite easy to fix, but should probably be fixed by changing the order of
>the include directories in all the Makefile.in files.
>
>Here's how I set up openldap:
>
>./configure                             \
>            --prefix=/opt/arch/openldap-2.1.21  \
>            --enable-debug                      \
>            --disable-ipv6                      \
>            --enable-slapd                      \
>            --enable-cleartext                  \
>            --enable-crypt                      \
>            --enable-slurpd                     \
>            --with-tls
>
>make depend
>make
>
>Then while compiling libraries/libavl.c:
>
>cc -xO5  -I/usr/local/include -I/usr/local/gnu/include  -L/usr/local/lib
>-L/usr/local/gnu/lib  -R/usr/local/lib -R/usr/local/gnu/lib -I../../include
>-I../../include   -I/usr/local/include -I/usr/local/gnu/include 
>-L/usr/local/lib -L/usr/local/gnu/lib   -c  avl.c
>"avl.c", line 63: syntax error before or at: *
>"avl.c", line 64: warning: undefined or missing type for: void
>"avl.c", line 65: warning: undefined or missing type for: int
>"avl.c", line 66: warning: undefined or missing type for: fcmp
>"avl.c", line 67: warning: undefined or missing type for: fdup
>"avl.c", line 68: warning: undefined or missing type for: int
>.... (lots of errors deleted)
>
>In my case, there exists a file /usr/local/gnu/include/avl.h which was included
>by libraries/libavl/avl.c
>If '-I../../include' was first in the list, this problem would not occur.
>
>In the generated libraries/libavl/Makefile file, the following line controls the
>order of the include directories:
>
>CFLAGS = $(AC_CFLAGS) $(DEFS)
>
>$(AC_CFLAGS) contains all the system include dirs, while $(DEFS) contains the
>openldap include directory: -I../../include
>
>Hope this is of use.