On Sat, Nov 9, 2019 at 3:25 AM Bryan Stillwell <bstillwell(a)godaddy.com> wrote:
On Nov 8, 2019, at 10:52 AM, Jason Dillaman <jdillama(a)redhat.com> wrote:
On Fri, Nov 8, 2019 at 12:37 PM Bryan Stillwell <bstillwell(a)godaddy.com> wrote:
On Nov 8, 2019, at 10:03 AM, Jason Dillaman <jdillama(a)redhat.com> wrote:
On Fri, Nov 8, 2019 at 11:39 AM Bryan Stillwell <bstillwell(a)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…
warning:
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/python36-Cython-0…:
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,
tl;dr you need to install python3-devel.
so its dependencies like python3-rpm-macros can be installed
automatically. these rpm macro packages, in turn, define macros like
python3_version_nodots and python3_pkgversion. they are used by the
spec file. install-deps.sh install python3-devel for us. put in other
way, you need python3-srpm-macros to bootstrap ceph.spec.
Bryan
_______________________________________________
Dev mailing list -- dev(a)ceph.io
To unsubscribe send an email to dev-leave(a)ceph.io
--
Regards
Kefu Chai