[bug-notifications] [gcc4core 0004275]: 32-bit solaris 2.10 systems use solaris 2.8 includes
Mantis Bug Tracker
noreply at opencsw.org
Sun Dec 11 00:49:49 CET 2011
The following issue has been ASSIGNED.
======================================================================
https://www.opencsw.org/mantis/view.php?id=4275
======================================================================
Reported By: peff
Assigned To: maciej
======================================================================
Project: gcc4core
Issue ID: 4275
Category: packaging
Reproducibility: always
Severity: major
Priority: normal
Status: assigned
======================================================================
Date Submitted: 2010-02-15 11:52 CET
Last Modified: 2011-12-11 00:49 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
https://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