Can't compile with Vungle plugin - El Capt / Xcode 8 / Corona 2016.2949

I am not able to compile any game with a Vungle plugin since last week. When I remove the plugin from build.settings then all is well again. But I like and need Vungle! Here are the errors I get when I compile (attached is a full log):

ld: 1 duplicate symbol for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)\</result\> ERROR: Builder failed: clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7 ld: warning: object file (/Users/FireRabbit/Documents/outfiles/Fix My Motorcycle 3D Extreme Motorbike Mechanic Simulator FREE.app/.build/CoronaProvider.ads.vungle/libads-vungle.a(hmac.o)) was built for newer iOS version (7.0) than being linked (6.0) ld: warning: object file (/Users/FireRabbit/Documents/outfiles/Fix My Motorcycle 3D Extreme Motorbike Mechanic Simulator FREE.app/.build/CoronaProvider.ads.vungle/libads-vungle.a(VungleNetworkOperation.o)) was built for newer iOS version (7.0) than being linked (6.0) ...... 30 - 40 of these clang: error: linker command failed with exit code 1 (use -v to see invocation) BUILD ERROR: There was a problem linking the app. Check the console for more information. Oct 12 04:49:54.880 iOS build failed (12) after 74 seconds Oct 12 04:49:54.980 ERROR: Build Failed: There was a problem linking the app.

The build.settings plugin (in context in case of syntax issues)

-- ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, -- START HERE ========= ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle", }, -- END HERE ========= -- ADBUDDIZ ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz", },

Finally I posted originally here because of the similarity (an Ad plugin with similar console error “ERROR: Builder failed: clang: warning: libstdc++ is deprecated; move to libc++ with”).

Help please!

Rabbit

@vungle?

I tried again this morning. As soon as I remove the Vungle plugin it works. I really, really like Vungle however and refuse to go live without it ;) 

Hi,

I am Gabor (Integration Engineer) from Vungle.

This seems to be a simple target development issue. You are targeting iOS SDK 6 as minimum OS version, and Vungle SDK requires iOS7 as a minimum.

Could you change your target and try again?

Hi Gabor,

i tried adding the following with no luck (same error):

settings = { &nbsp; &nbsp; iphone = &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; plist = &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MinimumOSVersion = "7.0" &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; } }

And none the documentation indicates I need for such a settings for plist:

1) https://docs.coronalabs.com/plugin/vungle/

2) https://support.vungle.com/hc/en-us/articles/204482060-Get-Started-with-Vungle-Corona

Could you try a build using Xcode8 and Corona 2949 to see if you also get the error? Anyways I am I ill to try any idea you may have. Also i tried removing vungle as a plugin again while leaving the new “MinimumOSVersion” setting and it works. It has to be with the plugin somehow or another setting.

Thank you.

Rabbit

Hi Rabbit,

you are right, those pages does not have this requirement listed. However our iOS docs does:

https://support.vungle.com/hc/en-us/articles/204430550-Get-Started-with-Vungle-iOS-SDK

As the corona plugin is using our iOS SDK the same requirement applies. Thank you for noticing that! We will change the doc.

For the issue. I tried, macOS Sierra, Xcode 8, Corona 2949.

Integrating Vungle and build it I get the same error as you.

In the Corona logs I can see the deployment target is 6.

Compiling architecture:&nbsp;&nbsp; &nbsp;armv7 Oct 18 11:53:11.001 &nbsp;&nbsp; &nbsp;\<execute\>cd "/var/folders/h6/xywgnjvd7gq6tbv225bxnbs40000gn/T/CLtmp7J0Ktd/armv7";unset LIBRARY\_PATH; export IPHONEOS\_DEPLOYMENT\_TARGET=6; export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin";/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libstdc++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -ObjC -all\_load -fobjc-link-runtime -miphoneos-version-min=6 -L"/Users/gaborkremer/Desktop/Sample.app/.build/libtemplate" -L"/Users/gaborkremer/Desktop/Sample.app/.build/CoronaProvider.ads.vungle" -L"/Users/gaborkremer/Desktop/Sample.app/.build/plugin.google.play.services" -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreMedia -framework CoreMotion -framework CoreVideo -framework CoreText -framework GameKit -framework GLKit -framework ImageIO -framework MapKit -framework MediaPlayer -framework MessageUI -framework MobileCoreServices -framework OpenAL -framework OpenGLES -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -framework UIKit -framework Accounts -framework AdSupport -framework CoreTelephony -framework EventKit -framework EventKitUI -weak\_framework GameController -weak\_framework AssetsLibrary -weak\_framework Photos -weak\_framework Foundation -weak\_framework Twitter -weak\_framework WebKit -lobjc -lsqlite3 -ltemplate -lads-vungle -lz -lgoogle-play-services -o "/var/folders/h6/xywgnjvd7gq6tbv225bxnbs40000gn/T/CLtmp7J0Ktd/armv7/Sample"\</execute\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;\<result\>clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of iOS 7

_ export IPHONEOS_DEPLOYMENT_TARGET=6 _

However adding the line you mentioned to the settings:

MinimumOSVersion = “7.0”

Compiling architecture: Oct 18 11:51:01.475 &nbsp;&nbsp; &nbsp;armv7 Oct 18 11:51:02.471 &nbsp;&nbsp; &nbsp;\<execute\>cd "/var/folders/h6/xywgnjvd7gq6tbv225bxnbs40000gn/T/CLtmpbvika4/armv7";unset LIBRARY\_PATH; export IPHONEOS\_DEPLOYMENT\_TARGET=7.0; export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin";/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libstdc++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -ObjC -all\_load -fobjc-link-runtime -miphoneos-version-min=7.0 -L"/Users/gaborkremer/Desktop/Sample.app/.build/libtemplate" -L"/Users/gaborkremer/Desktop/Sample.app/.build/CoronaProvider.ads.vungle" -L"/Users/gaborkremer/Desktop/Sample.app/.build/plugin.google.play.services" -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework CoreMedia -framework CoreMotion -framework CoreVideo -framework CoreText -framework GameKit -framework GLKit -framework ImageIO -framework MapKit -framework MediaPlayer -framework MessageUI -framework MobileCoreServices -framework OpenAL -framework OpenGLES -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -framework UIKit -framework Accounts -framework AdSupport -framework CoreTelephony -framework EventKit -framework EventKitUI -weak\_framework GameController -weak\_framework AssetsLibrary -weak\_framework Photos -weak\_framework Foundation -weak\_framework Twitter -weak\_framework WebKit -lobjc -lsqlite3 -ltemplate -lads-vungle -lz -lgoogle-play-services -o "/var/folders/h6/xywgnjvd7gq6tbv225bxnbs40000gn/T/CLtmpbvika4/armv7/Sample"\</execute\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;\<result\>clang: warning: libstdc++ is deprecated; move to libc++\</result\> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Done.

export IPHONEOS_DEPLOYMENT_TARGET=7.0

and the previous error disappeared.

Can you please check this section of your logs, maybe share it as well, and your build.settings file as well?

Thanks

Gabor

I’ve decided to update to Sierra (10.12) and 2973 (can’t use 2949 with 10.12). And yes, since this upgrade and with the min OS version I see a new error more clearly now (I’ve attached both the build.settings and raw logs for your review).

It seems the error is “duplicate symbol _zipOpen6” between Vungle and plugin.zip. If I remove either all errors go away.

Any thoughts?

Hi

Your project is still not picking up the minimum OS version. It is still has in there:

export IPHONEOS_DEPLOYMENT_TARGET=6

However your build settings file seems to be correct set up for iOS 7 as minimum. I will try to figure this out but it is some corona issue most likely.

As of the duplicate symbol, this was fixed in latest Vungle SDK/plugin. Also points to the fact that your corona build is not picking up latest info/plugin.

Gabor

Ok, please let me know. I can’t wait to release this thing!

Rabbit

Any luck? I really need to get my app live. This has been a long process. Mayb Rob can help us here? 

Ref: https://forums.coronalabs.com/topic/65595-xcode-8-or-macos-sierra-build-issue/

Hi,

unfortunately no luck. Corona always pick up the minimum OS version setting from the build.settings. Not sure why it does not for you.

Yeah, Rob probably can help here.

Can you just try this

MinimumOSVersion = “7”,

instead of

MinimumOSVersion = “7.0”,

@firerabbit.info

From the logs I can see there’s a conflict between the Vungle and the Zip plugin. I can verify the issue myself when including both plugins in a project. It doesn’t matter what the MinimumOSVersion is set to.

When looking at the repositories for the plugins I can see that the zip plugin was last updated Nov 2015, and the Vungle plugin for iOS was updated Sep 29, 2016.

Have you been able to use the zip plugin together with Vungle before?

Yes I’ve been using both together for years. In fact it was working until the end of September. So a Vungle update issue then?

I can confirm that building with the previous Vungle plugin works together with the zip plugin.
This means that something has changed on Sep 29 with the iOS plugin making it incompatible with the zip plugin.
 
The Vungle plugin is a 3rd party plugin developed and maintained by Vungle.
 
@Vungle
You can verify the issue by including the zip plugin in your test project, You don’t need to add any code in main.lua. Just add the Zip plugin and try to build for iOS.

plugins = { ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle", supportedPlatforms = { iphone=true, android=true } }, ["plugin.zip"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone=true, android=true } } }

I can confirm the duplicate symbol issue. We are working on it to fix it.

Gabor

Excellent news :wink: Let me know please.

Alex

Hi Alex,

just want to update you that we plan to make the new release to fix this on the 1st of November.

Will keep you posted about it.

Gabor

Hi Alex,

as planed the update will go live today. Please try the update later today/tomorrow or whenever you can and let me know if the issue is solved for you.

Thanks

Gabor

Yes, that works! :slight_smile: Thank you so much.

Alex