Garth Corral | 11 Sep 06:26

IDE compilation failure on darwinppc64


Hi all,  I've searched the list archives and the clozure wiki but can  
find not reference to my issue so I thought I post here to see if  
anyone can help.

I've recently installed ccl on my G5 system running OS X 10.5.4.  I'm  
new to clozure but as near as I can tell, all seems well (using ppc64  
just because). Until, that is, I tried building the IDE using the  
procedure in the manual.  It fails for me with the following:

Welcome to Clozure Common Lisp Version 1.2-r10552  (DarwinPPC64)!
? (require :cocoa-application)
 > Error: Unknown foreign type: :<MARG>
 > While executing: %PARSE-FOREIGN-TYPE, in process listener(1).
 > Type :POP to abort, :R for a list of available restarts.
 > Type :? for other options.
1 >

I've tried this with the 1.2 tarball, updated from svn, and with fresh  
trunk checkout.  They all fail in the same way.  It worked fine for me  
with the ppc32 image as well as X8664 on my MacBook Pro.  I searched  
around to see if this was a known issue or it simply isn't supported  
but I came up empty.  Any assistance with this will be appreciated.   
It isn't absolutely essential that I use the 64 bit image but if I can  
get it to work, why not?  ;-)

Thanks in advance,

Garth
(Continue reading)

Gary Byers | 11 Sep 09:12

Re: IDE compilation failure on darwinppc64

It's a known issue (but apparently not a well-advertised one); the
ObjC bridge doesn't work on ppc64.

The two things that I remember that need doing involve:

1) support for calling ObjC methods that take a variable number of
arguments (as in

(#/stringWithFormat: ns:ns-string #@"hello, %a" #@"world.")

).

(The old way of doing this - prior to the WWDC 2007 Leopard
betas - involved the foreign type :<MARG> ...)

2) Adding support for ObjC 2.0 exception handling, similar to
what was done for x8664.  (This basically involves adding a
bunch of debugging metainfo to the code in the lisp kernel
that does foreign-funtion calls, so that the point of the
call would be effectively declared as an exception handler.
The stuff in lisp-kernel/x86-spentry64.s that's inside

 	.section __DATA,__gcc_except_tab

and the stuff at the bottom of the file basically comprise
that metainfo.)

Neither of those things is a -huge- amount of work (doing (2)
on x8664 took a while, but the ppc64 metainfo would be very
similar.)  The same Leopard prerelease that introduced these
(Continue reading)

Garth Corral | 11 Sep 10:21

Re: IDE compilation failure on darwinppc64


On Sep 11, 2008, at 12:12 AM, Gary Byers wrote:

> It's a known issue (but apparently not a well-advertised one); the
> ObjC bridge doesn't work on ppc64.
>
Thanks a lot for the quick reply.  Yes, that wasn't clear to me,  
though as I said, I'm a newcomer to ccl so I could certainly have  
missed that.

> There's been plenty of time since then to get the bridge
> working on ppc64, but it hasn't gotten done.
>
It's understandable.  A lot of things to be done and not enough  
contributors.  Sadly, I'm pretty confident that I can contribute  
little here as well;  I'm neither kernel hacker nor compiler writer.   
Add to that the fact that my ppc assembly is vitually nonexistent and  
you have...  no help at all.  I'm curious enough to have a look at it,  
though, so who knows.

Thanks again,

Garth

Gmane