Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jul 2004 14:03:00 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        dwhite@gumbysoft.com
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: syntax errors in standard headers!?
Message-ID:  <200407262103.i6QL30Uj058231@gw.catspoiler.org>
In-Reply-To: <20040726130939.J32820@carver.gumbysoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26 Jul, Doug White wrote:
> On Sat, 24 Jul 2004, Evan Dower wrote:
> 
>> WIth the instability issues of late, I recently had a crash in the middle of
>> portupgrading. This left many packages with no +CONTENTS file. Thus I
>> figured I would simply reinstall them. Unfortunately when I try to reinstall
>> any of them I tend to get errors such as:
>> /usr/include/stdlib.h:46: error: syntax error before "typedef"
>> and
>> /usr/include/locale.h:42: error: syntax error before "struct"
>>
>> I get all kinds of other errors too. Basically not a whole lot is working
>> properly, even though I have updated -CURRENT since the crash. Most recently
>> on Thursday.
> 
> Some port's .h file probably got corrupted and its leaving things in an
> insconsistent state when the system headers come along. Inspect a file
> that doesn't compile and trace the included files to find the corrupted
> one.

gcc's -E option comes in very handy for debugging problems like this.

	Direct the package build output to a file.

	Go to the directory that the compiler was running in when it
        croaked.

	Execute the compiler command that croaked, with the addition of
        the -E option, and the removal of the -o outputfile option.
        You'll probably want to redirect the output to a file.

The -C and -dD options may also be helpful.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407262103.i6QL30Uj058231>