Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Bienvenue Guest!

Rejoignez la communauté pour avoir accès à l'entièreté du site! Une fois que vous serez enregistré, vous pourrez créer, aider, partager et discuter avec les membres de la communauté et également participer à l'amélioration du site. Alors, qu'attendez vous ? Enregistrez-vous !

Sign in to follow this  
FiveM

Important: FiveM Linux server builds at risk

Recommended Posts

FiveM

@nihonium wrote:

We regret to have to announce that the FiveM/FXServer Linux server builds are considered an endangered species. This is due to the following reasons:

  • Alpine dropped libc++ packages and didn’t update clang packages for quite some time. This broke our build as they no longer provide libc++ at all.
  • gcc is unsuitable for compiling FiveM codebase due to bugs with advanced C++ features, and insufficient error reporting to write code around it. This code compiles fine with both clang and cl, meanwhile even GCC 8.2.0 does not work.
  • libstdc++ was long-unsuitable for building FiveM, now does work at compile-time but there’s runtime errors due to TLS models, dlopen with RTLD_LOCAL and Mono, so any libstdc++ build of FiveM would be unable to have Mono work. libc++ does handle this properly.
  • Other distributions (non-Alpine) are not suited for distribution as a minimal root filesystem + ‘portable’ binary (not dependent on any system files/libraries), since they either use glibc (which depends on a hardcoded prefix), are too large, or similarly don’t ship dependencies we require (mono, v8, libc++/clang, libcurl working with OpenSSL/mbedTLS since nodejs does not build with libressl and musl does not support symbol versioning).
  • In addition, breakpad does not build with musl (only supports glibc and bionic), so we can’t do any server crash reporting, so Linux builds are useless for helping reporting any server issues. Also, performance profilers are markedly inferior to ETW on Windows, and gdb breaks with our musl setup and shows ‘no shared libraries loaded’ when clearly having shared libraries loaded. This has made Linux a horrible experience for server owners experiencing any uncommon issues, as we literally can’t get any data off of their issue reports.

If anyone here happens to have sufficient experience with dealing with portable Linux toolchains, can perhaps nudge the Alpine maintainers to mainline libc++ again (or update LLVM to 7.0, see a recent pull request by an Alpine community member), or otherwise knows how to fix this, help would be very appreciated.

It is recommended to move servers to Windows to maintain service continuity, and have the ability to upload dumps and other diagnostics due to the superior runtime instrumentation tooling existing on the Windows platform.

For now, we are investigating our options when it comes to reviving the Linux builds.

Posts: 47

Participants: 26

Read full topic

Afficher l’article complet

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

En utilisant ce site, vous acceptez les présents règlements Terms of Use, Privacy Policy,Guidelines.