On 3/1/22 06:02, lejeczek via CentOS wrote: > 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. > https://koji.mbox.centos.org/pkgs/packages/libmpc/1.1.0/9.1.el8/data/logs/aarch64/root.log libmpc.aarch64 is installed in the 'minimal' buildroot for all packages built in mock. So you will have to build a newer first. (The minimum build root contains the files starting with: DEBUG util.py:439: bash aarch64 4.4.19-12.el8 build 1.5 M and going to DEBUG util.py:439: xz aarch64 5.2.4-3.el8 build 151 k in the below file .. it pulls in all the deps listed below that .. so from: DEBUG util.py:439: annobin aarch64 9.35-1.el8 build 103 k to DEBUG util.py:439: zstd aarch64 1.4.4-1.el8 build 302 k One of those "Install 175 Packages" in the minimal build root is libmpc.aarch64. Compounding your problem .. when you build a new libmpc, it requires mpfr-devel. You have a chicken / egg problem. Minimal buildroot requires libmpc .. you will have to figure out how to build and replace the libmpc with the newer version before you can do anything else.