Subject: pkg/22865: libnbcompat does not build under 1.4.3A/pmax with gcc-2.95.3
To: None <gnats-bugs@gnats.netbsd.org>
From: None <agrier@poofygoof.com>
List: netbsd-bugs
Date: 09/19/2003 10:50:03
>Number:         22865
>Category:       pkg
>Synopsis:       libnbcompat does not build under 1.4.3A/pmax with gcc-2.95.3
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Sep 19 17:51:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Aaron J. Grier
>Release:        1.4.3
>Organization:
>Environment:
System: NetBSD goldberry 1.4.3A NetBSD 1.4.3A (goldberry) #1: Sat Aug 11 20:03:12 PDT 2001 agrier@goldberry:/suckym/NetBSD/1.4/src/sys/arch/pmax/compile/goldberry pmax

>Description:
libnbcompat does not compile under NetBSD 1.4.3A with gcc 2.95.3.

I think this is the key:

configure:7549: checking if sl_add() returns int
configure:7572: /usr/pkg/gcc-2.95.3/bin/cc -c -O2 -pipe -g   conftest.c >&5
configure: In function `main':
configure:7694: void value not ignored as it ought to be
configure:7575: $? = 1
configure: failed program was:
| #line 7556 "configure"
| /* confdefs.h.  */
    ...  snip  ...
| /* end confdefs.h.  */
|   #include <stringlist.h>
| int
| main ()
| {
|   int f = sl_add((StringList *)0, "foo") ;
|   ;
|   return 0;
| }
configure:7593: result: no

sl_add doesn't return an int, but it does exist (and is declared void in
1.4.3A), so when sl_add.c is compiled, there is a name collision:

/usr/pkg/gcc-2.95.3/bin/cc  -I. -I.  -O2 -pipe -g -DHAVE_CONFIG_H -c sl_init.c
sl_init.c:71: conflicting types for `sl_add'
/usr/include/stringlist.h:50: previous declaration of `sl_add'
*** Error code 1

>How-To-Repeat:
attempt to build nbcompat from pkgsrc under NetBSD 1.4.3A with
gcc-2.95.3.

>Fix:
adjust the autoconf-foo to deal with a void sl_add function.
a more involved workaround would be to update to NetBSD 1.6.x...
>Release-Note:
>Audit-Trail:
>Unformatted: