[Mono-list] Dependency issues with 1.1.13

Tony G s7oawcn02 at sneakemail.com
Mon Mar 13 05:26:39 EST 2006


I'm coming at Mono from a Win32/.NET perspective so my questions about RPM versioning might be silly to some of you. This is the second time I've tried to install Mono. The first was many months ago and I got stuck in a web of dependencies. I'm trying again with v1.1.13 and just got stuck with similar issues. I'm not a Linux/RPM stud here, so please forgive me if there is an easy answer to what seems like dependency hell:

Before Installing Mono I tried to install SQLite:
# rpm -Uvh sqlite-2.8.16-1.2.el4.rf.i386.rpm
Response is:----
warning: sqlite-2.8.16-1.2.el4.rf.i386.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6 Error: Failed dependencies: libsqlite3.so.0 is needed by (installed) python-sqlite-1.1.6-1.i386
----
That error is pretty useless to me but the following returns something more helpful:
# rpm -ivh sqlite-2.8.16-1.2.el4.rf.i386.rpm
----
warning: sqlite-2.8.16-1.2.el4.rf.i386.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...##### [100%]
package sqlite-3.2.2-1 (which is newer than sqlite-2.8.16-1.2.el4.rf) is already installed
----
OK, I understand that I can't install sql-2.8 because my system already has v3.2. Since I have the most recent version of that package, I tried to install Mono (from a directory that has all of the Mono 1.1 rpm's:
# rpm -Uvh *.rpm
----
error: Failed dependencies: libsqlite.so.0 is needed by mono-data-sqlite-1.1.13.4-0.novell.i586
----
So as I understand it: I have python-sqlite installed and it needs the newer "libsqlite3" which came from sqlite 3.2. So I can't install sqlite 2.8 because it has plain "libsqlite". Therefore I can't install mono because it relies on mono-data which relies on sqlite 2.8. And of course I can't install anything else that relies on mono. All because I already have python installed, which I only did install because I downloaded a couple "helpful" Gnome desktop apps.

Do I need to uninstall my desktop apps, then uninstall python, then uninstall the new sqlite (and hope nothing else depends on it), just so I can install the mono package which is just 2 months old but obviously it relies on older libs?

The larger a Linux project is, the more it relies on other packages. The chances are greater that some of those packages will be older and that they will conflict with a system that has recent updates. How much needs to be unravelled just to install a single package? How can we possibly deploy anything written with Mono if there is such a high chance of dependency conflicts on any given target system?

I quess the real questions are:
- What can I do to get Mono to use the updated SQLite?
- And do we really need to go through this pain every time we install or update major packages like Mono?

I can't wait until everything in Linux is installed into a GAC so we can avoid this versioning hell.  :)

Thank you very much !!!


More information about the Mono-list mailing list