unity 5.5.0p1@@@@undefined reference to `UnityAdsEngineSetReadyCallback'

I got the error below on Unity5.5.0p1.

Failed running /Applications/Unity/Unity.app/Contents/il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a/libil2cpp.so" --cachedirectory="/Users/user/dev/dev_project/MyProject/Assets/../Library/il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/bdwgc/include" --additional-include-directories="/Applications/Unity/PlaybackEngines/AndroidPlayer/Tools/libil2cpp/include" --tool-chain-path="/Users/user/dev/dev_sdk/android-ndk-r10e" --map-file-parser="/Applications/Unity/Unity.app/Contents/Tools/MapFileParser/MapFileParser" --extra-types.file="/Applications/Unity/Unity.app/Contents/il2cpp/il2cpp_default_extra_types.txt" --assembly="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll" --assembly="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Managed/Assembly-CSharp.dll" --assembly="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Managed/UnityEngine.UI.dll" --assembly="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Managed/UnityEngine.dll" --generatedcppdir="/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput"

stdout:
Building libil2cpp.so with AndroidToolChain.
    Output directory: /Users/user/dev/dev_project/MyProject/Temp/StagingArea/assets/bin/Data/Native/armeabi-v7a
    Cache directory: /Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache
ObjectFiles: 463 of which compiled: 463
    Time Compile: 79888 milliseconds Bulk_mscorlib_6.cpp
    Time Compile: 46511 milliseconds Bulk_Generics_9.cpp
    Time Compile: 34168 milliseconds Bulk_Assembly-CSharp_0.cpp
    Time Compile: 34017 milliseconds Bulk_SmartFox2X_0.cpp
    Time Compile: 33993 milliseconds Bulk_Assembly-CSharp_1.cpp
    Time Compile: 32697 milliseconds Bulk_mscorlib_1.cpp
    Time Compile: 32074 milliseconds Bulk_Generics_3.cpp
    Time Compile: 31245 milliseconds Bulk_Assembly-CSharp_2.cpp
    Time Compile: 31087 milliseconds Il2CppAttributes.cpp
    Time Compile: 30759 milliseconds GenericMethods0.cpp
Total compilation time: 335014 milliseconds.
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: /Users/user/dev/dev_sdk/android-ndk-r10e/toolchains/llvm-3.6/prebuilt/darwin-x86_64/bin/clang++ @"/var/folders/q6/z6537t090bg4dlz75vb2ybbw0000gn/T/tmp236d71ad.tmp" -o "/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/linkresult_4450829277B250515284B18C9FFF5B2F/libil2cpp.so" -Wl,-soname,libil2cpp.so -shared -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "/Users/user/dev/dev_sdk/android-ndk-r10e/platforms/android-9/arch-arm" -gcc-toolchain "/Users/user/dev/dev_sdk/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64" -target armv7-none-linux-androideabi -L "/Users/user/dev/dev_sdk/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a" -lgnustl_static -Xlinker -Map="/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/linkresult_4450829277B250515284B18C9FFF5B2F/libil2cpp.map" -fuse-ld=bfd

/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetReadyCallback_m1582591888':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4726: undefined reference to `UnityAdsEngineSetReadyCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidErrorCallback_m3697589822':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4740: undefined reference to `UnityAdsEngineSetDidErrorCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidStartCallback_m3734106350':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4754: undefined reference to `UnityAdsEngineSetDidStartCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidFinishCallback_m3525357552':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4768: undefined reference to `UnityAdsEngineSetDidFinishCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetReadyCallback_m1582591888':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4726: undefined reference to `UnityAdsEngineSetReadyCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidErrorCallback_m3697589822':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4740: undefined reference to `UnityAdsEngineSetDidErrorCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidStartCallback_m3734106350':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4754: undefined reference to `UnityAdsEngineSetDidStartCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidFinishCallback_m3525357552':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4768: undefined reference to `UnityAdsEngineSetDidFinishCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineInitialize_m2452381479':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4586: undefined reference to `UnityAdsEngineInitialize'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineShow_m3023857535':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4604: undefined reference to `UnityAdsEngineShow'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetDebugMode_m2528993602':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4618: undefined reference to `UnityAdsEngineGetDebugMode'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDebugMode_m2894194785':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4629: undefined reference to `UnityAdsEngineSetDebugMode'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineIsReady_m3696603805':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4643: undefined reference to `UnityAdsEngineIsReady'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetPlacementState_m1567629221':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4662: undefined reference to `UnityAdsEngineGetPlacementState'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetVersion_m2821817487':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4677: undefined reference to `UnityAdsEngineGetVersion'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetMetaData_m870909269':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4704: undefined reference to `UnityAdsEngineSetMetaData'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetVersion_m2821817487':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4677: undefined reference to `UnityAdsEngineGetVersion'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetDebugMode_m2528993602':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4618: undefined reference to `UnityAdsEngineGetDebugMode'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDebugMode_m2894194785':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4629: undefined reference to `UnityAdsEngineSetDebugMode'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineInitialize_m2452381479':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4586: undefined reference to `UnityAdsEngineInitialize'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineIsReady_m3696603805':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4643: undefined reference to `UnityAdsEngineIsReady'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineGetPlacementState_m1567629221':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4662: undefined reference to `UnityAdsEngineGetPlacementState'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineShow_m3023857535':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4604: undefined reference to `UnityAdsEngineShow'
clang: error: linker command failed with exit code 1 (use -v to see invocation)


  at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles (IEnumerable`1 objectFiles, Unity.IL2CPP.Building.ToolChains.CppToolChainContext toolChainContext) <0x117988e10 + 0x00571> in <filename unknown>:0
  at Unity.IL2CPP.Building.CppProgramBuilder.Build () <0x1176bd0a0 + 0x0080c> in <filename unknown>:0
  at il2cpp.Program.DoRun (System.String[] args) <0x11183d6a0 + 0x012dd> in <filename unknown>:0
  at il2cpp.Program.Run (System.String[] args) <0x10f7bf0d0 + 0x0007b> in <filename unknown>:0
  at il2cpp.Program.Main (System.String[] args) <0x10f7bee40 + 0x0002c> in <filename unknown>:0
stderr:

Unhandled Exception:
Unity.IL2CPP.Building.BuilderFailedException: /Users/user/dev/dev_sdk/android-ndk-r10e/toolchains/llvm-3.6/prebuilt/darwin-x86_64/bin/clang++ @"/var/folders/q6/z6537t090bg4dlz75vb2ybbw0000gn/T/tmp236d71ad.tmp" -o "/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/linkresult_4450829277B250515284B18C9FFF5B2F/libil2cpp.so" -Wl,-soname,libil2cpp.so -shared -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "/Users/user/dev/dev_sdk/android-ndk-r10e/platforms/android-9/arch-arm" -gcc-toolchain "/Users/user/dev/dev_sdk/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64" -target armv7-none-linux-androideabi -L "/Users/user/dev/dev_sdk/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a" -lgnustl_static -Xlinker -Map="/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/linkresult_4450829277B250515284B18C9FFF5B2F/libil2cpp.map" -fuse-ld=bfd

/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetReadyCallback_m1582591888':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4726: undefined reference to `UnityAdsEngineSetReadyCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidErrorCallback_m3697589822':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4740: undefined reference to `UnityAdsEngineSetDidErrorCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidStartCallback_m3734106350':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4754: undefined reference to `UnityAdsEngineSetDidStartCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidFinishCallback_m3525357552':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4768: undefined reference to `UnityAdsEngineSetDidFinishCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetReadyCallback_m1582591888':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4726: undefined reference to `UnityAdsEngineSetReadyCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidErrorCallback_m3697589822':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4740: undefined reference to `UnityAdsEngineSetDidErrorCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidStartCallback_m3734106350':
/Users/user/dev/dev_project/MyProject/Temp/StagingArea/Il2Cpp/il2cppOutput/Bulk_UnityEngine.Advertisements_0.cpp:4754: undefined reference to `UnityAdsEngineSetDidStartCallback'
/Users/user/dev/dev_project/MyProject/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/3668DFA71B2342892D14A781CF2B0B1F.o: In function `Platform_UnityAdsEngineSetDidFinishCallback_m3525<message truncated>

but everything is ok on Unity 5.4
how can i fix it?

This is an existing bug in Unity 5.5.0f3 and 5.5.0p1 which prevents the Unity Engine ads integration from working with Android and IL2CPP. You can correct this bug switching to the Asset Store Ads package for now. We’re planning to have a fix for this issue available soon.

1 Like

I have a similar error on XCode output window after build and run on device (and the game crashes or freeze)

Unable to resolve pinvoke method 'UnityEngine.Advertisements.iOS.Platform:UnityAdsEngineSetReadyCallback (UnityEngine.Advertisements.iOS.Platform/unityAdsReady)' Re-run with MONO_LOG_LEVEL=debug for more information.

Also, I’m running 5.5.0p3 and not using IL2CPP. Is this related?

It does seem to be related. So are you running on iOS with Mono? Does it work with IL2CPP instead?

It worked with IL2CPP

I also have this error in our game, although the game doesn’t crash but ads do not work. This was reported on the Game performance page on unity analytics

EntryPointNotFoundException: Unable to find an entry point named 'UnityAdsEngineSetReadyCallback' in '__InternalDynamic'.
  • The weird about this is that when we installed from XCode the Unity Ads work. But it is the same build we submitted, the one from the store doesn’t work.

Ok, thanks for the information both. So it looks like the Unity Ads engine integration does not work with Mono on iOS. That is a bug, but I’m not sure whether we will correct it, as you can’t ship to the Apple App Store using Mono anyway. But it might be worth submitting a bug report and we can investigate it.

As a work around, I believe the asset store Unity Ads package does work with Mono on iOS, so you may be able to try that instead.

Am I correct in thinking that this is only an issue with Mono on iOS? Or is there another platform/scripting backend configuration that is a problem?

I believe that it doesn’t work on IL2CPP for iOS as well (compiled with IL2CPP backend and tested on iPhone 5S - ads works when running from XCode but doesn’t work when downloaded from TestFlight to test).

Confirming as well that the Unity Ads from the asset store works. We just submitted an update for our game.

  • will try to do additional tests this weekend

@Kebenchen

This issue should be corrected for iOS and IL2CPP on 5.5.0p3 and later. Can you give that version a try?

I can confirm that it is working on iOS IL2CPP built with 5.5.0p3 but with the Asset Store version not the one in the Unity Services Panel.

@Kebenchen

Thanks for the information. Can you submit a bug report with your project? There might be something subtle going on here that we have missed.

5.5.1p3 android version - started to behave the same. 5.5.1p1 works.

2 Likes

5.5.1p4 also fails to build using IL2CPP on Android using the builtin Ads services, referencing UnityAd stuff.

@Strom_CL

Unfortunately this bug slipped back in to a patch release. It will be corrected in the 5.5.2 release though.