Subject: [clisp-list] CLisp configure and ANSI C compilers

From: Marco Antoniotti <[email-masked]>
Date: Thu, 30 Mar 2000 19:13:04 +0200 (MET DST)

Hi

I am trying to compile the latest release from the source on a Solaris
2.5.1 system.  I am trying to use both SUNSWPro cc and gcc 2.7.2.2.

However, as soon as I issue the configure command

marcoxa@galileo:clisp 80> ./configure --prefix=$HOME
executing src/configure ...
creating cache ./config.cache
checking for gcc... cc
checking whether the C compiler (cc  ) works... yes
checking whether the C compiler (cc  ) is a cross-compiler... no
checking whether we are using GNU C... no
checking how to run the C preprocessor... /usr/ccs/lib/cpp
checking for AIX... no
checking whether using GNU C... no
checking whether using C++... no
checking whether using ANSI C... no

I.e. somehow the C compiler is not recognized as ANSI.  Doing a
'setenv CC "gcc -ansi"' does not help either.

The configuration process completes without problems, however, when I
finally 'cd' into the 'src' directory and issue

	makemake ....

I get

        Pre-ANSI-C compilers are not supported.

which would seem to be a direct consequence of configuration process.

I did try many times by removing all the config.cache and
config.status, but couldn't get past the initial "error".

Any idea about how to fix this?

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa

---

From: Sam Steingold <[email-masked]>
Date: 30 Mar 2000 14:20:39 -0500

>>>> In message <[email-masked]>
>>>> On the subject of "[clisp-list] CLisp configure and ANSI C compilers"
>>>> Sent on Thu Mar 30 13:23:09 EST 2000
>>>> Honorable Marco Antoniotti <[email-masked]> writes:
 >> 

I just built the current snapshot on solaris 2.5.1 with gcc 2.95.2, the
binary distribution is available in ftp://cellar.goems.com/ftp/pub/clisp/

this, of course, doesn't answer your question...

-- 
Sam Steingold (http://www.podval.org/~sds)
Micros**t is not the answer.  Micros**t is a question, and the answer is Linux,
(http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation.
Why do we want intelligent terminals when there are so many stupid users?

---

From: Bruno Haible <[email-masked]>
Date: Thu, 30 Mar 2000 21:37:46 +0200 (MET DST)

> checking whether using ANSI C... no

This is a little bit odd. The SUNWspro cc _is_ an ANSI C compiler. I get
on SPARC Solaris 2.5.1, with CC set to "cc":

creating cache ./config.cache
checking for gcc... cc
checking whether the C compiler (cc  ) works... yes
checking whether the C compiler (cc  ) is a cross-compiler... no
checking whether we are using GNU C... no
checking how to run the C preprocessor... cc -E
checking for AIX... no
checking whether using GNU C... no
checking whether using C++... no
checking whether using ANSI C... yes

> I.e. somehow the C compiler is not recognized as ANSI.

A look in config.log should reveal why.

> Doing a 'setenv CC "gcc -ansi"' does not help either.

And simply not setting CC at all? Should find gcc and use it.

> config.status, but couldn't get past the initial "error".

To really remove all traces from previous builds, I recommend "make distclean".
config.cache and config.status are the most important files to remove, but
there are some others.

Other than that, you should be able to use the Solaris binaries in

  ftp://clisp.cons.org/pub/lisp/clisp/binaries/2000-03-06/
  ftp://clisp.sourceforge.net/pub/clisp/2000-03-06/

(Solaris 2.4 binaries are usable on Solaris 2.5.1 or newer. But not on
Solaris 2.5, because that release lacks the support for clisp's generational
GC.)

Bruno

---

From: Marco Antoniotti <[email-masked]>
Date: Fri, 31 Mar 2000 09:10:54 +0200 (MET DST)

> Delivery-Date: Thu, 30 Mar 2000 21:38:10 +0200
> From: Bruno Haible <[email-masked]>
> Date: Thu, 30 Mar 2000 21:37:46 +0200 (MET DST)
> Cc: [email-masked]
> Sender: [email-masked]
> X-Mailman-Version: 1.1
> Precedence: bulk
> List-Id: CLISP user discussion <clisp-list.lists.sourceforge.net>
> X-BeenThere: [email-masked]
> 
> Marco Antoniotti writes:
> > 
> > Hi
> > 

I agree.  It is very odd.

> A look in config.log should reveal why.

Not really.

> And simply not setting CC at all? Should find gcc and use it.

That's the first thing I tried.

> config.cache and config.status are the most important files to remove, but

Ok.  Let me try that.

> Solaris 2.5, because that release lacks the support for clisp's generational

Good.  If worse comes to worse, I will just grab the binaries.

Cheers

---

From: Marco Antoniotti <[email-masked]>
Date: Fri, 31 Mar 2000 09:12:35 +0200 (MET DST)

> To really remove all traces from previous builds, I recommend "make
> distclean". config.cache and config.status are the most important
> files to remove, but there are some others.

Ooops.  I just realized that I did not generate the Makefile :)

Cheers

---

From: Marco Antoniotti <[email-masked]>
Date: Fri, 31 Mar 2000 09:48:41 +0200 (MET DST)

Arcana discovered.

By looking at the autoconf/*.m4 files, I got the hint to look at the
CPP checks (in particular to AC_EGREP_CPP check called by CL_CC_ANSI).
It turns I had a CPP environment variable set to /usr/css/lib/cpp, the
Sun CPP.  Somehow this CPP made the system fail the ANSI test.

Removing the variable from the environment cause the configure script
to use 'gcc -E' as C preprocessor, and the ANSI check succeded.

Let's see if I will be able to generate the Makefile and compile now.

Cheers

---

From: Marco Antoniotti <[email-masked]>
Date: Fri, 31 Mar 2000 09:58:12 +0200 (MET DST)

One more data point.

With SUNSWPro cc I get the following warnings.

touch tests.passed.sparc-sun-solaris2.5.1
cc  -I. -I../../ffcall/callback -S ../../ffcall/callback/minitests.c
"../../ffcall/callback/tests.c", line 107: warning: initializer does not fit or is out of range: -1
"../../ffcall/callback/tests.c", line 274: warning: initializer does not fit or is out of range: -1
"../../ffcall/callback/tests.c", line 399: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 409: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 410: warning: non-constant initializer: op "+="

... more of the same

"../../ffcall/callback/tests.c", line 703: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 704: warning: non-constant initializer: op "+="
cc  -I. -I../../ffcall/callback -c ../../ffcall/callback/minitests.c
"../../ffcall/callback/tests.c", line 107: warning: initializer does not fit or is out of range: -1
"../../ffcall/callback/tests.c", line 274: warning: initializer does not fit or is out of range: -1
"../../ffcall/callback/tests.c", line 399: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 409: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 410: warning: non-constant initializer: op "+="

... more of the same...

"../../ffcall/callback/tests.c", line 703: warning: non-constant initializer: op "+="
"../../ffcall/callback/tests.c", line 704: warning: non-constant initializer: op "+="
/bin/sh ./libtool --mode=link cc   minitests.o libcallback.la -o minitests
cc minitests.o .libs/libcallback.a -o minitests
./minitests > minitests.out

Just to let you know.

Cheers