Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-9452] Tooling: -all_load flag not supported for iOS Module development

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionNeeds more info
Resolution Date2012-07-13T10:55:43.000+0000
Affected Version/sRelease 2.1.0
Fix Version/sn/a
ComponentsTooling
Labelscore
ReporterDavide Cassenti
AssigneeStephen Tramer
Created2012-05-26T20:38:54.000+0000
Updated2017-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

FileDateSize
Experitest Screenshot.jpg2012-06-15T12:55:42.000+000030500

Comments

  1. Joe Falcone 2012-05-28

  2. Carl Orthlieb 2012-06-08

    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.
  3. Asim Siddiqui 2012-06-15

    snaphsot of Experitest version
  4. Stephen Tramer 2012-06-22

    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.
  5. Stephen Tramer 2012-06-22

    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.
  6. Stephen Tramer 2012-07-09

    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.
  7. Stephen Tramer 2012-07-13

    Did not receive requested information from ticket filer by sprint deadline. *DO NOT* reopen this ticket until the requested information is provided.
  8. Lee Morris 2017-03-13

    Closing ticket as the request for more information was not followed up.

JSON Source