Re: Missing dependency while rebuilding SRPM on Centos7

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 9, 2019 at 3:25 AM Bryan Stillwell <bstillwell@xxxxxxxxxxx> wrote:
>
> On Nov 8, 2019, at 10:52 AM, Jason Dillaman <jdillama@xxxxxxxxxx> wrote:
>
>
> On Fri, Nov 8, 2019 at 12:37 PM Bryan Stillwell <bstillwell@xxxxxxxxxxx> wrote:
>
>
> On Nov 8, 2019, at 10:03 AM, Jason Dillaman <jdillama@xxxxxxxxxx> wrote:
>
>
> On Fri, Nov 8, 2019 at 11:39 AM Bryan Stillwell <bstillwell@xxxxxxxxxxx> 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,

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@xxxxxxx
> To unsubscribe send an email to dev-leave@xxxxxxx



-- 
Regards
Kefu Chai
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx



[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux