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

Reply via email to