Bug 24154 - gv fails to emerge using gcc 3.3
Bug#: 24154 Product:  Gentoo Linux Version: unspecified Platform: x86
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: bug-wranglers@gentoo.org Reported By: voltron.rex@tiscali.de
Component: Applications
URL: 
Summary: gv fails to emerge using gcc 3.3
Keywords:  
Status Whiteboard: 
Opened: 2003-07-09 04:10 0000
Description:   Opened: 2003-07-09 04:10 0000
Greetings

Emerging the latest gv fails with lots of nifty preprocessing errors. I'm using
gcc3.3. Yes, evil, but sooner or later it'll be generally in use, yes?

The errors are long and ugly. There are some 100 errors, maybe more. They are
all something like this:

Aaa_intern.h:47:33: pasting "/" and "cursorfont" does not give a valid
preprocessing token

This comes from the INC_X11 macro:
#include INC_X11(Constraint.h)

The solution turns out to be very simple: 
in the file config.Unix put #define CONVERT_INCLUDE_DIRECTIVES somewhere outside
of the SCO specific defines, so that it's picked up on x86 architecture. As
there's not a linux/x86 #ifdef, I just put it near the top of the file. But this
obviously won't work for every architecture.

Defining this CONVERT_INCLUDE_DIRECTIVES does manual preprocessing with some
sort of script instead of depending on the compiler's preprocessor. And gv
compiles dandy after this.



Reproducible: Always
Steps to Reproduce:
1. emerge gcc 3.3
2. emerge gv
3. watch it fail

Actual Results:  
emerge gv failed

Expected Results:  
emerge should have succeeded

Portage 2.0.48-r1 (default-x86-1.4, gcc-3.3, glibc-2.3.1-r4)
=================================================================
System uname: 2.4.20-gentoo-r5 i686 AMD Athlon(tm) Processor
GENTOO_MIRRORS="http://highlander/ ftp://sunsite.informatik.rwth-aachen.de/pub/L
inux/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share
/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg kde gnome libg++ mikmod mm
x mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gdbm be
rkdb slang readline arts svga java X sdl gpm tcpd pam libwww ssl perl python esd
 imlib oggvorbis gtk qt motif opengl acpi acpi4linux alsa gtk2 mozcalendar mozil
la ruby samba tcltk tetex usb xosd"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
ACCEPT_KEYWORDS="x86"
MAKEOPTS="-j7"
AUTOCLEAN="yes"
SYNC="rsync://highlander/gentoo-portage"
FEATURES="sandbox ccache distcc fixpackages"

------- Comment #1 From Paper 2003-07-25 05:40:49 0000 -------
Same problem here, just after the upgrade to gcc 3.3:

In file included from Aaa_bison.c:56:
Aaa_intern.h:44:27: pasting "/" and "Xlib" does not give a valid preprocessing token
Aaa_intern.h:44:27: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:45:32: pasting "/" and "Xresource" does not give a valid preprocessing token
Aaa_intern.h:45:32: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:46:33: pasting "/" and "IntrinsicP" does not give a valid preprocessing token
Aaa_intern.h:46:33: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:47:33: pasting "/" and "cursorfont" does not give a valid preprocessing token
Aaa_intern.h:47:33: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:48:33: pasting "/" and "StringDefs" does not give a valid preprocessing token
Aaa_intern.h:48:33: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:50:27: pasting "/" and "Misc" does not give a valid preprocessing token
Aaa_intern.h:50:27: pasting "h" and ">" does not give a valid preprocessing token
Aaa_intern.h:51:33: pasting "/" and "Converters" does not give a valid preprocessing token
Aaa_intern.h:51:33: pasting "h" and ">" does not give a valid preprocessing token

------- Comment #2 From Alin Vaida 2003-08-13 02:00:13 0000 -------
Created an attachment (id=16024) [details]
fix gcc33

------- Comment #3 From Alin Vaida 2003-08-13 02:01:58 0000 -------
Created an attachment (id=16025) [details]
fix gcc33

------- Comment #4 From Alin Vaida 2003-08-13 02:10:00 0000 -------
Created an attachment (id=16026) [details]
fix gcc33

------- Comment #5 From Alin Vaida 2003-08-13 02:13:33 0000 -------
(From update of attachment 16026 [details])
This patch is from
http://lists.freebsd.org/pipermail/freebsd-ports/2003-July/002933.html

(Sorry about multiple postings, I got the impression that it didn't work the
1st and 2nd time :( )

------- Comment #6 From Travis Tilley (RETIRED) 2003-08-15 08:42:08 0000 -------
bump?
this is still an issue with gcc 3.3.1 and the latest gv ebuild (gv-3.5.8-r2)

------- Comment #7 From SpanKY 2003-09-11 19:11:15 0000 -------
added to cvs, thanks :)