I tried building the tip.  First, let me qualify, while I'm handy with Lisp itself (and getting emacs running), I'm from more of a MS/Devstudio background.  So if I overlook something in what you've said or something obvious it's not laziness or belligerence; but I may generally not have gotten it.

As to your question:  It's theoretically possible that if I get you a provisioning profile you could run a binary on a modern iPod; but to do any real debugging you'd need XCode etc. . .

What I just attempted:
1.  I just reimplemented the instructions at the link I sent you earlier, to the same results - simulator worked, device build looped churning ram until running out of ram.

2.  I pulled the tip from sourceforge git clone git://ecls.git.sourceforge.net/gitroot/ecls/ecl and configured/built it standalone on the mac.  This compiled; but not meaningful for iOS.

3.  I pulled the tip from sourceforge git clone git://ecls.git.sourceforge.net/gitroot/ecls/ecl and ran the build.sh script in the instructions.  I did NOT run the patch (as it would corrupt the makefile in a prior attempt).  However, hit a compile/link error

Step 3 yielded the  error below:  Is this something trivial I can change?

 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -fPIC -fno-common -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\" -DPACKAGE_VERSION=\"7.1\" "-DPACKAGE_STRING=\"gc 7.1\"" -DPACKAGE_BUGREPORT=\"Hans.Boehm@hp.com\" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 -DPACKAGE=\"gc\" -DVERSION=\"7.1\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DHAS_X86_THREAD_STATE32___EAX=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I/Users/mlamari/ecl/kriyative-ecl-iphone-builder-16a9276/ecl_tip_3/src/gc/include -fexceptions -I libatomic_ops/src -g -arch i386 -I/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -fexceptions -fvisibility=hidden -mmacosx-version-min=10.6 -gdwarf-2 -fobjc-abi-version=2 -D__IPHONE_OS_VERSION_MIN_REQUIRED=30000 -D_DARWIN_USE_64_BIT_INODE -DAPPLE -DIPHONE -DIPHONE_SIMULATOR -DIPHONE_SDK_VER=420 -g -arch i386 -I/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type -Wunused-variable -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk -fexceptions -fvisibility=hidden -mmacosx-version-min=10.6 -gdwarf-2 -fobjc-abi-version=2 -D__IPHONE_OS_VERSION_MIN_REQUIRED=30000 -D_DARWIN_USE_64_BIT_INODE -DAPPLE -DIPHONE -DIPHONE_SIMULATOR -DIPHONE_SDK_VER=420 -D_THREAD_SAFE -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c /Users/mlamari/ecl/kriyative-ecl-iphone-builder-16a9276/ecl_tip_3/src/gc/dyn_load.c -o dyn_load.o
/Users/mlamari/ecl/kriyative-ecl-iphone-builder-16a9276/ecl_tip_3/src/gc/dyn_load.c: In function 'GC_init_dyld':
/Users/mlamari/ecl/kriyative-ecl-iphone-builder-16a9276/ecl_tip_3/src/gc/dyn_load.c:1151: error: '_dyld_bind_fully_image_containing_address' is unavailable (declared at /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/mach-o/dyld.h:241)
{standard input}:69:non-relocatable subtraction expression, "L_GC_no_dls$non_lazy_ptr" minus "L00000000001$pb"
{standard input}:69:symbol: "L_GC_no_dls$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:unknown:Undefined local symbol L_GC_no_dls$non_lazy_ptr
make[2]: *** [dyn_load.lo] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [libeclgc.a] Error 2
Regent:ecl_tip_3 mlamari$

On 1/30/2011 12:22 PM, Juan Jose Garcia-Ripoll wrote:
On Sun, Jan 30, 2011 at 9:15 AM, Matt Lamari <matt.lamari@gmail.com> wrote:
I've built the https://github.com/kriyative/ecl-iphone-builder/tree/centaur
centaur branch.  It's quite involved; but seems to work.

I just learned about the project from your email. I did not know it existed. One thing you should notice is that it is for an older version of ECL, 10.4, which may cause problems when used with more recent versions. Are you following strictly the instructions in github?

Another thing is that I have committed in today 90% of the patches in ecl-ios-patches.txt, but there are some that I feel unsure about and would like the author to help in deciphering them (left a comment at his wall, since I found no other form of contact). In particular, the only patches left out are a manual editing of src/configure (no patches for aclocal.m4/configure.in), and a file src/gmp/mpn/arm/invert_limb.asm which is not only fixed but "upgraded" to version 3.0 of the LGPL, which I do not want to use in ECL.

Out of the remaining information that is in your email, I can figure out very little: it may be due to using some more recent version of ECL, it may be a bug in the 10.4 that is not present now, ... In particular debug information is wrong: the statement "x = cl_core.packages_to_be_created;" is not causing init_lib_LSP to run, because it is a variable assignment -- seems that the compiler missed a few lines --.

Other than this, if it runs perfectly in the simulator and not in the iOS, I suspect it may be due to some data corruption which is not obvious in the former. Or does the compiler work differently in one of them? Does it produce different code?

My recommended line of action in this case would be fix the github sources to build with a more recent version of ECL (ideally CVS/git), then check it in the simulator and then do a more detailed debug of the resulting binary -- can it be done on the iPod touch too? I have one.


Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)