[GH-ISSUE #1941] Fedora 27 - Unable to install missing dependencies. #1528

Closed
opened 2026-02-27 02:57:38 +03:00 by kerem · 17 comments
Owner

Originally created by @0mnyx on GitHub (Jul 19, 2018).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1941

Originally assigned to: @dgibbs64 on GitHub.

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.

Originally created by @0mnyx on GitHub (Jul 19, 2018). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1941 Originally assigned to: @dgibbs64 on GitHub. 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.
Author
Owner

@dgibbs64 commented on GitHub (Jul 20, 2018):

The latest update did a lot of work on dependencies. Please could this be re-tested to identify if there are specific issues remaining

<!-- gh-comment-id:406733704 --> @dgibbs64 commented on GitHub (Jul 20, 2018): The latest update did a lot of work on dependencies. Please could this be re-tested to identify if there are specific issues remaining
Author
Owner

@dgibbs64 commented on GitHub (Jul 21, 2018):

Duplicate of #1540

<!-- gh-comment-id:406794368 --> @dgibbs64 commented on GitHub (Jul 21, 2018): Duplicate of #1540
Author
Owner

@0mnyx commented on GitHub (Jul 22, 2018):

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.

<!-- gh-comment-id:406834818 --> @0mnyx commented on GitHub (Jul 22, 2018): 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.
Author
Owner

@dgibbs64 commented on GitHub (Jul 22, 2018):

Something has gone very wrong here. I will re-address this

<!-- gh-comment-id:406835317 --> @dgibbs64 commented on GitHub (Jul 22, 2018): Something has gone very wrong here. I will re-address this
Author
Owner

@dgibbs64 commented on GitHub (Jul 22, 2018):

found a bug with Minecraft and have resolved it. I will check starbound now

<!-- gh-comment-id:406854448 --> @dgibbs64 commented on GitHub (Jul 22, 2018): found a bug with Minecraft and have resolved it. I will check starbound now
Author
Owner

@dgibbs64 commented on GitHub (Jul 22, 2018):

just tested the starbound bug on Fedora and it is working correctly. have you updated lgsm?

<!-- gh-comment-id:406854965 --> @dgibbs64 commented on GitHub (Jul 22, 2018): just tested the starbound bug on Fedora and it is working correctly. have you updated lgsm?
Author
Owner

@UltimateByte commented on GitHub (Jul 22, 2018):

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.

<!-- gh-comment-id:406856890 --> @UltimateByte commented on GitHub (Jul 22, 2018): 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. <blockquote><div><strong><a href="https://hastebin.com/hosidaxefa">hastebin</a></strong></div></blockquote>
Author
Owner

@UltimateByte commented on GitHub (Jul 22, 2018):

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.

<!-- gh-comment-id:406857187 --> @UltimateByte commented on GitHub (Jul 22, 2018): Possible fix: https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/check_deps.sh#L143-L145 Replace: ```bash if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "libstdc++6:i386" ]; then steamcmdfail=1 fi ``` With ```bash if [ "${deptocheck}" == "glibc.i686" ]||[ "${deptocheck}" == "libstdc++64.i686" ]||[ "${deptocheck}" == "lib32gcc1" ]||[ "${deptocheck}" == "libstdc++6:i386" ]; then if [ -n "${appid}" ]; then steamcmdfail=1 fi fi ``` <blockquote><img src="https://avatars2.githubusercontent.com/u/20358373?s=400&v=4" width="48" align="right"><div><img src="https://assets-cdn.github.com/favicon.ico" height="14"> GitHub</div><div><strong><a href="https://github.com/GameServerManagers/LinuxGSM">GameServerManagers/LinuxGSM</a></strong></div><div>LinuxGSM - Linux Game Server Managers_</div></blockquote> Edit: Tested working, now would be best to remove these deps when not required.
Author
Owner

@UltimateByte commented on GitHub (Jul 22, 2018):

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

<!-- gh-comment-id:406858093 --> @UltimateByte commented on GitHub (Jul 22, 2018): @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 ? ```bash which apt which dpkg ``` Also, you can try `dnf clean packages` , might help.
Author
Owner

@dgibbs64 commented on GitHub (Jul 23, 2018):

https://github.com/GameServerManagers/LinuxGSM/tree/hotfix/fd-dependecies-1941

GitHub
LinuxGSM - Linux Game Server Managers_
<!-- gh-comment-id:407183825 --> @dgibbs64 commented on GitHub (Jul 23, 2018): https://github.com/GameServerManagers/LinuxGSM/tree/hotfix/fd-dependecies-1941 <blockquote><img src="https://avatars2.githubusercontent.com/u/20358373?s=400&v=4" width="48" align="right"><div><img src="https://assets-cdn.github.com/favicon.ico" height="14"> GitHub</div><div><strong><a href="https://github.com/GameServerManagers/LinuxGSM">GameServerManagers/LinuxGSM</a></strong></div><div>LinuxGSM - Linux Game Server Managers_</div></blockquote>
Author
Owner

@dgibbs64 commented on GitHub (Jul 23, 2018):

Agree with your fix @UltimateByte please can you add it to the fd-dependecies-1941 branch

<!-- gh-comment-id:407184447 --> @dgibbs64 commented on GitHub (Jul 23, 2018): Agree with your fix @UltimateByte please can you add it to the `fd-dependecies-1941` branch
Author
Owner

@UltimateByte commented on GitHub (Jul 23, 2018):

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_
<!-- gh-comment-id:407202953 --> @UltimateByte commented on GitHub (Jul 23, 2018): 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 <blockquote><img src="https://avatars2.githubusercontent.com/u/20358373?s=400&v=4" width="48" align="right"><div><img src="https://assets-cdn.github.com/favicon.ico" height="14"> GitHub</div><div><strong><a href="https://github.com/GameServerManagers/LinuxGSM">GameServerManagers/LinuxGSM</a></strong></div><div>LinuxGSM - Linux Game Server Managers_</div></blockquote>
Author
Owner

@0mnyx commented on GitHub (Jul 23, 2018):

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
<!-- gh-comment-id:407234257 --> @0mnyx commented on GitHub (Jul 23, 2018): 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 ```
Author
Owner

@UltimateByte commented on GitHub (Jul 24, 2018):

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_
<!-- gh-comment-id:407239796 --> @UltimateByte commented on GitHub (Jul 24, 2018): 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. <blockquote><img src="https://avatars2.githubusercontent.com/u/20358373?s=400&v=4" width="48" align="right"><div><img src="https://assets-cdn.github.com/favicon.ico" height="14"> GitHub</div><div><strong><a href="https://github.com/GameServerManagers/LinuxGSM">GameServerManagers/LinuxGSM</a></strong></div><div>LinuxGSM - Linux Game Server Managers_</div></blockquote> <blockquote><img src="https://avatars2.githubusercontent.com/u/20358373?s=400&v=4" width="48" align="right"><div><img src="https://assets-cdn.github.com/favicon.ico" height="14"> GitHub</div><div><strong><a href="https://github.com/GameServerManagers/LinuxGSM">GameServerManagers/LinuxGSM</a></strong></div><div>LinuxGSM - Linux Game Server Managers_</div></blockquote>
Author
Owner

@0mnyx commented on GitHub (Jul 24, 2018):

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

<!-- gh-comment-id:407256332 --> @0mnyx commented on GitHub (Jul 24, 2018): Ran `dnf remove dpkg` on the problematic machine and everything's fixed. Thanks for your insight!
Author
Owner

@UltimateByte commented on GitHub (Jul 26, 2018):

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

<!-- gh-comment-id:408236134 --> @UltimateByte commented on GitHub (Jul 26, 2018): 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 <blockquote></blockquote>
Author
Owner

@lock[bot] commented on GitHub (Jul 26, 2019):

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.

<!-- gh-comment-id:515605910 --> @lock[bot] commented on GitHub (Jul 26, 2019): 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.
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#1528
No description provided.