[EMAIL PROTECTED] wrote:
On Sun, Aug 01, 2004 at 09:13:02AM +0200, Yosef Leibovich wrote:
I'm currently installing Fedora mono's rpms on mandrake system as there
are non (of mono version 1) for mandrake.
In such a case consider rebuilding from SRPM. It may prove faster.
I didn't know it'll solve the problem. I'll give it a try.
This is a hell on earth as the creator of both fedora and mandrake has
decided to call gtkhtml mozilla libcroco etc. with different names,
therefor my already installed libcroco seems unavailible to fedora's rpms.
Two possible solutions, IMHO:
1. rebuild the mono package and rename the library names in the manual
dependency names.
This is a lot of work for a single software. Reinstalling Fedora should
take less time.
<>
Some of the dependency names are created automatically. Those are
typically not wise to override (--nodeps) as it means that the libraries
are named differently and a certain binary will probably fail to load.
When you rebuild the source rpm, the automatic dependencies will be
created for the correct names for your system.
If all the different dependencies are manual ones , you can use a
different trick: create an empty rpm (a minimal spec file with Name,
Group, License, Version, Revision, %description and empty %file, as well
as Requires, Provides etc. as required). Make it Requires the name
Mandrake give the library and Provides the name the mono package wants.
I thought that dependecy check should be per-file (that is I need
package mozilla is translated to I need mozilla-gecko-1.*.so) and
dependecy check will simply detect if the needed files are reachable.
This is indeed true for the automatic dependecies. Sometimes there are
good reasons for wanting specific versions of libraries and manual
dependencies are used for that.
Specific versions - be my guest, accept only library in LD path with
1.1.23.77.* attached to their names. One can recognize version from
filename.
But in your case it seems that the
manual dependencies are incorrect for your case.
Seems to me as well. My point is that manual dependecies should never be
needed.
Don't get me wrong. The developer won't need to specify that, he'll
specify the required packages, and one rpm tool will automatically
generate the needed files list.
Basically, this is already done. There are a number of scripts that
generate automatic dependencies at package creation time. However if
your package needs libpie.so.3 it can use /usr/lib/libar.so.3.1 from the
package libpie-good-enough , /lib/libpie.3.14 from libpie-better and
/usr/knuth-old/libpie.so.3.141.56 from libpie-web . Provided that you
can guarantee that /usr/knuth-old is on ld.so.conf or on the user's
LD_LIBRARY_PATH .
I don't think there are two libraries with the same name.
Thus the dependencies are on libraries, and on as most general version
as possible.
It didn't work in my case though. My libcroco was fine and still rpms
wouldn't load.
This is much more exact measure (if dependecies are checked this is 100%
working, otherwise there's no chance it's gonna work) and allow
cross-distribution installations.
Libraries names should be cross-distroes. The names of the packages that
contain them are not guaranteed.
That's exactly why one should avoid depending on package names.
The versions ofthose libraries are also
not guaranteed.
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]