Recent

Author Topic: Written Application on MAC OS X 10.6.8 Get Compatibility error on MAC OS X 10.8  (Read 8039 times)

IansResearch

  • New Member
  • *
  • Posts: 18
Written an application on MAC OS X 10.6.8.

Install application on MAC OS X 10.8 Lion.

Get the following message whenI try to run the application.

You can’t open the application “testdb” because PowerPC applications are no longer supported.

What compiler options should I use for MAC OS X 10.8

Thanks.

Phil

  • Hero Member
  • *****
  • Posts: 2737
Install the Intel versions of Lazarus and FPC on your Snow Leopard system (10.6).

Note that 10.8 is Mountain Lion; Lion is 10.7.

Thanks.

-Phil

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11458
  • FPC developer.
( or does it mean that 10.8 won't run universal binaries containing ppc anymore?)

Phil

  • Hero Member
  • *****
  • Posts: 2737
Lion and Mountain Lion do not include the Rosetta emulator.

In this case he didn't produce a universal binary, but just a single-arch binary, for PowerPC.

Thanks.

-Phil

IansResearch

  • New Member
  • *
  • Posts: 18
On the OS X 10.6 I have installed Lazarus 1.0 RC1 & FPC 2.6.0 i386-darwin-carbon

Is this not the intell version?

Installed application on Mountain Lion (10.8)

Thanks.

Phil

  • Hero Member
  • *****
  • Posts: 2737
On the OS X 10.6 I have installed Lazarus 1.0 RC1 & FPC 2.6.0 i386-darwin-carbon

Is this not the intell version?

Installed application on Mountain Lion (10.8)


Check the architecture of the binary you created. In a Terminal window:

file testdb

Thanks.

-Phil

IansResearch

  • New Member
  • *
  • Posts: 18
Mach-0 executable i386

Phil

  • Hero Member
  • *****
  • Posts: 2737
Mach-0 executable i386

Do the same test on the ML system if you haven't already. If it says i386, then I don't have an explanation for the error message.

Did you copy the executable inside the .app bundle that you then installed on the ML system? I think Lazarus still puts the binary outside the app bundle and symlinks to it from within the bundle. So you have to fix that when you dist. an app.

Thanks.

-Phil

IansResearch

  • New Member
  • *
  • Posts: 18
Its the same on the ML.

So it must be the .app contents what do I need to do to change it so the application is inside .app ?

Thanks.


Phil

  • Hero Member
  • *****
  • Posts: 2737
Its the same on the ML.

So it must be the .app contents what do I need to do to change it so the application is inside .app ?


That should be on the wiki, but basically:

rm testdb.app/Contents/MacOS/testdb
cp -p testdb testdb.app/Contents/MacOS

Maybe first check that Laz still creates the bundle like before:

ls -l testdb.app/Contents/MacOS

That should indicate whether the bundle contains a symlink or an executable. If a symlink, then that still hasn't been fixed yet in Laz and you'll need to copy the executable into the bundle as indicated.

Thanks.

-Phil



IansResearch

  • New Member
  • *
  • Posts: 18
Thanks very much all fixed and working.

Wonderfull.... Lazarus team fix bundle for MAC OS X

 ;)

 

TinyPortal © 2005-2018