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.

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
Post a Comment