Hin-Tak Leung wrote:
--- On Mon, 25/1/10, Michael Ost most@museresearch.com wrote:
Alexandre Julliard wrote:
Not necessarily, the behavior could probably be
tweaked, feel free to
suggest changes. You can't require users to set
WINEDLLPATH for normal
usage though, including running from the build tree or
from a relocated
install.
Two easy options would be: 1. put /usr/lib/wine at the end of the list automatically. This is Hin-Tak Leung's approach. 2. require users to add /usr/lib/wine themselves. I could make a patch for that.
#1 is easier for me :) but #2 is a little more "standard", acting like LD_LIBRARY_PATH or PATH do.
Which would you prefer? ... mo
If I understand that bit of code correctly, the current behavior is such that built-ins comes before WINEDLLPATH *and* after, so there is no way a user per-application built-ins can override (even temporarily on a per application basis) the system-wide built-ins.
Yes, I can confirm this. Strange to have it in the list twice. That sure looked unintentional to me.
As ddiwrapper - the application I was interested in - tried to provide a gdl32.dll.so which does different things - it stopped working when the system-wide built-ins is both prepended and appended to library search. I think it should work like LD_LIBRARY_PATH, really as they are platform shared libraries.
I agree. And that's what your patch does, right? Would you like to submit it to the wine-patches list? I think the case for it is strong, especially since (1) you found that it fixes a behavior change in WINEDLLPATH from November 2006 --- arguably a regression; and (2) it works in the same way that LD_LIBRARY_PATH works, which is what Linux programmers would expect.
If you want to help future WINEDLLPATH users, you could also tweak the man page from something like:
"WINEDLLPATH Specifies the path(s) in which to search for builtin dlls and Winelib applications. This is a list of directories separated by ":". In addition to any directory specified in WINEDLLPATH, Wine will also look in /usr/lib/wine."
to something like:
"WINEDLLPATH Specifies the path(s) in which to search for builtin dlls and Winelib applications. This is a list of directories separated by ":". After looking in directories specified in WINEDLLPATH, Wine will also look in /usr/lib/wine."
Cheers... mo