[TIMOB-9452] Tooling: -all_load flag not supported for iOS Module development
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Needs more info |
Resolution Date | 2012-07-13T10:55:43.000+0000 |
Affected Version/s | Release 2.1.0 |
Fix Version/s | n/a |
Components | Tooling |
Labels | core |
Reporter | Davide Cassenti |
Assignee | Stephen Tramer |
Created | 2012-05-26T20:38:54.000+0000 |
Updated | 2017-03-13T18:12:25.000+0000 |
Description
Problem description
Customer is building a module for a third-party library and the developers of the library specify that you must use the -ObjC and -all_load flags when integrating into an app. However, if they use -all_load to build the module, when they build the app they get this linker error:
[ERROR] clang: error: linker command failed with exit code 1 (use -v to see invocation)
[ERROR]
[ERROR] Error: Traceback (most recent call last):
Leaving out -all_load they get a boatload of unresolved symbol errors.
Attachments
File | Date | Size |
---|---|---|
Experitest Screenshot.jpg | 2012-06-15T12:55:42.000+0000 | 30500 |
From the customer: Integration of Titanium App with a Third-Party Automation Test Tool We would like to use a third-party automation test tool that requires a module to be linked with the Titanium libraries. However, there is an error in the linker process because the -all_load linker parameter is currently not accepted by Titanium's libticore.a library.
snaphsot of Experitest version
This ticket does not have a full build log, including the exact link error, so we cannot resolve it. However: See the following for an alternative to
-load_all
which does not work with iOS for some (or even most) modules - it causes a namespace conflict: https://developer.apple.com/library/mac/#qa/qa2006/qa1490.html Instead-force_load
can be used with *specific library names only* to achieve the same effect without causing errors. Use that instead.Also note that using
-load_all
or-force_load
on a library which contains an identical symbol name to something in Titanium will not compile. There is nothing we can do about this aside from internal symbol renaming, which is a viable alternative.Duplicate symbol issues may be resolved by TIMOB-5178. This is traditionally what causes problems with
-load_all
but it is still *recommended* to use-force_load
on a case-by-case basis. We cannot really prefix/namespace category functions.Did not receive requested information from ticket filer by sprint deadline. *DO NOT* reopen this ticket until the requested information is provided.
Closing ticket as the request for more information was not followed up.