Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Compile failure openldap 2.3.24 Solaris 10 (06-06)

88 views
Skip to first unread message

t...@barnestormer.com

unread,
Jul 3, 2006, 7:51:27 AM7/3/06
to
In the latest release of Solaris (sparc) 06-06, they seem to have made
some changes to the system headers. One problem is a conflicting types
error during compile.

Has anyone run into this problem. and if so was there a resolution /
work around?

here is my configure line for openldap

LDFLAGS=-L/usr/local/openssl/lib CPPFLAGS=-I/usr/local/openssl/include
./configure --prefix=/usr/local/openldap --without-bdb --disable-bdb
--disable-backends --enable-null


===========openldap compile failure =====================
Entering subdirectory librewrite
rm -f version.c
../../build/mkversion -v "2.3.24" librewrite.a > version.c
gcc -g -O2 -I../../include -I../../include
-I/usr/local/openssl/include -c config.c
In file included from rewrite-int.h:38,
from config.c:22:
../../include/avl.h:86: error: conflicting types for 'avl_insert'
/usr/include/sys/avl.h:154: error: previous declaration of 'avl_insert'
was here
../../include/avl.h:86: error: conflicting types for 'avl_insert'
/usr/include/sys/avl.h:154: error: previous declaration of 'avl_insert'
was here
../../include/avl.h:92: error: conflicting types for 'avl_find'
/usr/include/sys/avl.h:146: error: previous declaration of 'avl_find'
was here
../../include/avl.h:92: error: conflicting types for 'avl_find'
/usr/include/sys/avl.h:146: error: previous declaration of 'avl_find'
was here
*** Error code 1
make: Fatal error: Command failed for target `config.o'
Current working directory /var/tmp/openldap-2.3.24/libraries/librewrite
*** Error code 1
The following command caused the error:
for i in liblutil liblber liblunicode libldap libldap_r librewrite
; do \
echo " Entering subdirectory $i"; \
( cd $i; make all ); \
if test $? != 0 ; then exit 1; fi ; \
echo " ";
\
done
make: Fatal error: Command failed for target `all-common'
Current working directory /var/tmp/openldap-2.3.24/libraries
*** Error code 1
The following command caused the error:
for i in include libraries clients servers tests doc ; do
\
echo " Entering subdirectory $i"; \
( cd $i; make all ); \
if test $? != 0 ; then exit 1; fi ; \
echo " ";
\
done
make: Fatal error: Command failed for target `all-common'
==================================================

Gary Mills

unread,
Jul 3, 2006, 9:18:24 AM7/3/06
to
In <1151927486....@j8g2000cwa.googlegroups.com> t...@barnestormer.com writes:

>In the latest release of Solaris (sparc) 06-06, they seem to have made
>some changes to the system headers. One problem is a conflicting types
>error during compile.

>here is my configure line for openldap

>LDFLAGS=-L/usr/local/openssl/lib CPPFLAGS=-I/usr/local/openssl/include
>./configure --prefix=/usr/local/openldap --without-bdb --disable-bdb
>--disable-backends --enable-null

>gcc -g -O2 -I../../include -I../../include


>-I/usr/local/openssl/include -c config.c
>In file included from rewrite-int.h:38,
> from config.c:22:
>../../include/avl.h:86: error: conflicting types for 'avl_insert'
>/usr/include/sys/avl.h:154: error: previous declaration of 'avl_insert'
>was here

/usr/include/sys/avl.h says:

/*
* This is a private header file. Applications should not directly include
* this file.
*/
/*
* This is a generic implemenatation of AVL trees for use in the Solaris kernel. * The interfaces provide an efficient way of implementing an ordered set of
* data structures.

Something is mistakenly including this file.

--
-Gary Mills- -Unix Support- -U of M Academic Computing and Networking-

Chris Ridd

unread,
Jul 3, 2006, 12:11:19 PM7/3/06
to
On 2006-07-03 14:18:24 +0100, Gary Mills <mi...@cc.umanitoba.ca> said:

> In <1151927486....@j8g2000cwa.googlegroups.com>
> t...@barnestormer.com writes:
>
>> In the latest release of Solaris (sparc) 06-06, they seem to have made
>> some changes to the system headers. One problem is a conflicting types
>> error during compile.
>
>> here is my configure line for openldap
>
>> LDFLAGS=-L/usr/local/openssl/lib CPPFLAGS=-I/usr/local/openssl/include
>> ./configure --prefix=/usr/local/openldap --without-bdb --disable-bdb
>> --disable-backends --enable-null
>
>> gcc -g -O2 -I../../include -I../../include
>> -I/usr/local/openssl/include -c config.c
>> In file included from rewrite-int.h:38,
>> from config.c:22:
>> ../../include/avl.h:86: error: conflicting types for 'avl_insert'
>> /usr/include/sys/avl.h:154: error: previous declaration of 'avl_insert'
>> was here

[...]

> Something is mistakenly including this file.

Yes, and that something's <sys/socket.h>. On 3/05 that doesn't include
<sys/avl.h>, and on 6/06 it does (it includes <sys/stream.h> which
includes <sys/vnode.h> which includes <sys/avl.h>)

A possible workaround would be to #define _AVL_H before including
<sys/socket.h>.

Cheers,

Chris

Chris Ridd

unread,
Jul 4, 2006, 2:36:19 AM7/4/06
to

So it looks like this is a known problem that is fixed in
"solaris_nevada(snv_40)":

<http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6419029>

Does anyone have any idea when this might get included in a Solaris
patch? it is a very annoying regression.

Cheers,

Chris

csbu...@ci.tacoma.wa.us

unread,
Jul 14, 2006, 10:44:04 PM7/14/06
to

An official "Lazy Persons" fix - define it in the "CFLAGS" variable
prior to running "./configure"
CFLAGS='-D_AVL_H'
export CFLAGS

I put this in a shell script with a note to myself so I can take it out
when it is fixed

Chris Ridd

unread,
Jul 15, 2006, 2:14:52 AM7/15/06
to

That's exactly what I've been doing, though it makes me ill to think
about it! Does that still build the server OK? My build only does the
client libraries and clients.

Cheers,

Chris

0 new messages