bug-gforth
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]