delphi - Projects fail to start in iOS when adding XSuperObject -


i've reported directly x-superobject project, thought may more quality on stack overflow.

using delphi xe8, have issues using xsuperobject on ios simulator (7.1, 8.1, 8.2 , 8.3). started empty firemonkey app, started adding things in prior project (at point didn't know issue was). worked fine until added latest xsuperobject , xsuperjson units app.

uses   xsuperobject, xsuperjson; 

upon running in ios simulator, exception:

project dyld_sim raised exception class eoserror message 'system error. code: 2. no such file or directory.

i have no code, , have made no changes other adding units (xsuperobject, xsuperjson) , few basic controls (panel, button, , combo box).

when break, takes me to:

system.sysutils.raiselastoserror - last line raise error;

...which spot actual exception raised, nothing of relevance.

so opened main project file , put break point right on first line application.initialize; break point never reached. put breakpoints in "initialization" of both xsuperobject , xsuperjson , neither of them stop either.

call stack

once removed both units, worked again.

what's going wrong here , how fix it?

  • x-superobject version: pulled update from here prior reporting
  • delphi xe8 version 22.0.19027.8951 (no updates)
  • ide os: windows 7 sp1 (version 6.1, build 7601, 64bit)
  • mac os: os-x 10.10.3
  • target os: ios simulator - ipad air / ios 8.2 (12d508)

note: above version details 1 specific example, cannot work on ios device/version.

update: after debugging system (the 115th unit initialization), came learn point exception raised. in system.regularexpressionscoreon line 680...

{$ifdef dynamic_lib} class constructor tperlregex.create; begin   if not loadpcrelib     raiselastoserror; //<-- exception raised here end; {$endif dynamic_lib} 

and inside of loadpcrelib...

{$ifdef dynamic_lib} function loadpcrelib: boolean;    function getprocaddr(const procname: marshaledastring): pointer;   begin     dlerror;     result := dlsym(_pcrelib, procname);   end;    procedure setcallback(const cbname: marshaledastring; procpointer: pointer);   begin     pointer(getprocaddr(cbname)^) := procpointer;   end;  begin   result := true;   if _pcrelib = 0   begin     result := false;     _pcrelib := hmodule(dlopen(pcrelib, rtld_lazy)); //<-- returns 0 (no handle)     if _pcrelib <> 0     begin       // setup function pointers       ...       result := true;     end;   end; end; {$endif} 

while running project using unit, runs fine though.

so seems unable find /usr/lib/libpcre.dylib, if i'm using x-superobject.

i've updated of environment, including os-x, xcode, ios simulator, , sdk links in delphi ide (deleted , recreated them). i've verified sdk , ios versions match perfectly. problem still persists.

please install ios 8 simulator hotfix, should work fine.


Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -