Hi,<br><br>I'm trying to cross compile ECL for Linux on ARM EABI, and have run into some problems, the end result being that ECL crashes on the target device. I would appreciate any assistance in debugging or getting this build to work. Thanks in advance.<br>
<br>I have outlined my steps below (some of this may or may not be related, so please stay with me):<br><br>I am compiling using a x86 Linux machine to a Nokia n810 running Maemo (a Linux derivative) on ARM EABI, using the Maemo SDK+ toolchain. I am trying to compile ECL from the newest CVS, using an ECL I just built from CVS on the build machine.<br>
<br>When I started the cross compile, I didn't know what values were appropriate in cross_config for ARM processors, so I just left the defaults. (I can't find any references online for this, so I still can't check whether they were correct or not.) If any of the following configuration settings are wrong, please let me know:<br>
<br>ECL_STACK_DIR=up<br>CL_FIXNUM_TYPE=int<br>CL_FIXNUM_BITS=32<br>CL_FIXNUM_MAX=536870911L<br>CL_FIXNUM_MIN=-536870912L<br>ECL_BIGENDIAN=no<br>ECL_NEWLINE=LF<br>### 1.5) Can we guess how many characters are available for reading from<br>
### the FILE structure?<br>### 0 = no<br>### 1 = (f)->_IO_read_end - (f)->_IO_read_ptr<br>### 2 = (f)->_r<br>### 3 = (f)->_cnt<br>ECL_FILE_CNT=0<br>ECL_TO_RUN=/usr/bin/ecl<br>
<br>Continuing, the build process seemed to go well enough, except for a failure to compile defsystem.lisp:<br><br>;;; No class named TOPOLOGICAL-SORT-NODE.<br>;;; Error: in file ext:defsystem;defsystem.lisp, position 117, and form <br>
;;; (DEFINE-STRUCTURE 'TOPOLOGICAL-SORT-NODE 'TOPSORT- ...)<br>;;; The form (SI::DEFINE-STRUCTURE 'TOPOLOGICAL-SORT-NODE 'TOPSORT- 'NIL 'NIL '((COLOR :WHITE :TYPE (MEMBER :GRAY :BLACK :WHITE))) '((COLOR :WHITE (MEMBER :GRAY :BLACK :WHITE) NIL 0 NIL)) 'COPY-TOPOLOGICAL-SORT-NODE 'NIL 'NIL 'NIL '(MAKE-TOPOLOGICAL-SORT-NODE) '1 'NIL 'NIL 'TOPOLOGICAL-SORT-NODE-P) was not evaluated successfully.<br>
Cannot find out entry point for binary file<br>;;; You are recommended to compile again.Broken at TOP-LEVEL. File: #P"/home/elliott/src/ecl-9.1.0/src/lsp/top.lsp" (Form #26)No restarts available.<br><br>I figured I could live without defsystem, so I continued and finished the build.<br>
<br>The build compiled, and I built a debian package and attempted to install it on the phone. I immediately found out that I was missing libgc1c2. Using lenny debian sources, I found a binary, with one minor problem: it depended on libc6 >= 2.7 and the device comes with 2.5. Hoping it would work anyways, I installed libgc1c2, and then ecl. When I ran ecl, I got the following error:<br>
<br># ecl<br><br>Internal or unrecoverable error in:<br><br>Lisp initialization error.<br><br> [22: Invalid argument]<br>Aborted<br><br>Hoping to find out more about this rather opaque error, I installed gdb and got a backtrace:<br>
<br># gdb ecl<br>GNU gdb 6.8-debian<br>Copyright (C) 2008 Free Software Foundation, Inc.<br>License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>><br>
This is free software: you are free to change and redistribute it.<br>There is NO WARRANTY, to the extent permitted by law. Type "show copying"<br>and "show warranty" for details.<br>This GDB was configured as "arm-linux-gnueabi"...<br>
(no debugging symbols found)<br>(gdb) run<br>Starting program: /usr/bin/ecl<br>(no debugging symbols found)<br><br>Internal or unrecoverable error in:<br><br>Lisp initialization error.<br><br> [22: Invalid argument]<br><br>
Program received signal SIGABRT, Aborted.<br>0x4024ce74 in raise () from /lib/libc.so.6<br>(gdb) where<br>#0 0x4024ce74 in raise () from /lib/libc.so.6<br>#1 0x4024e450 in abort () from /lib/libc.so.6<br>#2 0x4011a990 in ecl_internal_error ()<br>
from /usr/lib/libecl.so.9.1<br>#3 0x4011b19c in ?? ()<br> from /usr/lib/libecl.so.9.1<br><br>Which still leaves me with no clear idea of what exactly is going wrong.<br><br>Given the above information, what seems the most likely cause of the error? How might I be able to get better information for debugging?<br>
<br>Do I need to worry about compatibility with the libc version? (I have tried and failed to upgrade libc on the device, so if this is the issue than I probably need to go and compile libgc1c2 for the old libc, not the other way around.)<br>
<br>Does anyone have recent experience with compiling ECL for an ARM (especially EABI) device? Are there any known issues involved? Does anyone currently have a working binary?<br><br>Thanks again. Any assistence would be appreciated.<br>
<br><div class="gmail_quote">On Mon, Feb 23, 2009 at 7:55 PM, Elliott Slaughter <span dir="ltr"><<a href="mailto:elliottslaughter@gmail.com">elliottslaughter@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
Has anyone here had any success in getting ECL to compile/run on a<br>
Nokia phone (e.g. the S60)?<br>
<br>
Is this something I could reasonably expect to get up and running in a week?<br>
<br>
Thanks.<br>
<font color="#888888"><br>
--<br>
Elliott Slaughter<br>
<br>
"Any road followed precisely to its end leads precisely nowhere." -<br>
Frank Herbert<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Elliott Slaughter<br><br>"Any road followed precisely to its end leads precisely nowhere." - Frank Herbert<br>