overviewer / Minecraft-Overviewer

Render high-resolution maps of a Minecraft world with a Leaflet powered interface
https://overviewer.org/
GNU General Public License v3.0
3.35k stars 480 forks source link

RPM incompatibility - EL8 (CentOS/RedHat) [Now with EL7] #1677

Open TheFlagCourier opened 4 years ago

TheFlagCourier commented 4 years ago

Issue: The RPM requests an older naming scheme for Python packages that broke with the release of RedHat Enterprise Linux 8 and affects all down-stream distributions.

How to fix: Python 2 libraries should be depended upon as 'python2-lib', Python 3 libraries should be depended upon as 'python3-lib'.

As an example, yum and dnf will throw the following error.

# dnf install ./overviewer-0.14.72.rpm 
Last metadata expiration check: 1:18:04 ago on Thu 14 Nov 2019 02:05:13 PM UTC.
Error: 
 Problem: conflicting requests
  - nothing provides python36-numpy needed by Minecraft-Overviewer-0.14.72-1.el7.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

This should be fixable by changing the dependency for numpy to python3-numpy

Otherwise, documentation at download should say "EL7 Only" rather than "CentOS 7+ / other rpm"

TheFlagCourier commented 4 years ago

Side note: Python3's development package is still python36-devel

CounterPillow commented 4 years ago

Feel free to add builders for EL8 over at https://github.com/overviewer/Overviewer-Web/ which would be the ideal way to fix this.

CounterPillow commented 4 years ago

Looks like our EL7 builders are also currently broken on account of shadow-utils failing to install.

Not sure what's going on and really not an EL7 person. Can someone look into this?

CounterPillow commented 4 years ago

EL7 builders are working again, still need someone to make EL8 builders

ChrisOrlando commented 4 years ago

I opened a PR with an initial pass at adding a centos8 builder here: https://github.com/overviewer/Overviewer-Web/pull/42

BenKennish commented 4 years ago

What should I be doing to get Overviewer installed on my CentOS 8 server in the meantime? Build from source using http://docs.overviewer.org/en/latest/building/#linux ? TIA

fhuemer commented 4 years ago

@BenKennish If you still have this issue, I fixed it using a solution suggested for a different problem here You can create a dummy RPM that simply installs the python38-numpy package and pretends to provide python36-numpy. Save the following config to a file named mco-python36-numpy-fix.spec

Name:         mco-python36-numpy-fix
Version:      1
Release:      1%{?dist}
Summary:      A simple fix for minecraft overviewer CentOS 8 dependency bug 

License:      Public Domain

Requires:     python38-numpy
Provides:     python36-numpy

%description
A simple fix for minecraft overviewer CentOS 8 dependency bug 

%install
#nothing to do

and run

$ rpmdev-setuptree
$ rpmbuild -ba mco-python36-numpy-fix.spec

After that you can install the generated rpm and then install the normal minecraft-overviewer rpm. I didn't run into any problems, the way I see it the rpm for CentOS 8 should simply be changed to require python38-numpy instead of python36-numpy, which is not available.

BenKennish commented 3 years ago

Oh that's a neat trick, @fhuemer - thank you!

ghost commented 3 years ago

@BenKennish If you still have this issue, I fixed it using a solution suggested for a different problem here You can create a dummy RPM that simply installs the python38-numpy package and pretends to provide python36-numpy. Save the following config to a file named mco-python36-numpy-fix.spec

Name:         mco-python36-numpy-fix
Version:      1
Release:      1%{?dist}
Summary:      A simple fix for minecraft overviewer CentOS 8 dependency bug 

License:      Public Domain

Requires:     python38-numpy
Provides:     python36-numpy

%description
A simple fix for minecraft overviewer CentOS 8 dependency bug 

%install
#nothing to do

and run

$ rpmdev-setuptree
$ rpmbuild -ba mco-python36-numpy-fix.spec

After that you can install the generated rpm and then install the normal minecraft-overviewer rpm. I didn't run into any problems, the way I see it the rpm for CentOS 8 should simply be changed to require python38-numpy instead of python36-numpy, which is not available.

sorry for the bump but it only generates a src.rpm file for me