On Nov 8, 2019, at 10:52 AM, Jason Dillaman <jdillama@redhat.com> wrote:

On Fri, Nov 8, 2019 at 12:37 PM Bryan Stillwell <bstillwell@godaddy.com> wrote:

On Nov 8, 2019, at 10:03 AM, Jason Dillaman <jdillama@redhat.com> wrote:


On Fri, Nov 8, 2019 at 11:39 AM Bryan Stillwell <bstillwell@godaddy.com> wrote:


I'm attempting to rebuild the Nautilus 14.2.4 SRPM on CentOS 7 and there's one build dependency I'm not able to find:

[bstillwell@build01 ~]$ rpmbuild --rebuild ceph-14.2.4-0.el7.src.rpm
Installing ceph-14.2.4-0.el7.src.rpm
warning: ceph-14.2.4-0.el7.src.rpm: Header V4 RSA/SHA256 Signature, key ID 460f3994: NOKEY
warning: user jenkins-build does not exist - using root
warning: group jenkins-build does not exist - using root
warning: user jenkins-build does not exist - using root
warning: group jenkins-build does not exist - using root
error: Failed build dependencies:
      python3-Cython is needed by ceph-2:14.2.4-0.el7.x86_64

Could someone tell me where I can find the RPM for python3-Cython?  It appears that Cython-0.19-5.el7 provides python2-Cython, but not the python3 version.


It looks like it's in EPEL7 [1] -- in addition to lots of other
required packages.


Thanks Jason, but that package actually provides python36-Cython:

$ rpm -qp --provides https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python36-Cython-0.28.5-1.el7.x86_64.rpm
warning: https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python36-Cython-0.28.5-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
python36-Cython = 0.28.5-1.el7
python36-Cython(x86-64) = 0.28.5-1.el7

Which doesn't meet the spec file's builddeps, so it must not be what the build system is using.  Did the package maintainers rebuild that package, but rename it to just python3-Cython?

Technically, the spec depends on
"python%{python3_version_nodots}-Cython" [1], which should evaluate to
36 under EL7:

$ lsb_release -d
Description:    CentOS Linux release 7.5.1804 (Core)
$ echo `rpm --eval  '%{python3_version_nodots}'`
36

I see what's going on now.  Starting with a recent CentOS release (7.7 I believe) they now have a python3 package in the base distro instead of the python34 and python36 packages from EPEL.

$ rpm -q python3
python3-3.6.8-10.el7.x86_64
$ lsb_release -d
Description: CentOS Linux release 7.7.1908 (Core)
$ echo `rpm --eval  '%{python3_version_nodots}'`
%{python3_version_nodots}

This causes python3_pkgversion to be set to 3 at build time because of this code in the spec file:

%{!?python3_pkgversion: %global python3_pkgversion 3}

I installed the EPEL packages for python36 and it seems to be building now.  I did have to use --define 'python3_pkgversion 36' though to get it going.

Bryan