Linuxgsm: Fedora 27 - Unable to install missing dependencies.

Created on 19 Jul 2018  路  17Comments  路  Source: GameServerManagers/LinuxGSM

From the original Steam post I made:

Game: Starbound
Distro: Fedora 27
Pastebin of relevant information: https://pastebin.com/nhwjnhr9

Other 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.

Fedora issue resolved

Most helpful comment

Ran dnf remove dpkg on the problematic machine and everything's fixed. Thanks for your insight!

All 17 comments

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.

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.

Was this page helpful?
0 / 5 - 0 ratings