Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 80263

Summary: 'configure' is called without --enable-clocale option specified while building the package from source rpm
Product: [Retired] Red Hat Linux Reporter: Andrey <andreypozdeev>
Component: gcc3Assignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-12-26 23:54:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
patch for gcc32.spec none

Description Andrey 2002-12-23 15:59:30 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830

Description of problem:
'configure' is invoked without --enable-clocale option specified. By default
clocale is set to 'generic'. Because of this package can't be built from
source-srpm. All 'c++locale.h' (for example
libstdc++-v3/include/i386-redhat-linux/bits) files in build tree are created as
links to libstdc++v3/config/locale/generic/c_locale.h.
'c_locale.h' contains declaration:
...
namespace std
{
  typedef int*                  __c_locale;
}
...
But due to this declaration I get the following error message:
....
/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
   static member function `static const short unsigned int*
   std::ctype<char>::classic_table()':
/usr/src/redhat/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/i386-redhat-l
inux/bits/ctype_noninline.h:58: `
   __ctype_b' undeclared (first use this function)
....
This error appears because of incompatibility with declaration of '__c_locale'
above.
If I specify option --enable-clocale=gnu for configure then
libstdc++-v3/include/i386-redhat-linux/bits/c++locale.h will point to
libstdc++v3/config/locale/gnu/c_locale.h. This 'c_locale.h' contains another
declaration for __c_locale:
...
namespace std
{
  typedef __locale_t            __c_locale;
}
...
It allowed me to succesfully build the package.


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


How reproducible:
Always

Steps to Reproduce:
1. rpm -i gcc-3.2-7.src.rpm
2. cd /usr/src/redhat
3. rpmbuild -bb WORK_DIR/SPECS/gcc32.spec
    

Actual Results:  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:
In
   static member function `static const short unsigned int*
   std::ctype<char>::classic_table()':
/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:
`
   __ctype_b' undeclared (first use this function)
....
make[4]: *** [locale.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
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.88985 (%build)


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

Expected Results:  Package must build.

Additional info:

Comment 1 Andrey 2002-12-23 16:01:33 UTC
Created attachment 88866 [details]
patch for gcc32.spec

this patch forces configure to be called with option --enable-clocale=gnu

Comment 2 Jakub Jelinek 2002-12-26 23:54:07 UTC
clocale gnu is the default actually if all the tests for it succeed.
Some of the configury tests are done using de_DE locale, so you need that
installed.
This ishandled by newer gcc rpms in rawhide.