[scl.org] rh-python36 SPEC file question (circular dependency)

Joshua Kramer joskra42.list at gmail.com
Thu Jun 7 12:22:56 UTC 2018


Thanks, Neal!  That got me a little farther.  Per the comments at the
top of they python.spec file, I set with_rewheel to 0, then I built
the Python RPM.  That seems to have worked.

Now, when I attempt to build setuptools, using this command:
rpmbuild -ba ./python-setuptools.spec --define 'scl rh-python36' >
python-setuptools-build.log 2>&1

...the build command fails with these errors:
error: Failed build dependencies:
        rh-python36-python-devel is needed by
rh-python36-python-setuptools-36.5.0-1.el7.centos.noarch
        rh-python36-python-pip is needed by
rh-python36-python-setuptools-36.5.0-1.el7.centos.noarch
        rh-python36-python-wheel is needed by
rh-python36-python-setuptools-36.5.0-1.el7.centos.noarch

Attempting to build the python-pip package results in similar errors.

I have the following packages installed:
rh-python36-2.0-1.el7.src.rpm
rh-python36-python-3.6.3-3.el7.src.rpm
rh-python36-python-pip-9.0.1-2.el7.src.rpm
rh-python36-python-psycopg2-2.7.3-1.el7.src.rpm
rh-python36-python-setuptools-36.5.0-1.el7.src.rpm
rh-python36-python-virtualenv-15.1.0-2.el7.src.rpm
rh-python36-python-wheel-0.30.0a0-1.el7.src.rpm
rh-python36-scipy-0.19.1-2.el7.src.rpm

What should I look for next?

Thanks!

On Mon, Jun 4, 2018 at 10:23 PM, Neal Gompa <ngompa13 at gmail.com> wrote:
> On Mon, Jun 4, 2018 at 9:38 PM Joshua Kramer <joskra42.list at gmail.com> wrote:
>>
>> Hello,
>>
>> I am trying to compile rh-python36 to use with CentOS on a Raspberry Pi.
>>
>> On line 192 of the SPEC file are these lines:
>> %if 0%{?with_rewheel}
>> BuildRequires: %{?scl_prefix}python-setuptools
>> BuildRequires: %{?scl_prefix}python-pip
>> %endif
>>
>> What is this supposed to do?  It prevents the package from building,
>> because there is a circular dependency- if I try to build python36, it
>> complains that python36-setuptools and python36-pip are not
>> installed... but I can't install those without having Python installed
>> first.  If I comment those lines out I get no error and the build
>> almost completes.  (It then fails the "multiprocessing" test, but
>> that's beside the point.)  However, I don't want to break something by
>> commenting them out... so is there a better or "right" way to get rid
>> of the circular dependency?
>>
>
> Python is a two-cycle build. You build the first time with rewheel
> disabled (that removes those BRs), then after that's successfully
> built, you use those artifacts to build again with rewheel enabled.
>
>
> --
> 真実はいつも一つ!/ Always, there's only one truth!




More information about the SCLorg mailing list