Description of problem: Mono stuff needs to be installed into %prefix/lib instead of %libdir - yes, this sounds odd but this is how mono right now works. See also bug 185690. Without this e.g. Banshee from Extras breaks. Version-Release number of selected component (if applicable): Rawhide - also applicable to FC5
Thanks, David - fixed with avahi-0.6.9-6, now built into rawhide.
Thanks Jason - did you send the patch upstream? It probably should be upstream as bug 185690 now seems to indicate that upstream mono indeed uses %prefix/lib instead of %libdir
avahi-0.6.9-6 has been pushed for FC5, which should resolve this issue. If these problems are still present in this version, then please make note of it in this bug report.
pkg-config is returning /usr/lib64 in the linker flags for package "avahi-sharp". This is due to the libdir being still set to /usr/lib64 in the following file. /usr/lib64/pkgconfig/avahi-sharp.pc The problem is that when we are compiling applications that uses avahi-sharp (such as the banshee rpm), the build process fails as it is trying to use /usr/lib64/mono/avahi-sharp. Settins the libdir back to /usr/lib in the above file allows for banshee to be built correctly.
The Banshee x86-64 RPM found in Rawhide looks for avahi-sharp.dll in lib64. I didn't build it myself, so I don't know what it looks for at build time. However, once built, its run with the 64-bit Mono runtime, which expects to find its DLLs in lib64. I don't think that banshee.exe itself has any preference for lib vs. lib64; it simply requests "avahi-sharp" from the runtime.
Yes. The 0.10.12 version in FE6 somehow works despite avahi being installed in /usr/lib, but the 0.11.2 version I compiled from source would fail in trying to load avahi unless I symlink /usr/lib/mono/gac/avahi-sharp to /usr/lib64/mono/gac/avahi-sharp
For what it's worth, the current shipping avahi-sharp RPM and the current shipping banshee RPM for FC6 x86_64 don't play nice together. Rebuilding from spec and commenting out the following lines solves the problem, but may be the "Wrong Thing (tm)". # Fix avahi-sharp default installation into /usr/lib64 on x86_64: if [ ! -e $RPM_BUILD_ROOT/%{_prefix}/lib/mono ] && \ [ -e $RPM_BUILD_ROOT/%{_libdir}/mono ]; then mv -f $RPM_BUILD_ROOT/%{_libdir}/mono $RPM_BUILD_ROOT/%{_prefix}/lib; fi
If you read the ending of Bug #185690 the placement of mono's gac changed towards the end of FC6's development cycle. So avahi's original behaviour -- placing the mono assemblies in %{_libdir} is correct for FC6+. Will attach a patch to fix this.
Created attachment 144030 [details] Revert changing the mono directory to /usr/lib Reverts cvs changes 1.46-1.49, 0.6.9-6: Move mono assemblies from %{_libdir} to /usr/lib in the spec file. Reverts half of cvs change 1.53, 0.6.9-9.FC6: patching the pkgconfig file to use /usr/lib instead of %{_libdir} (The other half of this was removed earlier as it was upstreamed.)
This bug should probably be closed -- avahi now installs in %{libdir} and Banshee 0.11.x builds against it fine (in Rawhide)
It's still broken in FC6, despite more than one update having been issued since the bug was raised...
Finally this issue should be fixed in fc6 in avahi-sharp-0.6.16-4.fc6
*** Bug 227824 has been marked as a duplicate of this bug. ***