Bug 20249 - gcc-2.96 won't build gcc-2.95.2
gcc-2.96 won't build gcc-2.95.2
Status: CLOSED NOTABUG
Product: Red Hat Linux
Classification: Retired
Component: gcc (Show other bugs)
7.0
i686 Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2000-11-02 15:35 EST by Need Real Name
Modified: 2007-04-18 12:29 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2000-11-02 15:35:18 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2000-11-02 15:35:15 EST
I'd go to the gcc groups and ask for help building this, but they've
made it perfectly clear that they won't support any issues stemming
from gcc-2.96.  So I'll post my problem here.  Maybe I'm just doing
something totally wrong...

Sitting in my home directory, I un-tar gcc-2.95.2.  Then I create a
directory named "gcc-build".  I cd into gcc-build, and run the
following command:

> ../gcc-2.95.2/configure --prefix=/usr --enable-languages=c,c++

This completes, so I move on to building:

> make bootstrap

Things seem to be building fine, but I come back later, and find:

/home/anger/gcc-build/gcc/xgcc -B/home/anger/gcc-build/gcc/
-B/usr/i686-pc-linux-gnu/bin/ -c -g -O2 -fvtable-thunks -D_GNU_SOURCE
-fno-implicit-templates -I. -I../../../gcc-2.95.2/libio -nostdinc++
-D_IO_MTSAFE_IO ../../../gcc-2.95.2/libio/indstream.cc
../../../gcc-2.95.2/libio/indstream.cc: In method `struct streampos
indirectbuf::seekoff(long long int, ios::seek_dir, int = 3)':
../../../gcc-2.95.2/libio/indstream.cc:82: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:85: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:87: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:89: conversion from `int' to
non-scalar type `streampos' requested
../../../gcc-2.95.2/libio/indstream.cc: In method `struct streampos
indirectbuf::seekpos(_G_fpos64_t, int = 3)':
../../../gcc-2.95.2/libio/indstream.cc:99: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:102: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:104: `struct streampos' used where a
`int' was expected
../../../gcc-2.95.2/libio/indstream.cc:106: conversion from `int' to
non-scalar type `streampos' requested
make[2]: *** [indstream.o] Error 1
make[2]: Leaving directory `/home/anger/gcc-build/i686-pc-linux-gnu/libio'
make[1]: *** [all-target-libio] Error 2
make[1]: Leaving directory `/home/anger/gcc-build'
make: *** [bootstrap] Error 2

Hmph.  So I wipe everything and try again, this time my build command
looks like:

> make -e CC=kgcc bootstrap

Same problem.
Comment 1 Jakub Jelinek 2000-11-03 09:21:10 EST
This is not related to gcc-2.96 at all, it is just that vanilla gcc-2.95.2
does not build on glibc 2.2 systems.
See http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00040.html
for a patch which cures it.
Comment 2 Need Real Name 2000-11-15 18:42:43 EST
The patched 2.95.2 chokes when parsing <sys/time.h>--

foo.c:
#include <sys/time.h>
int main()
{
 return 1;
}
--------
% gcc.2.95.2 foo.c
In file included from foo.c:1:
/usr/include/sys/time.h:69: two or more data types in declaration of `__tz'

I was able to do a brute-force fix by changing sys/cdefs.h line 162 from
#if !__GNUC_PREREQ (2,92)
to
#if !__GNUC_PREREQ (2,96)
disabling __restrict.

Neither elegant nor something that lets you sleep easily at night, I'm afraid.
Anyone have a sharper clue as to what's going wrong?

Note You need to log in before you can comment on or make changes to this bug.