[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gforth] Can't compile Gforth 0.7.0 on Solaris (sparc)
From: |
Anton Ertl |
Subject: |
Re: [Bug-gforth] Can't compile Gforth 0.7.0 on Solaris (sparc) |
Date: |
Thu, 18 Feb 2010 17:49:20 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Thu, Feb 18, 2010 at 05:12:29PM +0200, Torbjorn Kristoffersen wrote:
> I tried compiling Gforth 0.7.0 on Solaris.
>
> $ uname -a
> SunOS battlestar 5.11 snv_127 sun4u sparc SUNW,Sun-Blade-1000
I tested before release on
SunOS t1000 5.10 Generic_118833-17 sun4v sparc SUNW,Sun-Fire-T1000
with gcc-4.0.2 and just tested again, and it works there (except the
final libtool part, but one can use Gforth without that).
> $ ./configure
> ...
> NOTE: It fails on AC_CHECK_SIZEOF(off_t) but I commented that out in
> configure.in, so it would let me continue.
How does it fail? It works on our system:
checking for off_t... yes
checking for off_t... (cached) yes
checking size of off_t... 8
> ...
> $ make
> ... snip snip snip ...
> gcc -I./../arch/sparc -I. -Wall -O2 -DHAVE_CONFIG_H -DFORCE_LL
> -DDEFAULTPATH='".:/usr/local/lib/gforth/site-forth:/usr/local/share/gforth/site-forth:/usr/local/lib/gforth/0.7.0:/usr/local/share/gforth/0.7.0"'
> -fno-gcse -fno-strict-aliasing -fno-crossjumping -fno-reorder-blocks
> -falign-labels=1 -falign-loops=1 -falign-jumps=1 -fno-defer-pop
> -fcaller-saves -fno-inline -DGFORTH_DEBUGGING -o engine-ll.o -c ./engine.c
> In file included from
> /opt/csw/gcc4/lib/gcc/sparc-sun-solaris2.8/4.3.4/include-fixed/sys/types.h:574,
> from /usr/include/sys/time.h:94,
> from ./forth.h:24,
> from ./engine.c:28:
> /usr/include/sys/select.h:168: error: redefinition of parameter
> '_RESTRICT_KYWD'
> /usr/include/sys/select.h:168: error: previous definition of
> '_RESTRICT_KYWD' was here
That looks like _RESTRICT_KYWD should be #defined somewhere, but
isn't. On our system it is defined in sys/feature_tests.h.
You could try to generate the preprocessed file(s) and see which files
the preprocessor included and what else it did.
> In file included from ./forth.h:25,
> from ./engine.c:28:
> /usr/include/unistd.h: In function '_exit':
> /usr/include/unistd.h:291: error: expected declaration specifiers before
> '__NORETURN'
There seems to be another #define missing (in sys/ccompile.h on our
system).
> /usr/include/unistd.h:298: error: storage class specified for parameter
> 'fattach'
> /usr/include/unistd.h:301: error: storage class specified for parameter
> 'fchdir'
...
These are probably followup errors comong from the __NORETURN.
> The compile output errors go on forever. It leads me to think that perhaps
> something on my system is wrong? It is a fresh install of Solaris though
> (SXCE),
> and I've successfully compiled other things with my gcc installation without
> any issues.
It may be necessary to set certain flags (or avoid setting certain
flags) to activate the #defines, but with the data I have I cannot
give specific advice.
- anton