mirror of
https://github.com/GameServerManagers/LinuxGSM.git
synced 2026-04-25 06:05:57 +03:00
[GH-ISSUE #3312] Missing dependencies Python3, but python 36 installed GAME:Valheim #2288
Labels
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
No due date set.
Dependencies
No dependencies set.
Reference
starred/LinuxGSM#2288
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @molar131 on GitHub (Feb 28, 2021).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3312
i was able to install the gameserver and it runs without issue for the most part. I had a friend that would spawn entire buildings with a mod and it would sometimes crash the server, cpu spike and server would go offline. i would restart it, no big deal., but if i was sleepting etc no one could play, so i setup a cronjob to run every 30 mins to run the monitor command. But whenever it needed to start gameserver, it complains that python3 is missing, prompting for a sudo password even though it is installed. i could extend the sudo timeout, in theory.
Example of output from console
-If i do a "python3 --version", it informs me that it is python 3.6.8.
-i did an "alternatives --config python", and set the default to 3.6, same result when running any gameserver commands
-If i do an "rpm -q python3" it says it is not installed
-if i do an "rpm -q python36" it gives me the correct module, "python36-3.6.8-2.module+el8.1.0+3334+5cb623d7.x86_64"
Any assistance is appreciated.
@Xalorous commented on GitHub (Mar 3, 2021):
My recommendation is
yum reinstall python3. ORyum uninstall python3followed byyum install python3, BUT this will likely uninstall a bunch of packages dependent upon python3.You've run into a problem that is so pervasive in the python world that there are packages designed to let you bundle python environments and switch between them. Anaconda, pip, etc.
Another suggestion, if you're not using a dedicated server or vm to run your gameserver, I recommend you do so. If you have only one choice of machine, then definitely look into pip to create a separate virtual environment for your gameserver, running the python it needs.
@Xalorous commented on GitHub (Mar 3, 2021):
This is not a bug, this is a user support issue.
@molar131 commented on GitHub (Mar 3, 2021):
Thank you for the response. So just to set the table here is the output before running your recommendations, reminder this is RedHat, not CentOS
I have performed all your yum recommendations, here is the output now
@Xalorous commented on GitHub (Mar 3, 2021):
Centos is RHEL rebranded.
The discrepancy seems to be with rpm not seeing python3. This could have to
do with the difference between RHEL 7 and 8. I haven't checked how the
scripts determine whether python is there.
On Wed, Mar 3, 2021, 8:53 AM molar131 notifications@github.com wrote:
@molar131 commented on GitHub (Mar 3, 2021):
I am aware that CentOS is RHEL rebranded. I originally was showing how RHEL 8 is dealing with RPM, which i had pointed out in my original post.
@h3o66 commented on GitHub (Mar 7, 2021):
Could you attach here a debug log for me to check ?
Howto:
enabled debug mode
./vhserver devexecute the command that has a problem (in your case where the dependency is checked)
./vhserver stopupload the log
dev-debug.logdisable dev debug:
./vhserver dev@Cenarkion commented on GitHub (Jun 12, 2021):
For what its worth, I ran into the same minor issue, running redhat 8.4.
${distroversion} in info_distro.sh is pulling "8.4" as the distroversion from os-release
VERSION_ID="8.4"Thus the further deps check in check_deps.sh is not picking up the suitable package array. A dirty edit to check for distroversion 8.4 in the fn_deps_biuld_redhat function resolves the issue of course, for the short term
elif [ "${distroversion}" == "8.4" ]; then array_deps_required=( epel-release curl wget util-linux python36 file tar gzip bzip2 unzip binutils bc jq tmux nmap-ncat cpio )@dgibbs64 commented on GitHub (Jun 12, 2021):
Dependency checking needs a refactor to be able to manage these sorts of issues
@litecactus commented on GitHub (Jul 16, 2021):
Having the same issue on Rocky 8.4
Warning! Missing dependencies: python3on./vhserver st[vhserver@localhost ~]$ python3 --version Python 3.6.8@k3mic commented on GitHub (Aug 6, 2021):
Not sure this is just for Valheim. Having same issue with Rocky Linux 8.4 and Minecraft.
@Livius90 commented on GitHub (Aug 23, 2021):
In all of Red Hat 8 based distributions like CentOs 8, Oracle Linux 8, Rocky Linux 8 etc... the
python3dependency checking is buggy for all games.rpm -q python3terminal command in sourcecode can not show the real information about the installedpython3package because this is an incomplete name.For me only the following command can give a correct output but it is usable only if we are looking for
python3.6specificly, it is not good for universal solution. So please improve therpm -qdependency checking, it is incorrect in all Red Hat Linuxes.@litecactus commented on GitHub (Aug 23, 2021):
I don't really know anything about these things but can you just wham in a wildcard * in the dependency? lol
@k3mic commented on GitHub (Aug 23, 2021):
Probably possible, but there's likely more reliable checks out there. I would think something like
which python3might be a bit more reliable than querying the RPM DB. In theory you could install python with something like pyenv and it wont add anything to RPM DB. Thewhichcommand should still find it if it's in your$PATH. Might even be safe to use on all distros, not just EL8, assumingwhichis installed...Pyenv (ignore broken prompt, lol):
EL8:
Debian 10:
@Livius90 commented on GitHub (Aug 24, 2021):
Unfortunately wildcard * is not working in this command.
@Xalorous commented on GitHub (Aug 26, 2021):
‘rpm -q python’ should list all packages starting with ‘python’
‘rpm -qa | grep python3’ should list all packages with ‘python3’ in the
name.
If the problem is that python3 is installed but named /bin/python and the
installation requires an executable named python3, why not symlimk it? I
mean test if python3 is installed, then whether python3 is in the path. If
installed and not in the path as ‘python’, create the symlink.
On Tue, Aug 24, 2021 at 5:02 PM Livius @.***> wrote:
@Livius90 commented on GitHub (Aug 29, 2021):
It is not show all package starting with python, it is show only one package which name is python, this is the problem. If you have an installed python 3.6 you need to query python36 if you have python 3.9 you need to use python39 and so on, python3 is an incomplete name to get the correct package cheking. The
which python3should be a good dependency cheking but it will be useful only for python checking. Any other package will need other solutions.@Xalorous commented on GitHub (Sep 6, 2021):
On rpm based systems, 'rpm -q foo' shows all installed packages with names
starting with the string python. If you are looking for foo2 and it is
installed, it will show. This is the way the rpm utility works. Since
python36 is now the default python in RHEL 7 (and thus CentOS and Oracle --
and scientific linux if it's still around), if you look at the full name of
the installed python package, what version does it show?
If GSM needs python3, and only python is showing on 'which', cd to the
folder holding 'python' and type 'sudo ln -s python python3'. Then
anything that calls python3 will get python (which is python 3.6
underneath).
On Sun, Aug 29, 2021 at 8:49 AM Livius @.***> wrote:
@Livius90 commented on GitHub (Sep 6, 2021):
You are wrong, 'rpm -q foo' show the full name matching only, not the starting. So, 'rpm -q python' or 'rpm -q python3' shows nothing in RHEL 8 (maybe in RHEL 7 too). Only the correct syntax is 'rpm -q python36' or 'rpm -q python38' ... etc.
'rpm -q python' was good cheking syntax for only python 2.x, in the past, maybe.
CentOS8 python36
Package name is python36, need to use it in rpm -q or it can not show. And the default exectuable is python3 in RHEL 8 not python, so
which python3is a correct chekingPython executable need to create after the installation with some extra command by manually if need.
@dgibbs64 commented on GitHub (Sep 23, 2021):
python36 will be the standard package on next release. Hopfully this will resolve it
@Xalorous commented on GitHub (Sep 23, 2021):
Part of the issue seems to simply be the name is unconventional, or the
convention changed. In the past python was python. Then they did python2
for all sub-versions. Now instead of python3, we get python36.
Perhaps checking for python36, and creating a symlink python3 pointing to
python36?
On Thu, Sep 23, 2021, 2:16 PM Daniel Gibbs @.***> wrote:
@dgibbs64 commented on GitHub (Sep 23, 2021):
linuxgsm checks against the package name so if the package name is python36 it will use that. So it should be OK in next release :)
@xadips commented on GitHub (Oct 20, 2021):
Still getting the same issue, on CentOS 7
[ WARN ] Starting csgoserver: Missing dependencies: python36[sudo] password for csgoserver:
Information! Automatically installing missing dependencies.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package python36-3.6.8-2.el7.ius.x86_64 is obsoleted by python3-3.6.8-18.el7.x86_64 which is already installed
Nothing to do
@github-actions[bot] commented on GitHub (Oct 21, 2022):
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.