On Oct 22, 2006, at 5:56 PM, Graham J Lee wrote:
> On Sun, Oct 22, 2006 at 03:33:56PM +0100, Graham J Lee wrote:
>> On 22 Oct 2006, at 15:03, Graham J Lee wrote:
>>> libffi-src/include/fficonfig.h:11:3: #error "This file is only
>>> supported on Mac OS X"
>>> error: command 'gcc' failed with exit status 1
> Right, enough of talking to myself for the moment, honest :-).
> Getting libffi-src to work involved deleting fficonfig.h, manually
> running configure and using that fficonfig.h. I then got a couple of
> errors which could be fixed by moving a #ifdef MACOSX which was in the
> way, but now have something else.
Assuming you're working on a Linux box, the way to go forward here is
to use the system libffi. We use an embedded copy of libffi on OSX
because there's no standard libffi install on OSX and because the
official tree doesn't work properly on darwin/x86.
> Here's the error:
> gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -m32 -
> march=i386 -mtune=pentium4 -D_GNU_SOURCE -fPIC -fPIC -I/usr/include/
> python2.3 -c Modules/objc/ivar-accessor.m -o build/temp.linux-
> i686-2.3/Modules/objc/ivar-accessor.o -g -Wno-import -
> DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fconstant-string-
> class=NSConstantString -fgnu-runtime -I/usr/GNUstep/System/Library/
> Headers -I/usr/GNUstep/System/Library/Headers/gnustep -I/usr/
> GNUstep/System/Library/Headers/ix86/linux-gnu -Ibuild/codegen/ -
> Modules/objc/ivar-accessor.m:6: error: syntax error before "find_ivar"
> Modules/objc/ivar-accessor.m: In function `find_ivar':
> Modules/objc/ivar-accessor.m:9: error: `Ivar' undeclared (first use
> in this function)
> Now, looking at the source it's obvious why that should be...because
> Ivar is actually only defined for the Apple runtime not the GNU one.
> So if anyone has got to the point quoted on the website: "There is
> limited support for GNUstep, most of the unittests pass on GNUstep on
> Linux/ix86. However, we do still have some serious problems with real
> scripts." I'd like to hear from them, because I really don't think
> it's possible with the source in its current state.
IIRC there is a typedef in pyobjc-runtime*.h that should be used
instead of plain Ivar. You're likely to run into more of these
problems though because non of the core developers of PyObjC use
GNUstep. What's needed to get GNUstep support going is someone that
wants to have PyObjC on GNUstep enough to spend time on fixing all
issues, and has the intention to stay around (if only to shout if
something breaks further along).