How do I package with the Dialog ANE?
When I add it to my project, I get a "Compilation failed while executing : ld64". I've tried adding the SDK manually per http://distriqt.uservoice.com/knowledgebase/articles/252920-ld-framework-not-found but it still fails.
Hi all,
I’ve associated this with an issue in github:
https://github.com/distriqt/airnativeextensions/issues/119
I’ll be releasing a fix soon and if you can give any feedback on github that would be appreciated.
Planning on releasing this update tomorrow
-
Hi,
We've identified the error and will be updating soon. An update for iOS 8 will follow shortly as well.
Regards
-
pirrest commented
......
ld: 21 duplicate symbols for architecture armv7
com.adobe.air.ipa.ProcessError: Unable to link ANE libcom.distriqt.Dialog
at com.adobe.air.ipa.AOTCompiler.launchProcess(AOTCompiler.java:268)
at com.adobe.air.ipa.AOTCompiler.hideAneSymbols(AOTCompiler.java:723)
at com.adobe.air.ipa.AOTCompiler.linkMachO(AOTCompiler.java:612)
at com.adobe.air.ipa.AOTCompiler.generateMachineBinaries(AOTCompiler.java:767)
at com.adobe.air.ipa.IPAOutputStream.createIosBinary(IPAOutputStream.java:470)
at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:886)
at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:91)
at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:273)
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:604)
at com.adobe.air.ADT.run(ADT.java:446)
at com.adobe.air.ADT.main(ADT.java:496)
Compilation failed while executing : ld64 -
pirrest commented
Just used -Xverbose (didn't know about this flag till now) and here is what I get:
# Generating extensions glue...
# Generating asm... /Users/pirrest/Work/Adagio/taxinergy/sources/bin/taxijet/AOTBuildOutput4829851238580433187.tmp/extensionglue.asm
SSC optimization is false
# -- function 0/20...
# -- function 2/20...
# -- function 4/20...
# -- function 6/20...
# -- function 8/20...
# -- function 10/20...
# -- function 12/20...
# -- function 14/20...
# -- function 16/20...
# -- function 18/20...
# llc took 0.003s
# non-abcMethod functions took 0.0s
# 0.0s (0.0%) for com.distriqt.Dialog_DialogExtInitializer
# 0.0s (0.0%) for llvm.eh.sjlj.callsite
# 0.0s (0.0%) for llvm.eh.exception
# 0.0s (0.0%) for llvm.eh.selector
# 0.0s (0.0%) for llvm.eh.sjlj.lsda
# 0.0s (0.0%) for llvm.eh.sjlj.setjmp
# 0.0s (0.0%) for llvm.frameaddress
# 0.0s (0.0%) for _Unwind_SjLj_Unregister
# 0.0s (0.0%) for _Unwind_SjLj_Register
# 0.0s (0.0%) for pirrest.anes.Sounds_SoundsExtFinalizer
/Users/pirrest/Documents/sdks/ApacheFlex/latest/lib/aot/bin/as/as-arm -arch armv7 -o extensionglue.o
extensionglue.asm
/Users/pirrest/Documents/sdks/ApacheFlex/latest/lib/aot/bin/ld64/ld64 -r -ObjC -arch armv7 -alias _DialogExtInitializer _com.distriqt.Dialog_DialogExtInitializer -exported_symbol
_com.distriqt.Dialog_DialogExtInitializer -alias _DialogExtFinalizer _com.distriqt.Dialog_DialogExtFinalizer -exported_symbol _com.distriqt.Dialog_DialogExtFinalizer -lcom.distriqt.Dialog -L/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41 -F/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41 -o "/Users/pirrest/Work/Adagio/taxinergy/sources/bin/taxijet/AOTBuildOutput4829851238580433187.tmp/com.distriqt.Dialog.o"
duplicate symbol _DIALOG_CLOSED in:
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_CANCELLED in:
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_POPOVER_CLOSED in:
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_POPOVER_CHANGE in:
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_DATE_CHANGED in:
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/x3/vp_94rkx2s39v8cjv6rm6r980000gn/T/4578c6d7-1ac6-46fd-aff1-4a4ecedeca41/libcom.distriqt.Dialog.a(DialogEvent.o) -
pirrest commented
Maybe this would help:
I receive the same error "Compilation failed while executing : ld64" without any other description when trying to use ios native library that was built for simulator. Maybe this is the case for Dialog ANE? I see that there is iPhone-x86 platform in the ane, I'm doing the same for my extensions, but they will not work on device if I will build ios static library when simulator is selected or wise-versa (will not work on simulator if device is selected when building). -
pirrest commented
I receive the same error when trying to use Dialog ANE.
I'm using IntelliJ Idea to build and here what it shows:
"Compilation failed while executing : ld64"
ADT command line:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -d32 -Dapplication.home=/Users/pirrest/Documents/sdks/ApacheFlex/latest -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en -Duser.region=en -Xmx1024m -jar /Users/pirrest/Documents/sdks/ApacheFlex/latest/lib/adt.jar -package -target ipa-debug-interpreter -listen 7936 -hideAneLibSymbols yes -storetype PKCS12 -keystore /Users/pirrest/Work/Adagio/taxinergy/sources/certs/in-house/ios_distribution.p12 -storepass pass -provisioning-profile /Users/pirrest/Work/Adagio/taxinergy/sources/certs/TaxiJet_inhouse.mobileprovision /Users/pirrest/Work/Adagio/taxinergy/sources/bin/taxijet/TaxiJet.ipa /Users/pirrest/Work/Adagio/taxinergy/sources/bin/taxijet/AppIOS-app.xml -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -extdir /Users/pirrest/Work/Adagio/taxinergy/sources/libs -extdir /Users/pirrest/Work/Adagio/taxinergy/sources/ANE/ane -extdir /Users/pirrest/Work/Adagio/taxinergy/sources/SoundsANE/ane -C /Users/pirrest/Work/Adagio/taxinergy/sources/bin/taxijet TaxiJetIOS.swf -C /Users/pirrest/Work/Adagio/taxinergy/sources/TaxiJet/package/common . -C /Users/pirrest/Work/Adagio/taxinergy/sources/TaxiJet/package/IOS .In this project I'm using other extensions too including com.distriqt.Battery and com.distriqt.Notifications. But everything worked fine until I tried to use com.distriqt.Dialog.
If I comment <extensionID>com.distriqt.Dialog</extensionID> in my descriptor, package is done without any errors.
Please help :)
I moved from pl.mateuszmackowiak.nativeANE.NativeDialogs extension because it doesn't work on iOS8 but now I get package error :( -
My Lan commented
This is my compile task:
<java jar="${MXMLC.JAR}" fork="true" failonerror="true">
<arg value="+flexlib=${SDK_HOME}/frameworks"/>
<arg value="+configname=airmobile"/>
<arg value="-file-specs=Main.as"/>
<arg value="-load-config+=ads.config"/>
<arg value="-load-config+=libs.config"/>
<arg value="-swf-version=21"/>
<arg value="-optimize=true"/>
<arg value="-debug=${build_debug}"/>
<arg value="-output=${build_type}/${APP_ROOT_FILE}"/>
</java>where ads.config is an xml file with a list of anes to link against:
<compiler>
<external-library-path append="true">
<path-element>lib/AirDeviceId.ane</path-element>
<path-element>lib/AirFacebook.ane</path-element>
<path-element>lib/AirPushNotification.ane</path-element>
<path-element>lib/NativeUtils.ane</path-element>
<path-element>lib/com.playhaven.extensions.Playhaven.ane</path-element>
<path-element>lib/NativeGATracker-v2.0.4.ane</path-element>
<path-element>lib/IAP.ane</path-element>
<path-element>lib/AirParse.ane</path-element>
<path-element>lib/com.distriqt.InAppBilling.ane</path-element>
<path-element>lib/com.distriqt.Message.ane</path-element>
<path-element>lib/com.distriqt.Dialog.ane</path-element>
</external-library-path>
</compiler>and lib.xml are the swcs:
<compiler>
<include-libraries append="true">
<library>lib/as3-utils.swc</library>
<library>lib/as3commons-lang-0.3.4.swc</library>
<library>lib/as3commons-logging-2.0.swc</library>
<library>lib/as3commons-reflect-1.4.1.swc</library>
<library>lib/asuuid.swc</library>
<library>lib/greensock.swc</library>
<library>lib/feathers-v1.3-alpha.swc</library>
<library>lib/starling.swc</library>
<library>lib/GZIPEncoder_AIR.swc</library>
</include-libraries>
</compiler>
</flex-config> -
Can you please list all of your compile options?
-
My Lan commented
Yes - I'm using a few. I am using the Message & In App Billing distriqt anes, a freshplanet native device utility ane as well as 2 home rolled ones. I have tried passing hideAneLibSymbols=yes and -Xverbose to adt and I get a lot of errors like this one:
com.adobe.air.ipa.ProcessError: Unable to link ANE libcom.distriqt.Dialogduplicate symbol _DIALOG_C
LOSED in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(AlertHelper.o)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_CANCELLED in:/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(AlertHelper.o)
at com.adobe.air.ipa.AOTCompiler.launchProcess(AOTCompiler.java:268)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_POPOVER_CLOSED in:
at com.adobe.air.ipa.AOTCompiler.hideAneSymbols(AOTCompiler.java:723)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(AlertHelper.o)
at com.adobe.air.ipa.AOTCompiler.linkMachO(AOTCompiler.java:612)
at com.adobe.air.ipa.AOTCompiler.generateMachineBinaries(AOTCompiler.java:767)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.di
striqt.Dialog.a(DialogEvent.o)
at com.adobe.air.ipa.IPAOutputStream.createIosBinary(IPAOutputStream.java:450)
duplicate symbol _DIALOG_POPOVER_CHANGE in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:855)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_DATE_CHANGED in:
at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:91)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(DialogEvent.o)
at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:273)
at com.adobe.air.ADT.parseArgsAndGo(ADT.java:591)
at com.adobe.air.ADT.run(ADT.java:435)
duplicate symbol _DIALOG_DATE_SELECTED in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_TIME_SELECTED in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(DialogEvent.o)
duplicate symbol _DIALOG_CLOSED in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
at com.adobe.air.ADT.main(ADT.java:485)
Compilation failed while executing : ld64
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(PickerListHelper.o)
duplicate symbol _DIALOG_CANCELLED in:
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(AlertHelper.o)
/var/folders/5x/gckfch3n2nl7bshg8ykys9z00000gp/T/5a02b8d7-058a-4839-a771-dfd18117991f/libcom.distriqt.Dialog.a(PickerListHelper.o)there are a lot more, but I'm not printing them all.
If I do not hide ane symbols, I get issues with my other anes.
-
Hi,
Are you using any other extensions in your project?
-
My Lan commented
I'm having this exact same problem. I get it in both Flash Builder & with my local build script. In both, I am passing the iphone SDK as /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk to the -platformsdk value and I'm setting that same path in the iphone build settings as suggested in your Knowledge Base article. I'm using Air 4.0.
I've also unzipped the ane and it appears that you are also using Air 4.0. Any clues on what to do here?
-
Hi,
Which IDE are you using and on what platform (windows/osx/etc)? -
Hi,
Are there any additional details around the error you are receiving?
That error typically is due to the iOS SDK not being packaged correctly. Could you show us what you've tried to do to include the SDK?
Cheers