Comment # 3 on bug 1231820 from Alexander Leithner
(In reply to Aaron Puchert from comment #2)
> But I'm not sure if the libraries are missing, after all there are files
> that would resolve this in x86_64-windows. Let's try with a simple "int
> main() {}". When I add -L/usr/lib64/wine/x86_64-windows, I get the same
> errors that you got:
> 
> ...
> 
> However, when I instead set the environment variable
> LIBRARY_PATH=/usr/lib64/wine/x86_64-windows, I get
> 
> ...
> 
> So it seems to have found the libraries and the format is matching. (My
> suspicion is that winegcc does some conversion under the hood, if we tell it
> about the libraries in the right way.)

I'm not sure if I'm understanding what you're trying to say/do here. I'll
assume that your experiment produces a PE binary for the rest of my comment, as
this is the way I read LD's output here.

There are certain things we cannot do if we're building a Wine library as a PE
binary as opposed to an ELF binary, see the replies to my question about this
on the Wine developer mailing list. [1],[2]

So, for what it's worth, the archives in question are in fact missing (at least
their x86_64-unix variants) since presence of them in x86_64-windows has
(should have) no implications when building ELF binaries.

> My suspicion is that there is an issue with the paths. The fact that it
> works on 32-bit, where we have everything in the more usual /usr/lib, versus
> our 64-bit setup in /usr/lib64, makes me think this might be a reason.

This may be the case though I don't see why changing the paths when building
Wine could lead it to not produce all files. When building Wine from source
from the Wine project's Git repository, it generates the following folder
structure:

prefix/lib64/wine
 +- i386-windows
 +- x86_64-unix
 +- x86_64-windows

but no prefix/lib folder and no i386-unix as is currently present in OpenSUSE's
packages. Notably, with the above folder structure, Wine ELF DLLs can be built
for both 32 and 64-bit although only x86_64-unix is present, as I've alluded to
in this bug's description.

I'm not well-versed enough in RPM spec writing to diagnose the issue with the
build process further, though. Aside from paths the only notable difference I
see in the current (failing) build logs of Wine on OBS [3],[4] to my local test
is that I got the above folder structure after compiling wine with:

  --enable-archs=i386,x86_64 --enable-win64

in one go.

[1]:
https://list.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/message/DOLHKNKTQ3ZV4LKQ4GA7GXXT4NOG7GGL/
[2]:
https://list.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/message/5PBWZ4ACVLLL4B43WFHBJYMZ7WB5POGF/
[3]:
https://build.opensuse.org/public/build/Emulators/openSUSE_Tumbleweed/i586/wine/_log
[4]:
https://build.opensuse.org/public/build/Emulators/openSUSE_Tumbleweed/x86_64/wine/_log


You are receiving this mail because: