Bug 75889

Summary: Cannot build the gcc-3.2 binary rpm from the gcc-3.2 source rpm using rpmbuild --rebuild
Product: [Retired] Red Hat Linux Reporter: Need Real Name <jam>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: edhlinux
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: 3.2.2-5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-08-05 16:12:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2002-10-14 16:40:12 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826

Description of problem:
I cannot build gcc-3.2 on a rh8.0 system. I spent alot of time just trying to
build gcc-3.2 from fresh sources. when that failed, I tried to build from the
rh8.0 gcc-3.2 SRPM, and it fails the same way.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. rpmbuild --rebuild gcc-3.2-7.src.rpm
2. go get a cup of coffee
3.
	

Actual Results:  The build fails.  I've included a tail of the output in the
additional info below.  This fails on every RH8.0 system i've tried, and that
includes a 2.0ghz P4, a 400mhz celeron and a 333Mhz P2 machine.

Additional info:

ibstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:85: at
   this point in file
In file included from ../../../../libstdc++-v3/src/locale.cc:406:
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
At
   global scope:
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:103:
redefinition
   of `std::ctype<char>::ctype(int*, const short unsigned int*, bool, unsigned 
   int)'
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:78:
`
   std::ctype<char>::ctype(int*, const short unsigned int* = 0, bool = false, 
   unsigned int = 0)' previously defined here
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:103:
no
   `std::ctype<char>::ctype(int*, const short unsigned int*, bool, unsigned 
   int)' member function declared in class `std::ctype<char>'
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
In
   constructor `std::ctype<char>::ctype(int*, const short unsigned int*, bool, 
   unsigned int)':
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:110:
invalid
   conversion from `char*' to `int'
/usr/include/locale.h:125: too few arguments to function `char* setlocale(int, 
   const char*)'
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:110:
at
   this point in file
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/bits/locale_facets.h:124:
confused by earlier errors, bailing out
make[4]: *** [locale.lo] Error 1
make[4]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3'
make[2]: *** [all-recursive-am] Error 2
make[2]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux'
make: *** [bootstrap-lean] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.44088 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.44088 (%build)

Comment 1 Jakub Jelinek 2002-10-14 16:50:40 UTC
Run something like localedef -f ISO-8859-1 -i de_DE /var/tmp/de_DE
and set LOCPATH env variable to /var/tmp:/usr/lib/locale before you start the
build. libstdc++ needs de_DE locale to be built properly.
Next gcc rpms will do this automagically if /usr/lib/locale/de_DE is not
present.

Comment 2 Liu Adams 2003-01-27 17:14:41 UTC
I followed the above instructions but the same error remains.


Comment 3 David A. Wheeler 2003-02-20 17:52:14 UTC
I'm also unable to rebuild gcc 3.2.

I install the gcc32 src rpm, do an rpmbuild on it to recompile gcc, and it fails.
The rpmbuild command I used is trivial:
  cd /usr/src/redhat/SPECS; rpmbuild -bc gcc32.spec
I'm using a completely stock, unmodified
Red Hat Linux 8.0 with the "everything" installation option
(so I should have all required build components).

Here is the output, captured by the "script" command:


/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/gcc/xgcc
-shared-libgcc
-B/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/gcc/ -nostdinc++
-L/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/src
-L/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/src/.libs
-B/usr/i386-redhat-linux/bin/ -B/usr/i386-redhat-linux/lib/ -isystem
/usr/i386-redhat-linux/include -nostdinc++
-I/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux
-I/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include
-I../../../../libstdc++-v3/libsupc++ -I../../../../libstdc++-v3/libmath -O2
-march=i386 -mcpu=i686 -D_GNU_SOURCE -fno-implicit-templates -Wall -Wno-format
-W -Wwrite-strings -Winline -fdiagnostics-show-location=once -ffunction-sections
-fdata-sections -g -c ../../../../libstdc++-v3/src/locale.cc  -fPIC -DPIC -o
.libs/locale.o^M
In file included from ../../../../libstdc++-v3/src/locale.cc:406:^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
In^M
   static member function `static const short unsigned int* ^M
   std::ctype<char>::classic_table()':^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:58:
`^M
   __ctype_b' undeclared (first use this function)^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:58:
(Each^M
   undeclared identifier is reported only once for each function it appears ^M
   in.)^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:59:
invalid^M
   conversion from `char*' to `int'^M
/usr/include/locale.h:125: too few arguments to function `char* setlocale(int, ^M
   const char*)'^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:59:
at^M
   this point in file^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
In^M
   constructor `std::ctype<char>::ctype(int*, const short unsigned int*, bool, ^M
   unsigned int)':^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:82:
`^M
   __ctype_toupper' undeclared (first use this function)^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:83:
`^M
   __ctype_tolower' undeclared (first use this function)^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:85:
invalid^M
   conversion from `char*' to `int'^M
/usr/include/locale.h:125: too few arguments to function `char* setlocale(int, ^M
   const char*)'^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:85:
at^M
   this point in file^M
In file included from ../../../../libstdc++-v3/src/locale.cc:406:^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
At^M
   global scope:^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:103:
redefinition^M
   of `std::ctype<char>::ctype(int*, const short unsigned int*, bool, unsigned ^M
   int)'^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:78:
`^M
   std::ctype<char>::ctype(int*, const short unsigned int* = 0, bool = false, ^M
   unsigned int = 0)' previously defined here^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:103:
no^M
   `std::ctype<char>::ctype(int*, const short unsigned int*, bool, unsigned ^M
   int)' member function declared in class `std::ctype<char>'^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:
In^M
   constructor `std::ctype<char>::ctype(int*, const short unsigned int*, bool, ^M
   unsigned int)':^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:110:
invalid^M
   conversion from `char*' to `int'^M
/usr/include/locale.h:125: too few arguments to function `char* setlocale(int, ^M
   const char*)'^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-linux/bits/ctype_noninline.h:110:
at^M
   this point in file^M
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/bits/locale_facets.h:124:
confused by earlier errors, bailing out^M
make[4]: *** [locale.lo] Error 1^M
make[4]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/src'^M
make[3]: *** [all-recursive] Error 1^M
make[3]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3'^M
make[2]: *** [all-recursive-am] Error 2^M
make[2]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3'^M
make[1]: *** [all-target-libstdc++-v3] Error 2^M
make[1]: Leaving directory
`/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux'^M
make: *** [bootstrap-lean] Error 2^M
error: Bad exit status from /var/tmp/rpm-tmp.69658 (%build)^M
^M
^M
RPM build errors:^M
    Bad exit status from /var/tmp/rpm-tmp.69658 (%build)^M



Comment 4 Jakub Jelinek 2003-08-05 16:12:27 UTC
Should be fixed in gcc-3.2-10 and later.