GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.25k stars 813 forks source link

[BUG] [fix?] Dependency name mismatch on Debian Buster - lib32stdc++6 #3464

Closed victroniko closed 3 years ago

victroniko commented 3 years ago

User Story

When installing UT99 Server with LGSM on a 32-bit Debian Buster machine, script warns about missing «lib32stdc++6» dependency. Bug might affect other games too, as stated in _checkdeps.sh:

All servers except ts3, mumble, GTA and minecraft servers require lib32stdc++6 and lib32gcc1.

Installed UT2004 for testing purposes and indeed, the same error occurs.

Basic info

To Reproduce

  1. Setup a freshly installed, 32-bit Debian Buster machine (VM or physical)
  2. Install UT99 Server following LGSM guide & tip about sudo
  3. Among others, script will try to install «lib32stdc++6» and fail
  4. Answer 'Y' to the install sucessful? prompt anyway
  5. The script will continue & end gracefully

From this point onwards every action (start/stop/details/etc) will attempt to finish the install, bringing the same error. But the server and its commands will work perfectly.

Temporary fix

Correct name for dependency in this specific scenario (arch/distro/version) should be «libstdc++6». Same for «lib32gcc1», should be «libgcc1» (though I didn't find problems with this one).

Before running the installer, change all instances of missing deps to the correct ones in _~/lgsm/functions/checkdeps.sh - Now the game servers should no longer fail :)

(BTW, why 32-bit? i'm re-purposing this Pentium T2080 box for light, home serving duties.)

digieon commented 3 years ago

Similiar-ish bug encounter on my server:

mcbserver@jsubuntu02:~$ ./mcbserver r
Warning! Missing dependencies: lib32gcc1
Warning! mcbserver does not have sudo access. Manually install dependencies.
root@jsubuntu02:~# sudo apt install lib32gcc1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package lib32gcc1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  lib32gcc-s1

E: Package 'lib32gcc1' has no installation candidate

lib32gcc-s1 installs and runs without issue, all my servers run fine, but I get this warning right now.

root@jsubuntu02:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:        21.04
Codename:       hirsute
dgibbs64 commented 3 years ago

I will be sorting this issue out for the next release :)

dgibbs64 commented 3 years ago

So for the originally posted issue, the dependencies are designed for 64 bit distros since it is now very rare for anyone uses 32-bit distros. I removed support for 32-bit because of the large overhead of managing something that few use. But well done on recycling the old kit.

dgibbs64 commented 3 years ago

@onenzz your issue is because 21.04 is not explicitly added to the dependency checking. A refactor of this functionality will be done in the future. It is recommended to use an LTS release of Ubuntu

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.