Adding com.unity.transport 1.0.0-pre.12 package causes compilation error on WebGL platform

Hi,

One of our target platforms is WebGL and obviously I’m going to use different transport for it, but for now I want to experiment with several of them including Unity Transport.

But just adding the com.unity.transport 1.0.0-pre.12 package will throw error during compilation:

Library/PackageCache/com.unity.transport@1.0.0-pre.12/Runtime/NetworkSettings.cs(166,36): error CS0246: The type or namespace name 'BaselibNetworkParameter' could not be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/com.unity.transport@1.0.0-pre.12/Runtime/NetworkSettings.cs(168,30): error CS0246: The type or namespace name 'BaselibNetworkParameter' could not be found (are you missing a using directive or an assembly reference?)
Library/PackageCache/com.unity.transport@1.0.0-pre.12/Runtime/NetworkSettings.cs(171,50): error CS0103: The name 'BaselibNetworkParameterExtensions' does not exist in the current context
Library/PackageCache/com.unity.transport@1.0.0-pre.12/Runtime/NetworkSettings.cs(174,47): error CS0103: The name 'BaselibNetworkParameterExtensions' does not exist in the current context
Library/PackageCache/com.unity.transport@1.0.0-pre.12/Runtime/NetworkSettings.cs(177,48): error CS0103: The name 'BaselibNetworkParameterExtensions' does not exist in the current context

/home/bokken/buildslave/unity/build/External/baselib/builds/Include/C/Internal/Baselib_Semaphore_FutexBased.inl.h(151): Assertion failed (count >= 0) - Destruction is not allowed when there are still threads waiting on the semaphore.

Caught fatal signal - signo:5 code:128 errno:0 addr:(nil)
Obtained 17 stack frames.
#0  0x0055e9ec40106c in RegisterRuntimeInitializeAndCleanup::ExecuteCleanup()
#1  0x0055e9ec2b31e0 in RuntimeCleanup()
#2  0x0055e9ed30ce34 in DoQuitEditorWithExitCode(int)
#3  0x0055e9ec414876 in CheckBatchModeErrorString(core::basic_string<char, core::StringStorageDefault<char> > const&)
#4  0x0055e9ed3ebf86 in RefreshInternalV2(AssetDatabase::UpdateAssetOptions, ScanFilter const&, InternalRefreshFlagsV2)
#5  0x0055e9ed3cbbf2 in StopAssetImportingV2(AssetDatabase::UpdateAssetOptions, InternalRefreshFlagsV2, ScanFilter const*)
#6  0x0055e9ed3cbe81 in InitialScriptRefreshV2(bool)
#7  0x0055e9ece835de in Application::InitializeProject()
#8  0x0055e9ed30db58 in InitializeUnity(void*)
#9  0x007f7c5bdb5e23 in g_source_get_time
#10 0x007f7c5bdb53a5 in g_main_context_dispatch
#11 0x007f7c5bdb5770 in g_main_context_dispatch
#12 0x007f7c5bdb5a82 in g_main_loop_run
#13 0x007f7c5cdbca25 in gtk_main
#14 0x0055e9ed30d63c in main
#15 0x007f7c5a84fbf7 in __libc_start_main
#16 0x0055e9eb8ab029 in _start
Trace/breakpoint trap (core dumped)
Build failed, with exit code 133

I don’t expect Unity Transport to work on WebGL, but at least it should be configured to not compile on WebGL by having proper platforms in asmdef.
Is there any workaround for this? Or do I have to make my own version of the package?

Ok, found out this is a recorded bug: Unity Issue Tracker - Unity Transport fails to build on WebGL

So I guess the answer is what is the workaround? Create a local package with the same contents but fixed asmdef?

Yes, until we get this fixed more officially, I think a local package is the most straightforward workaround.

2 Likes

Have this error too, on version v 1.0.0 - March 31, 2022

-langversion:9.0
3078/deterministic
3079/optimize+
3080/debug:portable
3081/nologo
3082/RuntimeMetadataVersion:v4.0.30319
3083/nowarn:0169
3084/nowarn:0649
3085/nowarn:1701
3086/nowarn:1702
3087/utf8output
3088/preferreduilang:en-US
3089-warn:0
3090##### Custom Environment Variables
3091DOTNET_MULTILEVEL_LOOKUP=0
3092##### ExitCode
3093134
3094##### Output
3095No usable version of libssl was found
3096Aborted (core dumped)
3097*** Tundra build failed (5.57 seconds), 214 items updated, 433 evaluated
3098No usable version of libssl was found
3099Aborted (core dumped)
3100No usable version of libssl was found
3101Aborted (core dumped)
3102AssetDatabase: script compilation time: 7.126949s
3103Scripts have compiler errors.
3104Aborting batchmode due to failure:
3105Scripts have compiler errors.
3106/home/bokken/buildslave/unity/build/External/baselib/builds/Include/C/Internal/Baselib_Semaphore_FutexBased.inl.h(151): Assertion failed (count >= 0) - Destruction is not allowed when there are still threads waiting on the semaphore.
3107Caught fatal signal - signo:5 code:128 errno:0 addr:(nil)
3108Obtained 13 stack frames.
3109#0 0x0055f3fe0bdbdc in RegisterRuntimeInitializeAndCleanup::ExecuteCleanup()
3110#1 0x0055f3fdf25b60 in RuntimeCleanup()
3111#2 0x0055f3ff490b0f in DoQuitEditorWithExitCode(int, bool)
3112#3 0x0055f3fe0b5442 in CheckBatchModeErrorString(core::basic_string<char, core::StringStorageDefault > const&)
3113#4 0x0055f3ff844f13 in RefreshInternalV2(AssetDatabase::UpdateAssetOptions, ScanFilter const&, InternalRefreshFlagsV2)
3114#5 0x0055f3ff81c32a in StopAssetImportingV2Internal(AssetDatabase::UpdateAssetOptions, InternalRefreshFlagsV2, ScanFilter const*, char const*)
3115#6 0x0055f3ff81ea49 in InitialRefreshV2(bool)
3116#7 0x0055f3ff3e945f in Application::InitializeProject()
3117#8 0x0055f3ff491e2d in InitializeUnity(void*)
3118#9 0x0055f3ff4914b4 in main
3119#10 0x007f50e401fd90 in __libc_init_first
3120#11 0x007f50e401fe40 in __libc_start_main
3121#12 0x0055f3fd68a029 in _start
3122Trace/breakpoint trap (core dumped)
3123Cleaning up project directory and file based variables

Found solution on my case

You should install libssl1.1 and dotnet-sdk-6.0
On my side, I use Ubuntu 22.04
For libssl1.1 I used
echo “deb Index of /ubuntu impish-security main” | sudo tee /etc/apt/sources.list.d/impish-security.list
apt-get update
apt-get install -y libssl1.1

.net from official site