Bug 33225 - RPM dependencies CentOS 7
Summary: RPM dependencies CentOS 7
Status: RESOLVED DOWNSTREAM
Alias: None
Product: Runtime
Classification: Mono
Component: packaging ()
Version: 3.12.0
Hardware: Macintosh Linux
: --- normal
Target Milestone: ---
Assignee: Jo Shields
URL:
Depends on:
Blocks:
 
Reported: 2015-08-19 09:47 UTC by Lappkast
Modified: 2015-08-20 09:39 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED DOWNSTREAM

Description Lappkast 2015-08-19 09:47:08 UTC
I'm trying to install the mono 3.12.0 package, which results in a lot of different dependency errors:


Package mono-entityframework is obsoleted by mono-complete, but obsoleting package does not provide for requirements
--> Finished Dependency Resolution
Error: Package: mono-complete-3.12.0-2.x86_64 (download.mono-project.com_repo_centos_)
           Requires: mono-entityframework = 3.12.0
           Available: mono-entityframework-3.8.0-1.x86_64 (download.mono-project.com_repo_centos_)
               mono-entityframework = 3.8.0-1
Comment 1 Lappkast 2015-08-20 05:13:53 UTC
I tried to resolve the dependencies myself after not getting downgrade util to work properly.

I stumbled upon this peculiar thing and other similar in other dependencies.
There seem to be a lot of dependencies from 3.12 packages to 4.0.1 packages.

[vagrant@localhost ~]$ repoquery --requires --resolve mono-devel-0:3.12.1-0.x86_64
Failed to set locale, defaulting to C
libmonosgen-2_0-1-0:4.0.1-1.x86_64
pkgconfig-1:0.27.1-4.el7.i686
mono-extras-0:3.12.1-0.x86_64
pkgconfig-1:0.27.1-4.el7.x86_64
libgdiplus-devel-0:2.10-9.el7.x86_64
mono-devel-0:4.0.1-2.x86_64             <------- ?!
mono-data-0:3.12.1-0.x86_64
libgcc-0:4.8.3-9.el7.x86_64
mono-winforms-0:3.12.1-0.x86_64
mono-core-0:3.12.1-0.x86_64
glibc-0:2.17-78.el7.i686
zlib-0:1.2.7-13.el7.x86_64
glibc-0:2.17-78.el7.x86_64
mono-web-0:3.12.1-0.x86_64
monodevelop-0:5.5.0.227-0.noarch
mono-data-oracle-0:3.12.1-0.x86_64
Comment 2 Jo Shields 2015-08-20 09:39:04 UTC
yum's dependency resolver is bad. One of the reasons it is bad is if it knows about package "foo-1.0" and "foo-2.0", and you ask it to install "foo-1.0", it will use foo-2.0's metadata to resolve dependencies. This leads to the situation reported here - "yum install mono-complete-3.12.1" fails because mono-complete-4.0's dependencies would not be satisfied.

Because this is a bug in Yum, it's not something we can easily deal with at our end.

If someone can suggest a reprepro-like repository manager for RPM, then I could use snapshotting functionality to put each version in a different repo (kinda how our Debian snapshot repositories work). Otherwise, it requires messing around at the end user level.

The Official(tm) workaround for this issue is:

    yumdownloader --resolve mono-complete-3.12.1
    yum localinstall *.rpm

The unofficial workaround is "you should totally switch to a Debian derivative"