*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.
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![~jvennemann] Likely not a thing anymore, but keeping Open until checked.
[~jvennemann] Ping, please validate with current Hyperloop master.
[~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.
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 tofalse
* Should use TiCore * Should warn during build * Having theuse-jscore-framework
included but set totrue
* Should use JSCore * Should not warn during build All builds should pass![~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]
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