Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-18168] iOS: Module - Cannot build 32-bit module urlSession and coremotion with SDK 3.5.0

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2015-11-13T05:32:45.000+0000
Affected Version/sRelease 3.5.0
Fix Version/sRelease 5.2.0
ComponentsiOS
Labelsqe-3.5.0, qe-nfc
ReporterWilson Luu
AssigneeChee Kiat Ng
Created2014-12-09T22:27:38.000+0000
Updated2016-02-21T20:14:56.000+0000

Description

*Details:* If you try to build a project with both 32-bit modules urlSession and coremotion with SDK 3.5.0, then you will get build failures. *Note:* Was not able to reproduce this issue with the following 32-bit modules: ||module||version|| |com.appcelerator.apm|1.0.10| |facebook|3.1.1| |ti.geofence|1.1.2| |ti.map|2.0.6| |ti.touchid|1.0.1| *Steps to reproduce:* 1. Create a Titanium project 2. Include both com.appcelerator.urlSession (1.0.1) and ti.coremotion (1.0.1) modules in the tiapp.xml; do not need to require them into your app.js 3. Install app to device *Actual:* On first build failure, you will get this urlSession build error:
[ERROR] :  Error Command failed: fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: fat input file (/Users/wluu/Library/Application Support/Titanium/modules/iphone/com.appcelerator.urlSession/1.0.1/libcom.appcelerator.urlsession.a) does not contain the specified architecture (x86_64) to thin it to
    at exithandler (child_process.js:648:15)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Socket.<anonymous> (child_process.js:969:11)
    at Socket.emit (events.js:95:17)
    at Pipe.close (net.js:465:12)
---------------------------------------------
    at exports.execFile (child_process.js:702:9)
    at exports.exec (child_process.js:589:18)
    at processNextCommand (/Users/wluu/Library/Application Support/Titanium/mobilesdk/osx/3.5.0.v20141208122514/iphone/cli/hooks/hyperloop.js:119:7)
    at exithandler (child_process.js:646:7)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Socket.<anonymous> (child_process.js:969:11)
4. Use change the urlSession version module to latest (1.1.0) 5. Save changes and install to device *Actual:* On second build failure, you will get this coremotion build error:
[ERROR] :  Error Command failed: fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: fat input file (/Users/wluu/Library/Application Support/Titanium/modules/iphone/ti.coremotion/1.0.1/libti.coremotion.a) does not contain the specified architecture (x86_64) to thin it to
    at exithandler (child_process.js:648:15)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Socket.<anonymous> (child_process.js:969:11)
    at Socket.emit (events.js:95:17)
    at Pipe.close (net.js:465:12)
---------------------------------------------
    at exports.execFile (child_process.js:702:9)
    at exports.exec (child_process.js:589:18)
    at processNextCommand (/Users/wluu/Library/Application Support/Titanium/mobilesdk/osx/3.5.0.v20141208122514/iphone/cli/hooks/hyperloop.js:119:7)
    at exithandler (child_process.js:646:7)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Socket.<anonymous> (child_process.js:969:11)
*Expected:* Should fail gracefully with warning indicating to the user that they should use the latest modules or build fine like the other specified 32-bit modules.

Comments

  1. Ingo Muschenetz 2014-12-10

    Should I read this ticket as "make the build failure more obvious"?
  2. Wilson Luu 2014-12-10

    Only if that is the expected behavior because the other 32-bit modules are able to build fine together.
  3. Jon Alter 2014-12-10

    Created ticket for CLI to fail build with a list of modules and the architectures they are missing. TIMOB-18176
  4. Tim Poulsen 2014-12-12

    [~jalter] Why can’t this be resolved using the same sort of technique I proposed for TIMOB-18176? (I get hyperloop errors when attempting to compile the coremotion module. And unlike our other module repos, neither urlsession nor coremotion includes a dist folder with compiled versions. So I can't test this directly myself.) But the plug-in check I wrote would run before the build gets to the stage throwing the errors shown above.
  5. Hans Knöchel 2015-11-13

    Fixed in TIMOB-19386 and MOD-2150 as part of the module refactoring.
  6. Eric Wieber 2016-02-21

    Verified fixed, using: MacOS 10.11.3 (15D21) Studio 4.5.0.201602170821 Ti SDK 5.2.0.v20160220080449 Appc NPM 4.2.3-2 Appc CLI 5.2.0-269 Alloy 1.7.33 Xcode 7.2 (7C68) APM 1.1.5 URLSession 2.0.0 Facebook 5.0.1 ti.coremotion 2.0.0 ti.map 2.5.2 ti.safaridialog 1.0.5 ti.touchid 1.2.0 Project including the above modules successfully builds, without issue.

JSON Source