开发者

Delphi XE2 Firemonkey sample app not running on a MAC

I am trying to run a sample Firemonkey app on a Mac, but I am getting this message in the mac:

dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found
dyld: Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/nobre/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-Nobre/Project37.app/Contents/MacOS/Project37
  Reason: image not found

I used this tutorial to add a OSX platform:

New Mac and Rad Studio XE2

EDIT

More info about the error:

Process:         Teste2 [34270]
Path:            /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Test开发者_JS百科e2.app/Contents/MacOS/Teste2
Identifier:      Teste2
Version:         ??? (???)
Code Type:       X86 (Native)
Parent Process:  launchd [94]

Date/Time:       2011-09-01 19:36:26.246 +0100
OS Version:      Mac OS X 10.6.8 (10K540)
Report Version:  6

Interval Since Last Report:          3908 sec
Crashes Since Last Report:           4
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      58C242CA-C324-4A23-86ED-96D93C7C1A84

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: @rpath/libcgunwind.1.0.dylib
  Referenced from: /Users/User/Applications/Embarcadero/PAServer/scratch-dir/rafael_colucci-VM/Teste2.app/Contents/MacOS/Teste2
  Reason: image not found

Binary Images:
0x8fe00000 - 0x8fe4163b  dyld 132.1 (???) <4CDE4F04-0DD6-224E-ACE5-3C06E169A801> /usr/lib/dyld

Model: VMware Virtual Platform, BootROM 6.00, 1 processor, 30 GHz, 1 GB, SMC 1.30f3
Graphics: VMware SVGA II, VMware SVGA II, PCI, 16 MB
Network Service: Ethernet, Ethernet, en0
Parallel ATA Device: VMware Virtual IDE CDROM Drive
SCSI Device: SCSI Target Device @ 0
USB Device: VMware Virtual USB Hub, 0x0e0f  (VMWare, Inc.), 0x0002, 0x00200000 / 3
USB Device: VMware Virtual USB Keyboard, 0x05ac  (Apple Inc.), 0x020b, 0x00210000 / 4
USB Device: VMware Virtual USB Mouse, 0x0e0f  (VMWare, Inc.), 0x0003, 0x00100000 / 2

EDIT

Some screenshots:

Delphi XE2 Firemonkey sample app not running on a MAC

Delphi XE2 Firemonkey sample app not running on a MAC


I just installed the Delphi XE2 Trial and I'm getting the same issue - unable to start a FireMonkey application on Mac OS X because of the missing libcgunwind.1.0.dylib.

However, I believe I know what the problem is. This file should be inside the ($BDS)\Redist\osx32 folder ready to be deployed with your Delphi OSX application. But, if you only installed the Delphi XE2 product instead of the complete RAD Studio XE2, these redistributable files will be missing, e.g. not installed at all.

Wherever this specific file is mentioned in the documents, it's in relation to C++Builder. So if this really is the issue, it's probably a (not so small) oversight on Embarcadero side.

To answer your question - I believe if you install the C++Builder XE2 trial, or the whole RAD Studio XE2 package, you should get these redistributable files.


If you go to the directory where PAServer was installed on you Mac, you should see that libcgunwind.1.0.dylib is present there.

The installer tries to help by creating a paserver.command file. If you launch using this, it should set your library path correctly so the above file is found.

If you've moved your PAServer location, just manually update the paserver.command file with the appropriate paths and run.


Runtime error 231 at 000169AD

this is a problem under VMWare, see https://forums.embarcadero.com/message.jspa?messageID=393962

Workaround is copy FMX.Filter.pas to your project directory and modify:

function FilterByName(const AName: string): TFilter;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]).Create;
        Exit;
      end;
  end;
end;

function FilterClassByName(const AName: string): TFilterClass;
var
  i: Integer;
begin
  Result := nil;
  if Filters = nil then
    Exit;
  if GlobalUseHWEffects  then
  begin
    for i := 0 to Filters.Count - 1 do
      if CompareText(TFilterClass(Filters.Objects[i]).FilterAttr.Name, AName) = 0
      then
      begin
        Result := TFilterClass(Filters.Objects[i]);
        Exit;
      end;
  end;
end;

and in dpr set GlobalUseHWEffects := False;

This is because VMWare and emulating graphics hardware


You have to install the PA Server here follow these instructions Installing and Running the PA on Mac OS X


Embarcadero's instructions on starting the remote server seem to be incorrect. Use the paserver.copmmand file to start the server. Then my project ran fine.

Then Deploying. Change the build configuration to Release instead of Debug. You have to copy the libcgunwind.1.0.dylib to the Redist\osx32 directory or the release will fail. Then tried build/release again. The "project".rsm file is in the debug directory and not in the release directory. I copied the .rsm file to the release directory, Deployed and it worked. This was the case with my own demo project and the controlsDemo project. Either one worked the same way.

A bit rough start but everything is working. Don't know why they put a menubar on the controls demo since it is not very mac-like. Change it to a main menu and everything works great.

Bill


I have solved this for me. I was clicking the green run button in the ide which is 'run without debugging'.

Click the run button next to it, which in XE2 is the run button us older people are used to.


If think you need to open a cmd window and do the following command to populate the Redist folder, after that the the Deployment Manager will locate the necessary files:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\Redist> redistsetup default

Deployment Manager has a "Reconcile" button to refresh the list.


console "Hello, World"

release - works fine (Hello, World) appears in Platform Assistant

terminal window debug - same as release

empty 2D Form

release - Runtime error 231 at 000169AD
debug - seems to run (bouncing Spartan Helmet icon in dock) but

the form never appears

empty 3D Form

release - Platform Assistant terminal window shows "invalid pixel

format" and "invalid context" messages but form appears and menu bar has "Project1" in it debug - same as release

These errors mean that you run your application under MacOS that was installed on Virtual Machine. Installation of MacOS on VM conflicts with license, and therefore Embarcadero does not plan to support the VM environment.


Just click paserver.command instead of just paserver.. It works!

U can even add -password=(your password) , at the end of the last line inside paserver.command (after the last " . then it starts without asking for password.


Make sure there is a space after the path to the paserver in your paserver. Command before the -password part. For instance, my password is firemonkey and the line is as follows:

"/Users/firemonkey/Applications/Embarcadero/PAServer/paserver" -password=firemonkey

Then, make sure you run the paserver from the paserver.command file.


Check the new "Redist" folder in the RAD Studio installation path. Your application needs some files from it.


Running the paserver.command helped with the first problem but most of it is the I think a missing file.

Checking deploy, the file libcgunwind.1.0.dylib in ($BDS)\Redist\osx32 folder was greyed out so I copied the file from the PAServer on the mac and refreshed now the app runs fine stand alone :)


Just copy and run the application from the PAServer folder. Remember that to install and run PAServer you should do this http://docwiki.embarcadero.com/RADStudio/XE2/en/Installing_and_Running_the_Platform_Assistant_on_the_Target_Platform#Mac%3a_Installing_and_Running_the_Platform_Assistant_.28paserver.29_on_a_Mac

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜