godotengine / webrtc-native

The official GDNative WebRTC implementation for non-html exports.
MIT License
210 stars 34 forks source link

Linux: bad glibc version #91

Closed Trey2k closed 1 year ago

Trey2k commented 1 year ago

Godot version

4.0.2-stable

Plugin version

v1.0.0-rc1

System information

Docker Ubuntu 16.04

Issue description

I have a docker container with my custom godot build running on Ubuntu 16.04, I use the container for CI exports of my game. It seems like the addon is being built on a system with too new of a glib C version:

ERROR: Can't open dynamic library: /build/addons/webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so. Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /build/addons/webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so)
   at: open_dynamic_library (drivers/unix/os_unix.cpp:447)
ERROR: GDExtension dynamic library not found: /build/addons/webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so
   at: open_library (core/extension/gdextension.cpp:400)
ERROR: Failed loading resource: res://addons/webrtc/webrtc.gdextension. Make sure resources have been imported by opening the project in the editor at least once.
   at: _load (core/io/resource_loader.cpp:222)

Maybe build root could be used here? If not maybe the releases should be built by hand on a VM.

Steps to reproduce

Try to use the extension on Ubuntu 16.04

Minimal reproduction project

N/A

Faless commented 1 year ago

Well, it seems the issue is actually about libstdc++ (so probably #109 should fix it already), but I've opened #112 to use the Godot toolchain for Linux builds.

Can you confirm artifacts from that PR works on your container? https://github.com/godotengine/webrtc-native/suites/13972911771/artifacts/779157850

Faless commented 1 year ago

Okay, I managed to try Ubuntu 16.04 in a VM and confirmed the buildroot is needed. Without #112 (i.e. only #109) the error is the following:

ERROR: Can't open dynamic library: /home/ubuntu/4.0_min/webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so. Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /home/ubuntu/4.0_min/webrtc/lib/libwebrtc_native.linux.template_debug.x86_64.so)

While with #112 everything works as expected.

Trey2k commented 1 year ago

I am able to confirm success on my end as well now with #112. Thanks for the quick fix!