WINEDLLPATH and /usr/lib/wine
Michael Ost
most at museresearch.com
Tue Jan 26 11:19:48 CST 2010
Hin-Tak Leung wrote:
> --- On Mon, 25/1/10, Michael Ost <most at 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
More information about the wine-devel
mailing list