Subject: pkg/25969: editors/vim on 2.0 BETA m68k: conflicting struct names
To: None <gnats-bugs@gnats.NetBSD.org>
From: Ingolf Steinbach <1obv0ik02@sneakemail.com>
List: pkgsrc-bugs
Date: 06/19/2004 17:23:19
>Number:         25969
>Category:       pkg
>Synopsis:       vim cannot be built on 2.0 BETA m68k due to conflicting struct names
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 19 15:24:01 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Ingolf Steinbach
>Release:        NetBSD 2.0_BETA
>Organization:
	none
>Environment:
System: NetBSD aphrodite 2.0_BETA NetBSD 2.0_BETA (INSTALL) #0: Sat Jun 12 16:56:01 UTC 2004 autobuild@tgm.netbsd.org:/autobuild/netbsd-2-0/amiga/OBJ/autobuild/netbsd-2-0/src/sys/arch/amiga/compile/INSTALL amiga
Architecture: m68k
Machine: amiga
>Description:
	On a freshly installed NetBSD 2.0 BETA / amiga (and probably m68k
in general) machine (2004-06-12 snapshot) pkgsrc/editors/vim cannot be
built:
CC="gcc -Iproto -DHAVE_CONFIG_H   -I/usr/include  -O2 -m68060 -finline-functions -ffast-math -fomit-frame-pointer -I/usr/include       " srcdir=. sh ./osdef.sh
gcc -c -I. -Iproto -DHAVE_CONFIG_H   -I/usr/include  -O2 -m68060 -finline-functions -ffast-math -fomit-frame-pointer -I/usr/include        -o objects/buffer.o buffer.c
In file included from vim.h:1345,
                 from buffer.c:29:
structs.h:1261: error: redefinition of `struct frame'

The previous definition comes from /usr/include/m68k/cpuframe.h which
seens to be included indirectly via <sys/signal.h>.
>How-To-Repeat:
	Try to compile editors/vim on above platform.
>Fix:
	Two possibilities:
a) patch vim to use another name than "frame"
b) change m68k/cpuframe.h to not "pollute" the global namespace with symbols
   which can easily cause this kind of conflicts.

If "frame" is not part of the official NetBSD/POSIX/whatever API, I'd
definitively vote for b).
>Release-Note:
>Audit-Trail:
>Unformatted: