BUILD ERROR: There was a problem linking the app

I succeeded at 2019-08-30 in building an app using Corona-3512, but at 2019-09-13 the exactly same building process failed. I tested also Corona-3522 and Corona-3523, but all failed. The app is Corona Simulator, Mac.

I have tried tens of times in few past days, but all failed.

I have also tried MinimumOSVersion 8.0, 9.0, 10.0 and 10.3 (build.settings) and without MinimumOSVersion, but all fails with a bit different errors, but all are related to Appodeal Plugin.
 

The error is “ERROR: Build Failed: There was a problem linking the app.” and the relevant portion of the log is:

ld: warning: object file (/Users/timo/Documents/tyotiedostot/corona/stones\_ios/StarStones.app/.build/plugin.appodeal.Flurry/libAPDFlurryAdapter.a(APDFlurryAdapter.o)) was built for newer iOS version (9.0) than being linked (8.0)                     ld: warning: object file (/Users/timo/Documents/tyotiedostot/corona/stones\_ios/StarStones.app/.build/plugin.appodeal.Flurry/libAPDFlurryAdapter.a(APDFlurryAdNetwork.o)) was built for newer iOS version (9.0) than being linked (8.0)                     ld: warning: object file (/Users/timo/Documents/tyotiedostot/corona/stones\_ios/StarStones.app/.build/plugin.appodeal.Flurry/libAPDFlurryAdapter.a(APDFlurryNativeAdAdapter.o)) was built for newer iOS version (9.0) than being linked (8.0)                     ld: warning: object file (/Users/timo/Documents/tyotiedostot/corona/stones\_ios/StarStones.app/.build/plugin.appodeal.Flurry/libAPDFlurryAdapter.a(Pods-APDFlurryAdapter-dummy.o)) was built for newer iOS version (9.0) than being linked (8.0)                     ld: warning: object file (/tmp/lto.o) was built for newer iOS version (9.0) than being linked (8.0)                     undef: \_OBJC\_CLASS\_$\_FBSDKTypeUtility                     ld: warning: Could not find auto-linked framework 'ASKDiskUtils'                     ld: warning: Could not find auto-linked framework 'AppodealVASTKit'                     ld: warning: Could not find auto-linked framework 'ASKProductPresentation'                     ld: warning: Could not find auto-linked framework 'ASKUIExtension'                     ld: warning: Could not find auto-linked framework 'AppodealNASTKit'                     ld: warning: Could not find auto-linked framework 'ASKExtension'                     ld: warning: Could not find auto-linked framework 'ASKViewabilityTracker'                     ld: warning: Could not find auto-linked framework 'AppodealDocumentParser'                     ld: warning: Could not find auto-linked framework 'ASKSpinner'                     ld: warning: Could not find auto-linked framework 'AppodealVASTAssets'                     ld: warning: Could not find auto-linked framework 'AppodealMRAIDKit'                     ld: warning: Could not find auto-linked framework 'ASKGraphicButton'                     ld: warning: Could not find auto-linked framework 'OverlayPosition'                     ld: warning: Could not find auto-linked framework 'ASKJSON'                     ld: warning: Could not find auto-linked framework 'AppodealVideoPlayer'                     ld: warning: Could not find auto-linked framework 'ASKLogger'                     ld: warning: Could not find auto-linked framework 'AppodealRichMedia'                     ld: warning: Could not find auto-linked framework 'AdComplain'                     Undefined symbols for architecture armv7:                       "\_OBJC\_CLASS\_$\_FBSDKTypeUtility", referenced from:                           objc-class-ref in lto.o                     ld: symbol(s) not found for architecture armv7                     clang: error: linker command failed with exit code 1 (use -v to see invocation) Sep 13 12:25:54.180 BUILD ERROR: There was a problem linking the app.                                          Check the console for more information. Sep 13 12:25:54.180  Sep 13 12:25:54.241 iOS build failed (12) after 166 seconds Sep 13 12:25:54.581 ERROR: Build Failed: There was a problem linking the app.                                          Check the console for more information. Sep 13 12:25:54.581 

My build.settings is this in both when succeeded and failed:
 

settings = { orientation = { default ="portrait", supported = {"portrait"}, }, iphone = { xcassets = "Images.xcassets", plist = { --MinimumOSVersion = "10.3", NSLocationAlwaysAndWhenInUseUsageDescription = 'This permission will never be called. If you see this, deny access.', NSLocationAlwaysUsageDescription= 'This permission will never be called. If you see this, deny access.', NSLocationWhenInUseUsageDescription= 'This permission will never be called. If you see this, deny access.', UILaunchStoryboardName = "LaunchScreen", -- Required! CFBundleShortVersionString = "2.2", CFBundleVersion = "2.2", CFBundleIconName = "AppIcon", UIPrerenderedIcon=true, NSAppTransportSecurity = { NSAllowsArbitraryLoads = true }, NSAppTransportSecurity = { NSAllowsArbitraryLoads = true } } }, plugins = { -- Base ['plugin.appodeal.base'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.GoogleAdMob'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, -- Banner ['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Yandex'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AmazonAds'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.TwitterMoPub'] = { publisherId = 'com.coronalabs' }, -- Interstitial ['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Chartboost'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Mobvista'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.Ogury'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.AmazonAds'] = { publisherId = 'com.coronalabs' }, ['plugin.appodeal.TwitterMoPub'] = { publisherId = 'com.coronalabs' }, -- Rewarded Video --['plugin.appodeal.AdColony'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.AppLovin'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Chartboost'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.FacebookAudience'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Flurry'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.InMobi'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.IronSource'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Mobvista'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.MyTarget'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.StartApp'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Unity'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Vungle'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.Tapjoy'] = { publisherId = 'com.coronalabs' }, --['plugin.appodeal.TwitterMoPub'] = { publisherId = 'com.coronalabs' }, ["plugin.wrapper"] = { -- required publisherId = "it.eaze", }, --Google in app billing v3 ["plugin.google.iap.v3"] = { -- required publisherId = "com.coronalabs", supportedPlatforms = { android = true }, }, -- key is the name passed to Lua's 'require()' ["plugin.iap\_badger"] = { -- required publisherId = "uk.co.happymongoose", }, }, }

The problem seems to lie with the Flurry plugin. There was an update to the non-beta channel on 9/5/2019. This is likely why you could build before, but you can’t now. If you don’t need it, try commenting it out. I’ve seen some other people with similar errors that setting:

MinimumOSVersion = “9.0”

should fix it.

I’m checking with Engineering to see what the changes were that were made on 9/5. 

Rob

I tried commenting out all occurrenses of the Flurry plugin. The build still failed with the same error.

Also tried MinimumOSVersion = “9.0”, but that either didn’t lead to successfull build. The error is a bit different:
 

ld: warning: object file (/Users/timo/Documents/tyotiedostot/corona/stones\_ios/StarStones.app/.build/plugin.appodeal.base/libplugin\_appodeal\_base.a(AppodealLibrary.o)) was built for newer iOS version (10.3) than being linked (9.0)

The above error message lead me to try also targeting to MinimumOSVersion 10.3, but it would make the audience too narrow. Also targeting 10.3 fails, now without “was built for newer iOS version” notification, but with notification:

Undefined symbols for architecture arm64:                      "\_OBJC\_CLASS\_$\_FBSDKTypeUtility", referenced from:                           objc-class-ref in lto.o                    ld: symbol(s) not found for architecture arm64".

Error comes from Facebook plugin, not from Flurry. Warnings does not make build fail. Let me see if I can fix the error.

Sorry about the mishap. It should be fixed now.

Yes. Now it builds normally. Thanks!

Seems like there is a problem with Facebook plugin again. When I build I get the error, with no changes to a project that worked just fine before the holidays, and when I remove the Facebook plugin from build.settings, the build process works again.

The Facebook v4a plugin was updated on 11/26. Are you using the latest daily build of Corona?

Rob

Yes I tried with latest build, but also went back to the previous version I had installed  2019.3551

In both cases, when Facebook is enabled in build.settings:

Undefined symbols for architecture armv7:

  “_OBJC_CLASS_$_WKWebView”, referenced from:

      objc-class-ref in FBSDKCoreKit(FBSDKWebViewAppLinkResolver.o)

      objc-class-ref in FBSDKCoreKit(FBSDKWebDialogView.o)

ld: symbol(s) not found for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Jan 02 23:08:31.168: BUILD ERROR: There was a problem linking the app.

 

 

Build.settings lines I remove:

            [“plugin.facebook.v4a”] =

            {

                    publisherId = “com.coronalabs”,

                    supportedPlatforms = { iphone=true, android=true, [“android-kindle”]=true }

            },

Sorry about this. Latest builds should not have this issue. I put a fix into a plugin for older builds. If it happens again, please, post the full error message to pastebin.com.

(Upldate should be up in about 15 minutes.)

Hi vlads

Super duper. It works now.

I don’t know what you mean by older builds? The build didn’t work for 2019.3565 from 27. December, which was the latest public build at the time, either?