Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-20381] iOS: Support Dynamic Libraries for module development

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2017-01-29T22:44:19.000+0000
Affected Version/sRelease 5.5.1
Fix Version/sBacklog
ComponentsiOS
Labelsn/a
ReporterEduardo Gomez
AssigneeEric Merriman
Created2016-02-10T19:35:47.000+0000
Updated2017-03-29T21:57:37.000+0000

Description

Issue Description

We're trying to use a third party framework from Wowza to extend our application with video recording functionality. Release shows now be 64-bit compatible but upon module building works for armv7, i386, and arm64 but not x86_64. Architectures were added to manifest according [module development guide](http://docs.appcelerator.com/platform/latest/#!/guide/iOS_Module_64-bit_Support-section-43291229_iOSModule64-bitSupport-Modulebuildingforarmv7,i386,andarm64butnotx86_64).
$ xcrun lipo -info build/libcom.janx.wowza.a 
Architectures in the fat file: build/libcom.janx.wowza.a are: armv7 i386 x86_64 arm64 

Stack Trace

[TRACE] :  Ld build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156 normal i386
[TRACE] :      cd /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone
[TRACE] :      export IPHONEOS_DEPLOYMENT_TARGET=7.1
[TRACE] :      export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/npm/bin"
[TRACE] :      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/lib -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSAnalytics -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSHTTPClient -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1 -F/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -filelist /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156.LinkFileList -mios-simulator-version-min=7.1 -dead_strip -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-link-runtime -stdlib=libc++ -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Case8156.app.xcent -weak_framework iAd -framework CoreMedia -weak_framework CoreMotion -lAPSAnalytics -weak_framework CoreText -framework EventKit -framework EventKitUI -weak_framework Security -licucore -framework Foundation -weak_framework UIKit -framework CoreGraphics -weak_framework AddressBook -framework AddressBookUI -framework CFNetwork -framework CoreLocation -weak_framework MapKit -framework MessageUI -framework MobileCoreServices -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -lsqlite3 -lz -framework AudioToolbox -weak_framework MediaPlayer -framework AVFoundation -lxml2 -framework StoreKit -lAPSHTTPClient -framework ExternalAccessory -ltiverify -lcom.janx.wowza -Xlinker -dependency_info -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156_dependency_info.dat -o /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/i386/Case8156
[TRACE] :  ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModule.o)) was built for newer iOS version (8.4) than being linked (7.1)
[TRACE] :  ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModuleAssets.o)) was built for newer iOS version (8.4) than being linked (7.1)
[TRACE] :  Undefined symbols for architecture i386:
[TRACE] :    "_TiValueMakeNull", referenced from:
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectMakeDate", referenced from:
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsArray", referenced from:
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsDate", referenced from:
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerStop", referenced from:
[TRACE] :        -[TiApp dealloc] in TiApp.o
[TRACE] :    "_TiDebuggerStart", referenced from:
[TRACE] :        -[TiApp boot] in TiApp.o
[TRACE] :    "_TiProfilerStart", referenced from:
[TRACE] :        -[TiApp boot] in TiApp.o
[TRACE] :    "_TiContextGroupCreate", referenced from:
[TRACE] :        -[TiApp contextGroup] in TiApp.o
[TRACE] :    "_TiContextGroupRetain", referenced from:
[TRACE] :        -[TiApp contextGroup] in TiApp.o
[TRACE] :    "_TiObjectIsFunction", referenced from:
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectGetPropertyAtIndex", referenced from:
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectSetPropertyAtIndex", referenced from:
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :    "_TiPropertyNameArrayGetNameAtIndex", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_kTiClassDefinitionEmpty", referenced from:
[TRACE] :        -[KrollMethod init] in KrollMethod.o
[TRACE] :        +[KrollObject initialize] in KrollObject.o
[TRACE] :    "_TiDebuggerLogMessage", referenced from:
[TRACE] :        _TiLogMessage in TiBase.o
[TRACE] :        -[APIModule logMessage:severity:] in APIModule.o
[TRACE] :    "_TiClassCreate", referenced from:
[TRACE] :        -[KrollMethod init] in KrollMethod.o
[TRACE] :        +[KrollObject initialize] in KrollObject.o
[TRACE] :    "_TiDebuggerEndScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :    "_TiValueToStringCopy", referenced from:
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsNumber", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiPropertyNameArrayGetCount", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerDestroy", referenced from:
[TRACE] :        -[KrollContext stop] in KrollContext.o
[TRACE] :    "_TiObjectSetPrivate", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiValueMakeNumber", referenced from:
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiEvalScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :    "_TiValueIsString", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiObjectGetPrivate", referenced from:
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        _KrollCallAsFunction in KrollMethod.o
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollFinalizer in KrollObject.o
[TRACE] :        _KrollDeleteProperty in KrollObject.o
[TRACE] :        _KrollInitializer in KrollObject.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiGlobalContextRelease", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiValueMakeBoolean", referenced from:
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueToNumber", referenced from:
[TRACE] :        _ClearTimerCallback in KrollContext.o
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        ...
[TRACE] :    "_TiValueIsObject", referenced from:
[TRACE] :        -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiValueMakeString", referenced from:
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiStringCopyCFString", referenced from:
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollDeleteProperty in KrollObject.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        _KrollSetProperty in KrollObject.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueToObject", referenced from:
[TRACE] :        -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o
[TRACE] :        -[KrollCallback call:thisObject:] in KrollCallback.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _KrollHasInstance in KrollObject.o
[TRACE] :        -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiValueMakeUndefined", referenced from:
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        _ClearTimerCallback in KrollContext.o
[TRACE] :        _AlertCallback in KrollContext.o
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        _KrollCallAsFunction in KrollMethod.o
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiObjectDeleteProperty", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        -[KrollObject forgetObjectForTiString:context:] in KrollObject.o
[TRACE] :    "_TiValueToBoolean", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerBeginScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :  
[TRACE] :  Ld build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156 normal x86_64
[TRACE] :      cd /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone
[TRACE] :      export IPHONEOS_DEPLOYMENT_TARGET=7.1
[TRACE] :      export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/npm/bin"
[TRACE] :      /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/lib -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSAnalytics -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/Classes/APSHTTPClient -L/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1 -F/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Products/Debug-iphonesimulator -filelist /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156.LinkFileList -mios-simulator-version-min=7.1 -dead_strip -Xlinker -objc_abi_version -Xlinker 2 -ObjC -fobjc-link-runtime -stdlib=libc++ -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Case8156.app.xcent -weak_framework iAd -framework CoreMedia -weak_framework CoreMotion -lAPSAnalytics -weak_framework CoreText -framework EventKit -framework EventKitUI -weak_framework Security -licucore -framework Foundation -weak_framework UIKit -framework CoreGraphics -weak_framework AddressBook -framework AddressBookUI -framework CFNetwork -framework CoreLocation -weak_framework MapKit -framework MessageUI -framework MobileCoreServices -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -lsqlite3 -lz -framework AudioToolbox -weak_framework MediaPlayer -framework AVFoundation -lxml2 -framework StoreKit -lAPSHTTPClient -framework ExternalAccessory -ltiverify -lcom.janx.wowza -Xlinker -dependency_info -Xlinker /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156_dependency_info.dat -o /Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/build/iphone/build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156
[TRACE] :  ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModule.o)) was built for newer iOS version (8.4) than being linked (7.1)
[TRACE] :  ld: warning: object file (/Users/egomez/Documents/Appcelerator_Studio_Workspace/Case8156/modules/iphone/com.janx.wowza/1/libcom.janx.wowza.a(ComJanxWowzaModuleAssets.o)) was built for newer iOS version (8.4) than being linked (7.1)
[TRACE] :  Undefined symbols for architecture x86_64:
[TRACE] :    "_TiValueMakeNull", referenced from:
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectMakeDate", referenced from:
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsArray", referenced from:
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsDate", referenced from:
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerStop", referenced from:
[TRACE] :        -[TiApp dealloc] in TiApp.o
[TRACE] :    "_TiDebuggerStart", referenced from:
[TRACE] :        -[TiApp boot] in TiApp.o
[TRACE] :    "_TiProfilerStart", referenced from:
[TRACE] :        -[TiApp boot] in TiApp.o
[TRACE] :    "_TiContextGroupCreate", referenced from:
[TRACE] :        -[TiApp contextGroup] in TiApp.o
[TRACE] :    "_TiContextGroupRetain", referenced from:
[TRACE] :        -[TiApp contextGroup] in TiApp.o
[TRACE] :    "_TiObjectIsFunction", referenced from:
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectGetPropertyAtIndex", referenced from:
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectSetPropertyAtIndex", referenced from:
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :    "_TiPropertyNameArrayGetNameAtIndex", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_kTiClassDefinitionEmpty", referenced from:
[TRACE] :        -[KrollMethod init] in KrollMethod.o
[TRACE] :        +[KrollObject initialize] in KrollObject.o
[TRACE] :    "_TiDebuggerLogMessage", referenced from:
[TRACE] :        _TiLogMessage in TiBase.o
[TRACE] :        -[APIModule logMessage:severity:] in APIModule.o
[TRACE] :    "_TiClassCreate", referenced from:
[TRACE] :        -[KrollMethod init] in KrollMethod.o
[TRACE] :        +[KrollObject initialize] in KrollObject.o
[TRACE] :    "_TiDebuggerEndScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :    "_TiValueToStringCopy", referenced from:
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueIsNumber", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiPropertyNameArrayGetCount", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerDestroy", referenced from:
[TRACE] :        -[KrollContext stop] in KrollContext.o
[TRACE] :    "_TiObjectSetPrivate", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiValueMakeNumber", referenced from:
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiEvalScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :    "_TiValueIsString", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiObjectGetPrivate", referenced from:
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        _KrollCallAsFunction in KrollMethod.o
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollFinalizer in KrollObject.o
[TRACE] :        _KrollDeleteProperty in KrollObject.o
[TRACE] :        _KrollInitializer in KrollObject.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiGlobalContextRelease", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiValueMakeBoolean", referenced from:
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueToNumber", referenced from:
[TRACE] :        _ClearTimerCallback in KrollContext.o
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject removeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        ...
[TRACE] :    "_TiValueIsObject", referenced from:
[TRACE] :        -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiValueMakeString", referenced from:
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiStringCopyCFString", referenced from:
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollDeleteProperty in KrollObject.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        _KrollSetProperty in KrollObject.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiValueToObject", referenced from:
[TRACE] :        -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o
[TRACE] :        -[KrollCallback call:thisObject:] in KrollCallback.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _KrollHasInstance in KrollObject.o
[TRACE] :        -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiValueMakeUndefined", referenced from:
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        _ClearTimerCallback in KrollContext.o
[TRACE] :        _AlertCallback in KrollContext.o
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :        _KrollCallAsFunction in KrollMethod.o
[TRACE] :        _KrollCallAsNamedFunction in KrollMethod.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiObjectDeleteProperty", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        -[KrollObject forgetObjectForTiString:context:] in KrollObject.o
[TRACE] :    "_TiValueToBoolean", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_TiDebuggerBeginScript", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :    "_TiObjectCopyPropertyNames", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_TiStringCreateWithUTF8CString", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _KrollPropertyNames in KrollObject.o
[TRACE] :        +[KrollObject initialize] in KrollObject.o
[TRACE] :        _TiStringCreateWithPointerValue in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiObjectCallAsFunction", referenced from:
[TRACE] :        -[KrollCallback call:thisObject:] in KrollCallback.o
[TRACE] :        -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o
[TRACE] :        -[KrollObject triggerEvent:withObject:thisObject:] in KrollObject.o
[TRACE] :        -[KrollTimer invokeWithCondition:] in KrollTimer.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :    "_OBJC_CLASS_$_WowzaConfig", referenced from:
[TRACE] :        objc-class-ref in libcom.janx.wowza.a(ComJanxWowzaModule.o)
[TRACE] :    "_TiDebuggerCreate", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiGlobalContextCreate", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiContextGetGlobalContext", referenced from:
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        _MakeTimer in KrollContext.o
[TRACE] :    "_TiValueIsBoolean", referenced from:
[TRACE] :        _StringFormatCallback in KrollContext.o
[TRACE] :    "_TiProfilerEnable", referenced from:
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :    "_TiValueProtect", referenced from:
[TRACE] :        -[KrollCallback initWithCallback:thisObject:context:] in KrollCallback.o
[TRACE] :        -[KrollCallback call:thisObject:] in KrollCallback.o
[TRACE] :        -[KrollWrapper protectJsobject] in KrollCallback.o
[TRACE] :        -[KrollObject protectJsobject] in KrollObject.o
[TRACE] :        -[KrollTimer initWithContext:function:jsThis:duration:onetime:kroll:timerId:] in KrollTimer.o
[TRACE] :    "_TiObjectMakeFunctionWithCallback", referenced from:
[TRACE] :        -[KrollContext bindCallback:callback:] in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        -[KrollMethod jsvalueForUndefinedKey:] in KrollMethod.o
[TRACE] :    "_TiObjectHasProperty", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :    "_TiPropertyNameAccumulatorAddName", referenced from:
[TRACE] :        _KrollPropertyNames in KrollObject.o
[TRACE] :    "_TiContextGetGlobalObject", referenced from:
[TRACE] :        -[KrollBridge didStartNewContext:] in KrollBridge.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :        -[KrollContext stop] in KrollContext.o
[TRACE] :        -[KrollContext bindCallback:callback:] in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _TiBindingTiValueToNSObject in TiBindingTiValue.o
[TRACE] :        ...
[TRACE] :    "_TiValueIsStrictEqual", referenced from:
[TRACE] :        -[KrollObject isEqual:] in KrollObject.o
[TRACE] :    "_TiObjectMakeError", referenced from:
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiObjectMake", referenced from:
[TRACE] :        _KrollInitializer in KrollObject.o
[TRACE] :        -[KrollObject initWithTarget:context:] in KrollObject.o
[TRACE] :        -[KrollObject noteObject:forTiString:context:] in KrollObject.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        _TiBindingTiValueFromNSDictionary in TiBindingTiValue.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :        _TiBindingTiValueFromProxy in TiBindingTiValue.o
[TRACE] :        ...
[TRACE] :    "_TiObjectSetProperty", referenced from:
[TRACE] :        -[KrollBridge didStartNewContext:] in KrollBridge.o
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o
[TRACE] :        -[KrollContext bindCallback:callback:] in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _KrollInitializer in KrollObject.o
[TRACE] :        -[KrollObject noteObject:forTiString:context:] in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiPropertyNameArrayRelease", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _TiBindingTiValueToNSDictionary in TiBindingTiValue.o
[TRACE] :    "_TiObjectMakeArray", referenced from:
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        _TiBindingTiValueFromNSObject in TiBindingTiValue.o
[TRACE] :    "_TiStringCreateWithCFString", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge didStartNewContext:] in KrollBridge.o
[TRACE] :        -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :        -[KrollContext bindCallback:callback:] in KrollContext.o
[TRACE] :        -[KrollMethod updateJSObjectWithValue:forKey:] in KrollMethod.o
[TRACE] :        ...
[TRACE] :    "_TiObjectGetProperty", referenced from:
[TRACE] :        -[KrollBridge require:path:] in KrollBridge.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        -[KrollContext main] in KrollContext.o
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o
[TRACE] :        -[KrollObject noteObject:forTiString:context:] in KrollObject.o
[TRACE] :        -[KrollObject forgetObjectForTiString:context:] in KrollObject.o
[TRACE] :        ...
[TRACE] :    "_TiGarbageCollect", referenced from:
[TRACE] :        -[KrollContext forceGarbageCollectNow] in KrollContext.o
[TRACE] :    "_TiValueUnprotect", referenced from:
[TRACE] :        -[KrollCallback dealloc] in KrollCallback.o
[TRACE] :        -[KrollCallback call:thisObject:] in KrollCallback.o
[TRACE] :        -[KrollWrapper unprotectJsobject] in KrollCallback.o
[TRACE] :        -[KrollUnprotectOperation main] in KrollContext.o
[TRACE] :        -[KrollObject unprotectJsobject] in KrollObject.o
[TRACE] :        -[KrollTimer main] in KrollTimer.o
[TRACE] :        _TiBindingEventDispose in TiBindingEvent.o
[TRACE] :        ...
[TRACE] :    "_TiValueGetType", referenced from:
[TRACE] :        -[KrollObject invokeCallbackForKey:withObject:thisObject:onDone:] in KrollObject.o
[TRACE] :        -[KrollObject noteObject:forTiString:context:] in KrollObject.o
[TRACE] :        -[KrollObject forgetObjectForTiString:context:] in KrollObject.o
[TRACE] :        -[KrollObject objectForTiString:context:] in KrollObject.o
[TRACE] :        -[KrollObject storeListener:forEvent:] in KrollObject.o
[TRACE] :        -[KrollObject callbacksForEvent:] in KrollObject.o
[TRACE] :        _TiBindingEventProcess in TiBindingEvent.o
[TRACE] :        ...
[TRACE] :    "_TiStringIsEqual", referenced from:
[TRACE] :        _KrollGetProperty in KrollObject.o
[TRACE] :        _KrollSetProperty in KrollObject.o
[TRACE] :    "_TiStringRelease", referenced from:
[TRACE] :        -[KrollBridge evalFileOnThread:context:] in KrollBridge.o
[TRACE] :        -[KrollBridge didStartNewContext:] in KrollBridge.o
[TRACE] :        -[KrollWrapper replaceValue:forKey:notification:] in KrollCallback.o
[TRACE] :        _GetKrollContext in KrollContext.o
[TRACE] :        _ThrowException in KrollContext.o
[TRACE] :        -[KrollEval jsInvokeInContext:exception:] in KrollContext.o
[TRACE] :        -[KrollContext bindCallback:callback:] in KrollContext.o
[TRACE] :        ...
[TRACE] :  ld: symbol(s) not found for architecture x86_64
[TRACE] :  clang: error: linker command failed with exit code 1 (use -v to see invocation)
[TRACE] :  Showing first 200 notices only
[ERROR] :  ** BUILD FAILED **
[ERROR] :  The following build commands failed:
[ERROR] :  	Ld build/Intermediates/Case8156.build/Debug-iphonesimulator/Case8156.build/Objects-normal/x86_64/Case8156 normal x86_64
[ERROR] :  (1 failure)
2016-02-10T19:16:26.721Z | TRACE  | titanium exited with exit code 1
2016-02-10T19:16:26.726Z | ERROR  | Error: ti run exited with error code 1
    at ChildProcess.<anonymous> (/Users/egomez/.appcelerator/install/5.1.0/package/node_modules/appc-cli-titanium/plugins/run.js:92:66)
    at ChildProcess.emit (events.js:110:17)
    at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
2016-02-10T19:16:26.729Z | TRACE  | Sending exit signal to titanium process:  18809

Steps to reproduce

1) Get module attached and extract it 2) Run ./build.py 3) Unzip generated module put into app/modules/iphone/ 4) Run sample app having attached the module 5) Notice stack trace

Attachments

FileDateSize
Archive-2.zip2016-02-10T19:35:19.000+00001084541

Comments

  1. Chee Kiat Ng 2016-02-11

    Note that the above stack trace is derived from building an app integrated with the packaged module. calling build.py works fine. Appreciate if [~egomez] you could include steps to reproduce. it'll be easier for QE to test as well if there's a fix for this.
  2. Eduardo Gomez 2016-02-11

    Sure thing, just added the steps to reproduce [~cng], maybe libcom.janx.wowza.a its missing 64bit symbols even though shows as valid architecture.
  3. Freddy Torres 2016-02-11

    Hey guys. Maybe this can help you figure out what's going on: this video was posted by a guy asking for help on a very similar issue https://www.youtube.com/watch?v=HHyqdg33sHw
  4. Pedro Enrique 2016-02-12

    [~egomez] the module.xcconfig is not correct. All of the search paths _must_ be on the same line separated by an empty space. I like to place all the paths in quotes as well. Replace the content of the module.xcconfig with this:
       FRAMEWORK_SEARCH_PATHS="$(SRCROOT)/../../modules/iphone/com.janx.wowza/1/platform" "/Library/Application\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform" "~/Library/Application\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform"
       OTHER_LDFLAGS=$(inherited) -framework WowzaGoCoderSDK
       
  5. Pedro Enrique 2016-02-12

    There is still an issue with this framework. This is a dynamic framework, in order to link it, you must add it to the "Embed Frameworks" section in the Xcode project. I'm looking for the compiler flag and see how we can do it without having to modify the Xcode project.
  6. Pedro Enrique 2016-02-25

    I was doing a diff between the Xcode project settings of a project with the dynamic library and an identical project without it. I saw a compiler flag called LD_RUNPATH_SEARCH_PATHS. So then I went to the module and added that flag to the module.xcconfig file, make that path point to the FRAMEWORK_SEARCH_PATHS, like this:
       LD_RUNPATH_SEARCH_PATHS=$(inherited) $(FRAMEWORK_SEARCH_PATHS)
       
    I compiled the module, added to a Titanium project, and viola! it works! Replace the content of your module.xcconfig with the following:
       FRAMEWORK_SEARCH_PATHS="$(SRCROOT)/../../modules/iphone/com.janx.wowza/1/platform" "/Library/Application\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform" "~/Library/Application\ Support/Titanium/modules/iphone/com.janx.wowza/1/platform"
       LD_RUNPATH_SEARCH_PATHS=$(inherited) $(FRAMEWORK_SEARCH_PATHS)
       OTHER_LDFLAGS=$(inherited) -framework WowzaGoCoderSDK
       
    On a side note, it is important to place all the paths to the same compiler flag in the same line, like I show in previous comment.
  7. Hans Knöchel 2017-01-29

    This is fixed and extended with additional handling like script-phases to strip fat frameworks, see [this repo](https://github.com/appcelerator-modules/hook-embedded-frameworks) for more infos.
  8. Lee Morris 2017-03-29

    Closing ticket as fixed.

JSON Source