On 28/02/2022 21:48, Johnny Hughes wrote:
On 2/28/22 08:49, lejeczek via CentOS wrote:
Hi guys.
I'm trying something I believe is trivial, on centOS 9 with mock version 2.16
-> $ mock -r centos-stream-8-x86_64 --rootdir=~/mock --localrepo=/00.STORAGE/1/var/www/repos --continue --chain ./mpfr-4.1.0-7.el9.src.rpm ./libmpc-1.2.1-4.el9.src.rpm
...
CentOS Stream 8 - PowerTools 14 kB/s | 4.4 kB 00:00 Error: Problem: cannot install the best update candidate for package libmpc-1.1.0-9.1.el8.x86_64 - problem with installed package libmpc-1.1.0-9.1.el8.x86_64 - package libmpc-1.1.0-9.1.el8.x86_64 requires libmpfr.so.4()(64bit), but none of the providers can be installed - cannot install the best update candidate for package mpfr-3.1.6-1.el8.x86_64 - cannot install both mpfr-4.1.0-7.el8.x86_64 and mpfr-3.1.6-1.el8.x86_64 - cannot install both mpfr-3.1.6-1.el8.x86_64 and mpfr-4.1.0-7.el8.x86_64 (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) ERROR: Exception(./libmpc-1.2.1-4.el9.src.rpm) Config(centos-stream-8-x86_64) 0 minutes 6 seconds INFO: Results and/or logs in: /00.STORAGE/1/var/www/repos/results/centos-stream-8-x86_64/libmpc-1.2.1-4.el9
ERROR: Command failed:
...
Why would it end up asking for 'mpfr-3.1.6' if 'libmpc-1.2.1' requires ver. >4.x and..
why would 'ibmpc-1.1.0-9.1' even show up there I cannot wrap my head around it.
I've only started using 'mock' but this weird stuff have not seen until now.
Rather than passing in both SRPMS .. I would try with just one at a time.
You are first trying to build mpfr and after that, you are trying to build libmpc.
If I am correct, the newer version of libmpc is required for mpfr. So, first try building libmpc .. and look at what is necessary to build that. Once you have that built, put it in your local repo and rebuild tehmetadata and thentry to build mpfr by itself.
All '--chain' does is retry all failed builds if something actually builds.
As to why the older version of libmpc or mpfr is trying to load .. look at your root.log and it will tell you.
That was how I started first, each separately.
-> $ mock -r centos-stream-8-x86_64 --rootdir=~/mock --resultdir=/00.STORAGE/1/var/www/repos/results/"{{root}}"/libmpc libmpc-1.2.1-4.el9.src.rpm
...
Package gcc-8.5.0-10.el8.x86_64 is already installed. Package make-1:4.2.1-11.el8.x86_64 is already installed. No matching package to install: 'mpfr-devel >= 4.1.0' Not all dependencies satisfied
'--chain' I believed was some way to "loop" and if one pkg might depend on another it will (with perhaps of addition of '--continue') that would be better alternative to "solve" those dependencies, anyway.
Having 'mpfr' ver. 4.x built and in repo, following fails the same way:
-> $ mock -r centos-stream-8-x86_64 --rootdir=~/mock --resultdir=/00.STORAGE/1/var/www/repos/results/"{{root}}"/libmpc libmpc-1.2.1-4.el9.src.rpm --addrepo=http://10.3.1.100/centos-stream-8-x86_64 ...
CentOS Stream 8 - PowerTools 113 kB/s | 4.4 kB 00:00 Error: Problem: cannot install the best update candidate for package libmpc-1.1.0-9.1.el8.x86_64 - problem with installed package libmpc-1.1.0-9.1.el8.x86_64 - package libmpc-1.1.0-9.1.el8.x86_64 requires libmpfr.so.4()(64bit), but none of the providers can be installed - cannot install the best update candidate for package mpfr-3.1.6-1.el8.x86_64 - cannot install both mpfr-4.1.0-7.el8.x86_64 and mpfr-3.1.6-1.el8.x86_64 - cannot install both mpfr-3.1.6-1.el8.x86_64 and mpfr-4.1.0-7.el8.x86_64 (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
'root.log' does not reveal anything, certainly not an explanation or... I've gone blind.
My guess - because that would be such a "test" case where 'mock' fails to tell, to explain what/how so I must only guess - is that something else down the chain of dependencies, depends on those "older" versions of 'mpfr' and/or 'libmpc', but..
if that theorem is true then, again, how to...
I also fiddled with 'best=' but to no avail.
many thanks, L.