Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-25079] Hyperloop: iOS - Compile error: ld: symbol(s) not found for architecture arm64

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2017-11-03T13:18:13.000+0000
Affected Version/sRelease 7.0.0
Fix Version/sHyperloop 3.0.0
ComponentsHyperloop
Labelshyperloop, qe-7.0.0
ReporterAbir Mukherjee
AssigneeHans Knöchel
Created2017-08-09T22:32:38.000+0000
Updated2017-11-15T09:22:23.000+0000

Description

*Description* When building an app with hyperloop enabled and using SDK 7.0.0, the build fails during compile time with the following error: ld: symbol(s) not found for architecture arm64 Full logs are attached *Steps to reproduce* 1. Download/get Hyperloop 2.1.3. You can use this version, or you can clone it and build it with SDK 7.0.0. Either case, I get the same failing result. 2. Create a new default classic app with hyperloop enabled. 3. Build the app to device (failure also seen if built to Simulator) *Expected Results* App should build successfully with no errors. *Actual Results* App fails to build with this error:
[ERROR] ** BUILD FAILED **
[ERROR] The following build commands failed:
[ERROR]         Ld build/Intermediates/tc1.build/Debug-iphoneos/tc1.build/Objects-normal/arm64/tc1 normal arm64
[ERROR] (1 failure)
*Expected Results* Build shoud pass with no errors. *Additional Information* The error can be avoided if this is added to tiapp.xml true However with SDK 6.1.2, no error is seen whether ticore or jscore is used. The same behavior is expected with SDK 7.0.0.

Attachments

FileDateSize
error-log-7p0p0.rtf2017-08-09T22:32:15.000+00003312872

Comments

  1. Hans Knöchel 2017-08-10

    The underlaying issue here is that Titanium SDK 7.0.0 (master) will use JSCore by default, deprecating TiCore. But Hyperloop 2.1.3 (2.x) will select the Hyperloop TiCore-library if use-jscore-framework is not defined. Side-note: if you set <use-jscore-framework>false</use-jscore-framework>, the SDK will use TiCore as well, so the build will not fail. This ticket will be fixed on the Hyperloop side to reflect the new default behavior, PR coming when we bump Hyperloop master to 3.0.0, which won't happen right now, since we have some more releases between the now and the next major. Thx!
  2. Hans Knöchel 2017-10-17

    [~jvennemann] Likely not a thing anymore, but keeping Open until checked.
  3. Hans Knöchel 2017-10-25

    [~jvennemann] Ping, please validate with current Hyperloop master.
  4. Jan Vennemann 2017-10-25

    [~hknoechel], this is still happening with both master and 2_1_X branches. As far as i remember we didn't change anything regarding the selection of whether to use TiCore or JSCore, so we still need to reflect the changes from SDK 7.0.0 in Hyperloop.
  5. Hans Knöchel 2017-10-28

    PR: https://github.com/appcelerator/hyperloop.next/pull/252 Testing-steps: See above. Also ensure to test various combinations of: * Not having the use-jscore-framework included at all * Should pick JSCore as it's the default behavior in 7.0.0+ * Should not warn during build * Having the use-jscore-framework included but set to false * Should use TiCore * Should warn during build * Having the use-jscore-framework included but set to true * Should use JSCore * Should not warn during build All builds should pass!
  6. Abir Mukherjee 2017-11-07

    [~jvennemann] The latest Hyperloop beta works only with Android which this fix did not go into. Can you cut another Hyperloop beta that has this fix? cc:[~emerriman]
  7. Abir Mukherjee 2017-11-15

    I tried with Hyperloop beta-2, and the default app compiles and runs on device fine for both Android and iOS. The original error I had reported appears to be resolved. Node Version: 8.9.1 NPM Version: 5.5.1 Mac OS: 10.13 Appc CLI: 7.0.0-master.13 Appc CLI NPM: 4.2.11-2 Titanium SDK version: 7.0.0.v20171114203226 Appcelerator Studio vers 4.10.0 Xcode 9.1/iOS 11.1 iPhone 7 Plus Android 7.1.2 Pixel

JSON Source