From the original Steam post I made:
Game: Starbound
Distro: Fedora 27
Pastebin of relevant information: https://pastebin.com/nhwjnhr9Other than the error message, the server functions normally.
The first section is some basic hardware info, just CPU and RAM.
The second section shows what happens when I start, restart, or stop the server. I get an error about missing dependencies, then am asked for my password. GSM then attempts to use apt(?) to get the packages, even though it's on a Fedora distro.
Furthermore, the third section shows that, with the exception of bsdmainutils, the packages reported missing by GSM are already installed.
What can I do to get this message to stop appearing?
I also can't get further games to install because it attempts to install from repositories using apt.
The latest update did a lot of work on dependencies. Please could this be re-tested to identify if there are specific issues remaining
Duplicate of #1540
Now things are even worse; with the same distro and game:
[ERROR ] Install sbserver: Checking dependencies: missing: wget util-linux python2 file gzip bzip2 unzip binutils bc jq glibc.i686 libstdc++.i686
Information! Automatically installing missing dependencies.
sudo: apt: command not found
sudo: apt: command not found
Failure! Unable to install dependencies
Warning! Manually install dependencies.
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install wget util-linux python2 file gzip bzip2 unzip binutils bc jq glibc.i686 libstdc++.i686
Failure! Missing dependencies required to run SteamCMD.
It's still telling me to use apt and is trying to run it. SteamCMD itself also runs just fine.
Something has gone very wrong here. I will re-address this
found a bug with Minecraft and have resolved it. I will check starbound now
just tested the starbound bug on Fedora and it is working correctly. have you updated lgsm?
Tested Fedora 28, cannot reproduce the issue where apt is detected instead of yum/dnf.
https://hastebin.com/hosidaxefa
Though for Minecraft at least, I got these missing packages which are incorrect
[ERROR ] Install mcserver: Checking dependencies: missing: glibc.i686 libstdc++.i686
Warning! ultimatebyte does not have sudo access. Manually install dependencies.
sudo dnf install glibc.i686 libstdc++.i686
Failure! Missing dependencies required to run SteamCMD
SteamCMD is not used for Minecraft, so this is a bug. Also, I am unable to install these packages under Fedora.
Possible fix:
https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_deps.sh#L143-L145
Replace:
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "libstdc++6:i386" ]; then
steamcmdfail=1
fi
With
if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "libstdc++6:i386" ]; then
if [ -n "${appid}" ]; then
steamcmdfail=1
fi
fi
GitHub
LinuxGSM - Linux Game Server Managers_
Edit: Tested working, now would be best to remove these deps when not required.
@CEFinkelstein To me it looks like there is more than LinuxGSM failing going on on your machine.
By any means, do you have apt installed?
What's the output of this ?
which apt
which dpkg
Also, you can try dnf clean packages , might help.
https://github.com/GameServerManagers/LinuxGSM/tree/hotfix/fd-dependecies-1941
GitHub
LinuxGSM - Linux Game Server Managers_
Agree with your fix @UltimateByte please can you add it to the fd-dependecies-1941 branch
Done.
Did it the other way around (check appid first).
https://github.com/GameServerManagers/LinuxGSM/blob/hotfix/fd-dependecies-1941/lgsm/functions/check_deps.sh#L143-L148
GitHub
LinuxGSM - Linux Game Server Managers_
It works perfectly fine on a VM with the same distro, so the issue _is_ my machine.
For the record, however:
[sbserver@localhost ~]$ which apt; which dpkg
/usr/bin/which: no apt in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/sbserver/.local/bin:/home/sbserver/bin)
/usr/bin/dpkg
So your issue comes from the presence of dpkg on a RedHat distro which is nonsense.
LinuxGSM uses the presence of dpkg to check for some requirements, assuming nobody would have it on a non Debian based distro.
Here: https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_deps.sh#L121
This line is executed in fn_deps_detector which is executed in fn_check_loop which is executed in both fn_deps_build_debian and fn_deps_build_redhat, therefore, if a RedHat distro has dpkg, it implies this issue.
I think we can rework these loops to make more sense by seeking for the most appropriate package manager installed depending on the distro, then running loops. Though, the bug here is caused by user installing a Debian based package manager on a RedHat distro which basically should never happen on a properly managed machine, so I don't think there is any emergency to address cases where apt/dpkg are installed on RedHat based distro.
We can also probably improve the distro detection process as well, the current one seems like a patched up process that could use some rework.
https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/info_distro.sh#L22-L62
@dgibbs64
In the end, in the long run, I think we should add a package manager detection in info_distro.sh, then select the best package manager depending on which are detected and which distro is installed, but warn the user if multiple are found (and keep warning if packages cannot be checked), then finally use the package manager to proceed the check_deps.sh script.
Also, the fix I just made is kind of critical for RedHat based distros and should be released as a hotfix ASAP, so I will PR.
GitHub
LinuxGSM - Linux Game Server Managers_
GitHub
LinuxGSM - Linux Game Server Managers_
Ran dnf remove dpkg on the problematic machine and everything's fixed. Thanks for your insight!
I can confirm that Fedora is now fixed.
(but hastebin's website, and so postdetails is broken at the moment, so here is a pastebin)
https://pastebin.com/raw/5JdwuYCd
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
Ran
dnf remove dpkgon the problematic machine and everything's fixed. Thanks for your insight!