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