Subject: [clisp-list] CLISP on iPaq running Linux?

From: Ola Rinta-Koski <[email-masked]>
Date: Tue, 8 May 2001 13:31:25 +0300

Has anybody compiled Clisp for a Compaq iPaq running Linux?
  It has an Intel StrongARM processor and there seems to be
  (at least some) ARM support in the Clisp sources, but my
  first attempt showed it doesn't compile out of the box.
-- 
        Ola Rinta-Koski                                 [email-masked]
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com

---

From: Sam Steingold <[email-masked]>
Date: 08 May 2001 11:57:05 -0400

> * In message <[email-masked]>
> * On the subject of "[clisp-list] CLISP on iPaq running Linux?"
> * Sent on Tue, 8 May 2001 13:31:25 +0300
> * Honorable Ola Rinta-Koski <[email-masked]> writes:
>

you do not give enough information, so I guess I will have to give you
the standard advice: try compiling with -DSAFETY=3.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Live free or die.

---

From: Ola Rinta-Koski <[email-masked]>
Date: Tue, 8 May 2001 19:38:59 +0300

> the standard advice: try compiling with -DSAFETY=3.

gcc -O -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -DUNICODE -c spvw.c
In file included from spvw.d:21:
lispbibl.d:1426: #error "Preferred integer sizes depend on CPU -- GrÃ¶Ãen intBWsize, intWLsize, intBWLsize neu einstellen!"
lispbibl.d:1600: #error "Preferred digit size depends on CPU -- GrÃ¶Ãe intDsize neu einstellen!"
make: *** [spvw.o] Error 1

gcc -dumpspecs gives, among other data, the following defines:
-Dunix -D__arm__ -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(arm) -Amachine(arm) -D__ELF__

---

From: Sam Steingold <[email-masked]>
Date: 08 May 2001 13:15:26 -0400

> * In message <[email-masked]>
> * On the subject of "Re: [clisp-list] CLISP on iPaq running Linux?"
> * Sent on Tue, 8 May 2001 19:38:59 +0300

please try this patch:

--- lispbibl.d.~1.185.~ Tue Apr 10 18:49:13 2001
+++ lispbibl.d  Tue May  8 13:16:20 2001
@@ -157,7 +157,7 @@
 #if defined(__vax__)
   #define VAX
 #endif
-#if defined(arm) || defined(__arm)
+#if defined(arm) || defined(__arm) || defined(__arm__)
   #define ARM
 #endif
 #ifdef WIN32

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
In the race between idiot-proof software and idiots, the idiots are winning.

---

From: Sam Steingold <[email-masked]>
Date: 09 May 2001 15:16:15 -0400

> * In message <[email-masked]>
> * Sent on Wed, 9 May 2001 10:32:10 +0300
>   Not much luck:

Please get the current CLISP version from the CVS.
Bruno just fixed this (or so we hope :-)
You will find the instructions on http://clisp.cons.org.

PS. please keep clisp-list in CC.
    no help whatsoever will be provided via personal e-mail.
    you must either use the mailing lists or the sourceforge bug
    tracking facilities.

---

From: Ola Rinta-Koski <[email-masked]>
Date: Thu, 10 May 2001 12:25:43 +0300

> Bruno just fixed this (or so we hope :-)

  Now the compilation stops here:

gcc -O -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -DUNICODE -c lisparit.c
In file included from lisparit.d:22:
arilev1.d:261: ariarm.c: No such file or directory
make: *** [lisparit.o] Error 1
-- 
        Ola Rinta-Koski                                 [email-masked]
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com

---

From: Sam Steingold <[email-masked]>
Date: 10 May 2001 09:42:56 -0400

> * In message <[email-masked]>
> * Sent on Thu, 10 May 2001 12:25:43 +0300

don't despair - note that each time you get a little farther!

> make: *** [lisparit.o] Error 1

you forgot the original advice - add -DSAFETY=3 to CFLAGS in the
generated Makefile.
we do not have assembly for ARM, and SAFETY=3 disables assembly.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
The only thing worse than X Windows: (X Windows) - X

---

From: Ola Rinta-Koski <[email-masked]>
Date: Thu, 10 May 2001 17:34:40 +0300

> don't despair - note that each time you get a little farther!

  Indeed. This time I got as far as the linker:
gcc -O -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -DUNICODE -DSAFETY=3 -x none spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o array.o hashtabl.o list.o package.o record.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o unixaux.o modules.o libsigsegv.a libintl.a libiconv.a libreadline.a  -lncurses -ldl  -o lisp.run

  but fell on undefined references to the following:

  divu_3216_1616_ mulu32_

---

From: Sam Steingold <[email-masked]>
Date: 10 May 2001 12:27:56 -0400

> make: *** [lisparit.o] Error 1

this is strange.  ariarm.c should have been generated from ariarm.d.
please look at src/makemake.in (search for ariarm).
Maybe you could debug why $cpu is not set to "arm"?
(otherwise "ariarm" is added to $ARI_ASMS).
Debugging a shell script is simple: you add " -xv" to "#!/bin/sh" on the
first line, redirect the extensive output to a file, and examine it with
Emacs.

Thanks for your help!

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
The software said it requires Windows 3.1 or better, so I installed Linux.

---

From: Ola Rinta-Koski <[email-masked]>
Date: Fri, 11 May 2001 10:15:39 +0300

> Maybe you could debug why $cpu is not set to "arm"?

  In makemake, this fails to set it:
if [ "$host_cpu" = arm -o $TSYS = acorn ] ; then
  cpu=arm
fi

  because $host_cpu is 'armv4l'.

  PS:
  I should note that I'm not actually compiling Clisp on a real iPaq,
  but rather on the public development machine set up by handhelds.org
  as skiffcluster[1-4].handhelds.org; they are used to make the
  handhelds.org iPaq Linux distribution, I believe, so for all intents
  and purposes they should behave the same.
-- 
        Ola Rinta-Koski                                 [email-masked]
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com

---

From: Sam Steingold <[email-masked]>
Date: 11 May 2001 10:24:25 -0400

> * In message <[email-masked]>
> * Sent on Fri, 11 May 2001 10:15:39 +0300

fixed. please do
$ cvs up src/makemake.in
and remake the Makefile.

>   and purposes they should behave the same.

How can I get access to that machine?
(I don't want to create a project &c - to much hassle)

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
I don't like cats! -- Come on, you just don't know how to cook them!

---

From: Ola Rinta-Koski <[email-masked]>
Date: Mon, 14 May 2001 09:21:31 +0300

> and remake the Makefile.

  Still fails in the linker, with missing divu_3216_1616_ and mulu32_ 

> (I don't want to create a project &c - to much hassle)

  You don't have to either - see
  http://www.handhelds.org/projects/skiffcluster.html
-- 
        Ola Rinta-Koski                                 [email-masked]
        Cyberell Oy                                     +358 41 467 2502
        Rauhankatu 8 C, FIN-00170 Helsinki, FINLAND	www.cyberell.com