Build same RubyCocoa application version for Leopard and Snow Leopard

605 Views Asked by At

I have RubyCocoa 0.13.2 based application. It works on 10.5.8 and earlier versions. When i try to run it on 10.6 it crashes on infinite loop. 10.6 has 0.13.2 built in, but it's not same binary as for 10.5. When i tried to build my application's Xcode 3.1.3 project with 0.13.2 framework from 10.6, it gave a link error - malformed object on 0.13.2 framework binary. The application, that is built with Xcode 3.2 doesn't run on leopard, in spite that i built only 32 Arch. configuration. My question is whether there is a way to build a version, that will run on both platforms?

Thanks,

Nava

EDIT: I feel pretty exhausted trying to solve it and the best thing would be to just rewrite everything in Cocoa, at least you can debug it in a human way. But i don't have a permission for this luxury :)

4

There are 4 best solutions below

1
On

fat binary maybe??

3
On

You should probably have the following build settings :-

  • Architectures = 32/64-bit Universal
  • Base SDK = Mac OS X 10.6
  • Deployment Target = Mac OS X 10.5

If this doesn't work on 10.5, try changing

  • Base SDK = Mac OS X 10.5

I don't think the version of GCC should matter unless you can't build successfully.

0
On

SOLVED! First of all there is a new RubyCocoa version (rev. 2277, based on 1.0.0, soon the release), that solved SL crash and works for both Leopard & Snow Leopard.

I built a RubyCocoa version for i386 & ppc architectures. In the project I set 32bit-universal. Base SDK = 10.5, Deployment target = 10.5, Compiler = GCC 4.0.

Now I have one version, that I can build on Leopard & Snow Leopard and it works on both platforms (it doesn't say, that it there are no crashes, but this is for another question)

0
On

I got a notification from RubyCocoa source forge team on a RubyCocoa version 1.0.1 which is supposed to work for Leopard & Snow Leopard. Will give it a chance, especially it has a fix for a ver. 1.0.0 crash on Snow Leopard