[gnu.gcc.bug] Bug, or minor annoyance, in `fixincludes'

eric@CSE.OGI.EDU (Eric Hanchrow) (01/11/90)

gcc version 1.35
Sun 386i
SunOS 4.0

This isn't the most critical bug in the world, but it's sort of annoying.

I ran the `fixincludes' script when I installed gcc, and everything
seemed fine from then on... And when I used gcc to compile Sunview
applications, and saw errors like `/usr/include/sundev/vuid_event.h:
Garbage at end of ifdef', I figured that meant I ought to compile with
the `-traditional' flag.  I did, and then all was well.  But then I
figured, why didn't `fixincludes' fix that include?  I looked at the
directory `/usr/local/lib/gcc-include', and saw that the sundev
directory was a symbolic link, namely

	`sundev -> ../cluster/devel/base_devel/include/sundev'

Now since that's a relative pathname, the link really doesn't point to
anything real.  So I suppose when gcc is searching for vuid_event.h,
it looks  there first, finds that there is no such directory as
/usr/local/lib/cluster ..., and just keeps searching, until it finds
the original Sun-supplied file in /usr/include.  Then since that
include file is non-ANSI, it complains.

I don't have the script around to look at (hadda save disk space and
put source onto tapes), but perhaps it uses `cp -r' to build the
gcc-include directory.  This is usually a disaster on Suns, what with
their forests of symbolic links.  `tar' would probably work better.

So I held my breath and copied the gcc-include directory from our Sun4
onto the Sun386.  Hope that doesn't cause obscure bizarre problems.

Anyhow, you might want to re-think that script in future releases.
	-------------------------------------------------------------------------
	|Eric Hanchrow		yamada-sun!eric@nosun.west.sun.com		|
	|Phase III Logic, Inc.	...!{tektronix, sun}!nosun!yamada-sun!eric	|
	|1600 N.W. 167th Place		Beaverton, OR 97006			|
	|Voice: (503)-645-0313		Fax: (503)-645-0207	as of 13-Dec-89	|
	-------------------------------------------------------------------------