I have a mono-based package called "lat", which I believe follows the current packaging guidelines, i.e. it installs lat.exe and its associated DLLs into %{_libdir}/lat.
The package has dependencies on some mono packages from Core, particularly avahi-sharp. On x86_64, the avahi-sharp package contains:
/usr/lib/mono/avahi-sharp /usr/lib/mono/avahi-sharp/avahi-sharp.dll /usr/lib/mono/gac/avahi-sharp /usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5 /usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll /usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config /usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.mdb /usr/lib64/pkgconfig/avahi-sharp.pc
So avahi-sharp.dll is in /usr/lib rather than %{_libdir}
When I try to start lat on x86_64, I get:
$ lat lat [09776] INFO Starting lat (version 1.2.1.1)
** (lat:9776): WARNING **: The following assembly referenced from /usr/lib64/lat/lat.exe could not be loaded: Assembly: avahi-sharp (assemblyref_index=14) Version: 1.0.0.0 Public Key: 4d116c78973743f5 The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/lib64/lat).
** (lat:9776): WARNING **: Could not load file or assembly 'avahi-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4d116c78973743f5' or one of its dependencies. lat [09776] ERROR Error occured: Could not load file or assembly 'avahi-sharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4d116c78973743f5' or one of its dependencies. lat [09776] INFO Exiting lat
I can work around this though:
$ MONO_PATH=/usr/lib/mono lat
That works.
So my question is: is my package in error, or is it avahi-sharp? Should I set $MONO_PATH in /usr/bin/lat?
Paul.
On Tue, 2006-12-19 at 08:36 +0000, Paul Howarth wrote:
So my question is: is my package in error, or is it avahi-sharp? Should I set $MONO_PATH in /usr/bin/lat?
I believe Avahi-sharp should be fixed to follow the mono packaging guideline. There's been a bug opened on this for a while, but I've been fairly busy and haven't had any time to look into it.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=185692
/B
On Tue, 2006-12-19 at 10:10 -0500, Brian Pepple wrote:
On Tue, 2006-12-19 at 08:36 +0000, Paul Howarth wrote:
So my question is: is my package in error, or is it avahi-sharp? Should I set $MONO_PATH in /usr/bin/lat?
I believe Avahi-sharp should be fixed to follow the mono packaging guideline. There's been a bug opened on this for a while, but I've been fairly busy and haven't had any time to look into it.
I believe Brian's correct. Looking through that bug, it appears that avahi-sharp was moved to /usr/lib/ instead of %{_libdir} before mono's shared dirs were moved to %{_libdir}. It has not been moved back. It looks like there's a short patch and a snippet in the spec file that need to be reverted in order to fix this. I'll submit those to the bug report.
-Toshio
packaging@lists.fedoraproject.org