[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Execution error of heatbug application on Snow Leopa
From: |
Bill Northcott |
Subject: |
Re: [Swarm-Support] Execution error of heatbug application on Snow Leopard |
Date: |
Tue, 20 Apr 2010 09:56:25 +1000 |
Hi Cristiano
The 2.3 version of Swarm is not yet released code and does not contain any GUI.
That is what the compiler warnings are telling you. 'CustomProbeMap',
'Grid2d' etc. are GUI classes not yet implemented.
Unfortunately the old 2.2 version cannot be built on MacOS X/Darwin. It used a
modified version of the FSF GNU Objective-C runtime, and Apple's current
compilers do not generate suitable code. The '-fgnuruntime' flag you are using
has no effect! This is compounded because Apple and the gcc compiler people
have quietly dissociated themselves from each other. I think this is due to
gcc adopting GPL3 which is unacceptable, indeed actively hostile to Apple's
business model. Apple are moving to LLVM Clang which will never support the
GNU runtime. There do not seem to be any FSF gcc compiler binaries available
for recent MacOS X and my attempts to build one have been unsuccessful.
As a result Swarm have invested considerable effort into rewriting fundamental
Swarm code to build and run on any Objective-C implementation. This is the
version 2.3. The non-gui code builds and is functional. Some work has been
done implementing a Cocoa gui. There is a version of Heatbugs that will build
and run on MacOS X with Swarm version 2.3. Any help with this work would be
appreciated. As the next release of Tcl/Tk will use Cocoa instead of the
deprecated Carbon APIs it should be possible in principle to build the old
style gui on 2.3 base. The problem is BLT which does not comply with Tk
extension standards and has never worked with MacOS X Tk.
I am trying to find the time to do more work to get a working MacOS X package
of some sort.
Bill Northcott
On 20/04/2010, at 12:06 AM, Cristiano Fontana wrote:
> Hello,
>
> I successfully compiled swarm v 2.3 on my Mac (version 2.2 did not want to).
>
> I then tried to run the heatbug application without success.
> I compiles with some warnings like:
>
> /usr/bin/gcc-4.2 -c -O2 -arch x86_64 -B /tools -DH5_USE_16_API
> -fnested-functions -fgnu-runtime -fno-strict-aliasing -Wall -Wno-import
> -Wno-protocol -Wno-long-long -I/opt/local/include -D_GNU_SOURCE
> -DAPPNAME=heatbugs -DAPPVERSION=2.1.1 address@hidden -I/opt/local/include
> HeatbugModelSwarm.m
> HeatbugModelSwarm.m: In function ‘+[HeatbugModelSwarm createBegin:]’:
> HeatbugModelSwarm.m:99: warning: receiver ‘CustomProbeMap’ is a forward
> class and corresponding @interface may not exist
> HeatbugModelSwarm.m: In function ‘-[HeatbugModelSwarm buildObjects]’:
> HeatbugModelSwarm.m:140: warning: receiver ‘Grid2d’ is a forward class
> and corresponding @interface may not exist
>
> however it produces the executable.
> But at the execution it crashes with:
>
> $ ./heatbugs
> objc[32102]: found old-ABI metadata in image
> /Users/fontana/Downloads/swarmapps-objc-2.2-2/heatbugs/./heatbugs !
> Version 0 doesn't match runtime protocol version 2
> Abort trap
>
> This is my first time with ObjC so I do not know how to deal with this error.
>
> Thanks in advance,
> Cristiano
> _______________________________________________
> Support mailing list
> address@hidden
> http://www.swarm.org/mailman/listinfo/support
smime.p7s
Description: S/MIME cryptographic signature