[Mono-bugs] [Bug 588143] if LD_LIBRARY_PATH is empty, DllNotFoundException is only thrown if the native library in current directory is specified with a ".so" suffix in the DllImport or in the .config.exe file

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jun 1 17:58:14 EDT 2010



--- Comment #21 from Andrés G. Aragoneses <knocte at gmail.com> 2010-06-01 21:58:14 UTC ---
(In reply to comment #19)
> Created an attachment (id=365647)
 --> (http://bugzilla.novell.com/attachment.cgi?id=365647) [details]
> dllmap-fix.diff
> The above attachment contains the correct fix for this bug. The original one in
> comment #14 was invalid (it caused bug #610009). Please review and let me know
> if it's OK to commit.

Without looking deeply at the patch and by just having a brief look on the
linked bug, let me state my opinion around what I also learnt while debugging
and proposing the first patch:

It seems that banshee's .config file is kind of wrong, because the target
attribute contains a platform detail while it lacks another one (that is, it
includes the prefix "lib", but lacks the ".so" suffix), so mono assumes that,
by including a platform detail, it doesn't need to "guess" more platform
details. This goes on par with what the original code actually did (but somehow
it didn't because of the typo I found).

So, according to that argument above, a more easier and simpler fix would be:

-  <dllmap dll="libbanshee.dll" target="libbanshee" os="!windows"/>
+  <dllmap dll="libbanshee.dll" target="libbanshee.so" os="!windows"/>

Which actually seems prettier and gives more information :)

Other argument against the patch is that it makes code more complex and thus a
bit less performant, but I guess this is a tiny factor.

Anyway, I'll see if I can have a deeper look at the patch this weekend to see
if I really understand the idea behind it. In the meantime, getting Zoltan's
feedback would be great too :)

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the mono-bugs mailing list