Re: mock gimmicks - experts?

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



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.
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos




[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]


  Powered by Linux