OpenCSW Bug Tracker


Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0004275 [gcc4core] packaging major always 2010-02-15 11:52 2011-12-11 00:50
Reporter peff View Status public  
Assigned To maciej
Priority normal Resolution fixed  
Status closed  
Summary 0004275: 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)

Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0007434)
dam (administrator)
2010-02-15 11:54

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.
(0009465)
maciej (reporter)
2011-12-11 00:50

This is now fixed. The workaround was to build the 5.10 package on Solaris 10. Updated packages, gcc-4.6.2, are now in unstable.


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker