WebGL Error in a project using vuforia

Hi,

I’m getting an error in a WebGL build:
An error occurred running the Unity content on this page. See your browser’s JavaScript console for more info. The error was:
uncaught exception: abort(“To use dlopen, you need to use Emscripten’s linking support, see Linking · emscripten-core/emscripten Wiki · GitHub”)

I’m using Unity 5.5 p4, latest vuforia SDK.
before upgrading from 5.5.0f3, my build folder was empty after trying to build.

Are you using a native window-x86 plugin ?

No, only the vuforia plugin.
This is the error I’m getting from a development build:

An error occurred running the Unity content on this page. See your browser’s JavaScript console for more info. The error was:
uncaught exception: abort(“To use dlopen, you need to use Emscripten’s linking support, see Linking · emscripten-core/emscripten Wiki · GitHub”) at jsStackTrace (Bills 5.5 webgl.js:859:12)
stackTrace (Bills 5.5 webgl.js:873:11)
abort (Bills 5.5 webgl.js:20120:43)
_dlopen (Bills 5.5 webgl.js:7759:2)
il2cpp::os::LibraryLoader::LoadDynamicLibrary(il2cpp::utils::StringView const&) [__ZN6il2cpp2os13LibraryLoader18LoadDynamicLibraryERKNS_5utils10StringViewIcEE] (blob:1502650:1)
il2cpp::vm::LibraryLoader::LoadLibrary(il2cpp::utils::StringView) [__ZN6il2cpp2vm13LibraryLoader11LoadLibraryENS_5utils10StringViewIcEE] (blob:1685171:1)
il2cpp::vm::PlatformInvoke::Resolve(PInvokeArguments const&) [__ZN6il2cpp2vm14PlatformInvoke7ResolveERK16PInvokeArguments] (blob:427813:1)
int (il2cpp_codegen_resolve_pinvoke<int ()(unsigned int, unsigned int, int), 15u, 28u>(char const (&) [15u], char const (&) [28u], Il2CppCallConvention, Il2CppCharSet, int, bool))(unsigned int, unsigned int, int) [__Z30il2cpp_codegen_resolve_pinvokeIPFijjiELj15ELj28EET_RAT0__KcRAT1__S3_20Il2CppCallConvention13Il2CppCharSetib] (blob:1900468:1)
_VuforiaNativeWrapper_rendererCreateNativeTexture_m499622875 (blob:1940508:1)
_VuforiaNativeWrapper_RendererCreateNativeTexture_m4108368443 (blob:2157988:1)
InterfaceFuncInvoker3<IntPtr_t, unsigned int, unsigned int, int>::Invoke(unsigned int, Il2CppClass*, void*, unsigned int, unsigned int, int) [__ZN21InterfaceFuncInvoker3I8IntPtr_tjjiE6InvokeEjP11Il2CppClassPvjji] (blob:1980354:1)
_VuforiaRendererImpl_createNativeTexture_m3932804897 (blob:1917673:1)
VirtFuncInvoker3<IntPtr_t, int, int, int>::Invoke(unsigned int, void*, int, int, int) [__ZN16VirtFuncInvoker3I8IntPtr_tiiiE6InvokeEjPviii] (blob:2025186:1)
_VideoBackgroundManager_Initialize_m2750973746 (blob:1287887:1)
_VuforiaARController_Awake_m200506594 (blob:1398758:1)
RuntimeInvoker_Void_t1841601450(MethodInfo const*, void*, void**) [_Z31RuntimeInvoker_Void_t1841601450PK10MethodInfoPvPS2] (blob:2208878:1)
dynCall_iiii (blob:2225667:1)
invoke_iiii (Bills 5.5 webgl.js:17185:10)
il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) [__ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException] (blob:1843181:1)
il2cpp::vm::Runtime::InvokeConvertArgs(MethodInfo const*, void*, Il2CppObject**, int, Il2CppException**) [__ZN6il2cpp2vm7Runtime17InvokeConvertArgsEPK10MethodInfoPvPP12Il2CppObjectiPP15Il2CppException] (blob:898438:1)
il2cpp::vm::Runtime::InvokeArray(MethodInfo const*, void*, Il2CppArray*, Il2CppException**) [__ZN6il2cpp2vm7Runtime11InvokeArrayEPK10MethodInfoPvP11Il2CppArrayPP15Il2CppException] (blob:1951518:1)
il2cpp::icalls::mscorlib::System::Reflection::MonoMethod::InternalInvoke(Il2CppReflectionMethod*, Il2CppObject*, Il2CppArray*, Il2CppObject**) [_ZN6il2cpp6icalls8mscorlib6System10Reflection10MonoMethod14InternalInvokeEP22Il2CppReflectionMethodP12Il2CppObjectP11Il2CppArrayPS8] (blob:1258146:1)
dynCall_iiiii (blob:2204978:1)
invoke_iiiii (Bills 5.5 webgl.js:16209:10)
_MonoMethod_Invoke_m3376991795 (blob:787560:1)
VirtFuncInvoker5<Il2CppObject*, Il2CppObject*, int, Binder_t3404612058*, ObjectU5BU5D_t3614634134*, CultureInfo_t3500843524*>::Invoke(unsigned int, void*, Il2CppObject*, int, Binder_t3404612058*, ObjectU5BU5D_t3614634134*, CultureInfo_t3500843524*) [_ZN16VirtFuncInvoker5IP12Il2CppObjectS1_iP18Binder_t3404612058P24ObjectU5BU5D_t3614634134P23CultureInfo_t3500843524E6InvokeEjPvS1_iS3_S5_S7] (blob:1934669:1)
_MethodBase_Invoke_m1075809207 (blob:2133563:1)
_Delegate_DynamicInvokeImpl_m3083854600 (blob:1417270:1)
_MulticastDelegate_DynamicInvokeImpl_m1972355936 (blob:2136393:1)
VirtFuncInvoker1<Il2CppObject*, ObjectU5BU5D_t3614634134*>::Invoke(unsigned int, void*, ObjectU5BU5D_t3614634134*) [_ZN16VirtFuncInvoker1IP12Il2CppObjectP24ObjectU5BU5D_t3614634134E6InvokeEjPvS3] (blob:2039298:1)
_Delegate_DynamicInvoke_m4087640646 (blob:2196836:1)
dynCall_iiii (blob:2225667:1)
invoke_iiii (Bills 5.5 webgl.js:17185:10)
_DelegateHelper_InvokeDelegate_m790092300 (blob:1282998:1)
_DelegateHelper_InvokeWithExceptionHandling_m1427743576 (blob:2089589:1)
_VuforiaAbstractBehaviour_Awake_m232471254 (blob:1990434:1)
_VuforiaBehaviour_Awake_m3772880569 (blob:2066034:1)
RuntimeInvoker_Void_t1841601450(MethodInfo const*, void*, void**) [_Z31RuntimeInvoker_Void_t1841601450PK10MethodInfoPvPS2] (blob:2208878:1)
dynCall_iiii (blob:2225667:1)
invoke_iiii (Bills 5.5 webgl.js:17185:10)
il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) [__ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException] (blob:1843181:1)
_il2cpp_runtime_invoke (blob:2112884:1)
scripting_method_invoke(ScriptingMethodIl2Cpp, Il2CppObject*, ScriptingArguments&, Il2CppException**, bool) [__Z23scripting_method_invoke21ScriptingMethodIl2CppP12Il2CppObjectR18ScriptingArgumentsPP15Il2CppExceptionb] (blob:1974220:1)
ScriptingInvocation::Invoke(Il2CppException**, bool) [__ZN19ScriptingInvocation6InvokeEPP15Il2CppExceptionb] (blob:1437082:1)
ScriptingInvocation::InvokeChecked(Il2CppException**) [__ZN19ScriptingInvocation13InvokeCheckedEPP15Il2CppException] (blob:1839982:1)
MonoBehaviour::CallAwake() [__ZN13MonoBehaviour9CallAwakeEv] (blob:1401840:1)
MonoBehaviour::AddToManager() [__ZN13MonoBehaviour12AddToManagerEv] (blob:1292463:1)
Behaviour::AwakeFromLoad(AwakeFromLoadMode) [__ZN9Behaviour13AwakeFromLoadE17AwakeFromLoadMode] (blob:1904845:1)
MonoBehaviour::AwakeFromLoad(AwakeFromLoadMode) [__ZN13MonoBehaviour13AwakeFromLoadE17AwakeFromLoadMode] (blob:922706:1)
AwakeFromLoadQueue::InvokePersistentManagerAwake(AwakeFromLoadQueue::Item*, unsigned int, AwakeFromLoadMode) [__ZN18AwakeFromLoadQueue28InvokePersistentManagerAwakeEPNS_4ItemEj17AwakeFromLoadMode] (blob:1269468:1)
AwakeFromLoadQueue::PersistentManagerAwakeFromLoad() [__ZN18AwakeFromLoadQueue30PersistentManagerAwakeFromLoadEv] (blob:1752903:1)
LoadSceneOperation::CompleteAwakeSequence() [__ZN18LoadSceneOperation21CompleteAwakeSequenceEv] (blob:1529327:1)
LoadSceneOperation::PlayerLoadSceneFromThread() [__ZN18LoadSceneOperation25PlayerLoadSceneFromThreadEv] (blob:560630:1)
LoadSceneOperation::IntegrateMainThread() [__ZN18LoadSceneOperation19IntegrateMainThreadEv] (blob:1085291:1)
PreloadManager::UpdatePreloadingSingleStep(PreloadManager::UpdatePreloadingFlags, int) [__ZN14PreloadManager26UpdatePreloadingSingleStepENS_21UpdatePreloadingFlagsEi] (blob:961505:1)
PreloadManager::WaitForAllAsyncOperationsToComplete() [__ZN14PreloadManager35WaitForAllAsyncOperationsToCompleteEv] (blob:1841959:1)
RuntimeSceneManager::LoadScene(UnityStr const&, UnityStr const&, UnityStr const&, UnityGUID const&, int, RuntimeSceneManager::LoadingMode) [__ZN19RuntimeSceneManager9LoadSceneERK8UnityStrS2_S2_RK9UnityGUIDiNS_11LoadingModeE] (blob:1874942:1)
PlayerStartFirstScene(bool) [__Z21PlayerStartFirstSceneb] (blob:723464:1)
PlayerLoadFirstScene(bool) [__Z20PlayerLoadFirstSceneb] (blob:1760425:1)
_main (blob:703756:1)
_main [asm._main] (Bills 5.5 webgl.js:18805:9)
callMain (Bills 5.5 webgl.js:20032:13)
doRun (Bills 5.5 webgl.js:20069:40)
run/<@blob:null/9d597942-1c90-4ebf-a131-d22a05b77c16:20078:4

Any other possibility?

I am not familiar with Vuforia but it looks like it’s trying to load a dynamic library like it probably does on other platforms.
The thing is that if Vuforia relies on native plugins, for that to work on Unity WebGL you would either need the C/C++ source code or the pre-built bc file.

Hi guys,
I have the same error. Did any of you manage to solve this yet?