[bug-notifications] [gcc4core 0004275]: 32-bit solaris 2.10 systems use solaris 2.8 includes

Mantis Bug Tracker noreply at opencsw.org
Mon Feb 15 11:54:44 CET 2010


A NOTE has been added to this issue. 
====================================================================== 
http://www.opencsw.org/mantis/view.php?id=4275 
====================================================================== 
Reported By:                peff
Assigned To:                
====================================================================== 
Project:                    gcc4core
Issue ID:                   4275
Category:                   packaging
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2010-02-15 11:52 CET
Last Modified:              2010-02-15 11:54 CET
====================================================================== 
Summary:                    32-bit solaris 2.10 systems use solaris 2.8 includes
Description: 
Compiling any program with system headers fails on my 32-bit solaris 2.10
box fails. For example:

  $ echo '#include <sys/time.h>' >foo.c
  $ gcc -c foo.c
  In file included from
/opt/csw/gcc4/lib/gcc/i386-pc-solaris2.8/4.3.3/include-fixed/sys/types.h:574,
                   from /usr/include/sys/time.h:99,
                   from foo.c:1:
  /usr/include/sys/select.h:140: error: redefinition of parameter
‘_RESTRICT_KYWD’
  /usr/include/sys/select.h:140: error: previous definition of
‘_RESTRICT_KYWD’ was here

The problem is that /usr/include/sys/select.h is from solaris2.10, and
includes sys/feature_test.h, which is supposed to define _RESTRICT_KYWD.
However, we end up including
/opt/csw/gcc4/lib/gcc/i386-pc-solaris2.8/4.3.3/include-fixed/sys/feature_test.h,
which does not defined that macro.

The package seems to ship with a solaris2.10 compiler for amd64, but not
for i386. And on my machine:

  $ uname -a
  SunOS sol10 5.10 Generic_141445-09 i86pc i386 i86pc
  $ isainfo -b
  32
  $ gcc -v
  Using built-in specs.
  Target: i386-pc-solaris2.8
  Configured with: ../gcc-4.3.3/configure --prefix=/opt/csw/gcc4
--exec-prefix=/opt/csw/gcc4 --with-gnu-as --with-as=/opt/csw/bin/gas
--without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-nls
--with-included-gettext --with-libiconv-prefix=/opt/csw --with-x
--with-mpfr=/opt/csw --with-gmp=/opt/csw --enable-java-awt=xlib
--enable-libada --enable-libssp --enable-objc-gc --enable-threads=posix
--enable-stage1-languages=c --enable-languages=ada,c,c++,fortran,java,objc
  Thread model: posix
  gcc version 4.3.3 (GCC)


====================================================================== 

---------------------------------------------------------------------- 
 (0007434) dam (administrator) - 2010-02-15 11:54
 http://www.opencsw.org/mantis/view.php?id=4275#c7434 
---------------------------------------------------------------------- 
The current implementation uses isaexec to differentiate between 32/64 bit,
32 bit is compiled on Solaris 8, 64 bit in Solaris 10. I think to solve you
problem we would need a special Solaris 10 package with both 32/64 compiled
on Solaris 10.



More information about the bug-notifications mailing list