I dont know if anyone has answered you already. RPM can be a bugger some
times. This is what I have done in the past. First find out what is
installed.
rpm -qa | grep mono
This should return a list of mono packages installed. The U option is
indicating that you already have the package installed. If you already
have an old copy laying around you might want to uninstall. That is a
book in itself just because you have created many dependencies, so
uninstall one at a time but this isnt necessary.
The reason you are getting these messages is because there is a circular
dependency. Just rpm -Uvh every.single.rpm as one long ass command and
let rpm figure out which one to install.
for example
rpm -Uvh mono-basic.rpm mono-core.rpm sqllite.rpm etc..
Hope this helps and keep the faith. The joy of linux is just this, you
always have the ability to really dig into it and learn something.
Tony G wrote:
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 !!!
_______________________________________________
Mono-list maillist - Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list
_______________________________________________
Mono-list maillist - Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list