Re: Trouble compiling Winelib DLL for 64-bit on OpenSUSE

David Kahurani <[email protected]>
Newsgroups gmane.comp.emulators.wine.devel
Message-ID <CAAZOf25mup32cE0By__EkPE1-4q+UdyD0pYgkLWTu7hKn3k9qw@mail.gmail.com>
On Tue, Oct 15, 2024 at 11:43 PM Stefan Dösinger <[email protected]>
wrote:

> Hello Alexander,
>
> Am Dienstag, 15. Oktober 2024, 15:18:57 GMT+3 schrieb
> [email protected]:
> > I have previously asked about the problem I'm describing below on
> openSUSE's
> > forums [1], StackOverflow [2] and Wine's forums [3], where dimesio told
> me
> > that I could try to ask here. If this is the wrong place to ask, I
> > apologise.
>
> The mailing ist is the right place to ask :-)
>

If you post as bug on bugzilla, someone might help :-)


>
> I'll try to answer some of your questions below, but I am not much of a
> winelib expert and sadly winelib is getting relatively little love. In my
> quick test building a 32 and 64 bit .dll.so worked, but I would not be
> surprised if there are bugs.
>
> Wine itself has transitioned to a more formal (fake-)syscall and unix call
> interface to switch between the Windows and the Linux side. I think there
> are
> no DLLs left in Wine any more that have the old hybrid PE and ELF linkage.
>
> > winegcc -m32 -L/usr/lib64/wine/i386-unix -shared -o myproject.dll
> > myproject_main.c myproject.spec
>
> Does the 32 bit DLL link without the -L path? You shouldn't need it,
> winegcc
> and winebuild should know their installation path.
>
> > As I've discovered, openSUSE's wine-devel package does not provide any
> > archive files in /usr/lib64/wine/x86_64-unix, whereas wine-devel-32bit
> does
> > provide archive files under /usr/lib/wine/i386-unix (symlinked with the
> > same directory in /usr/lib64).
>
> It is quite likely a bug on openSUSE's side. They probably didn't even
> test
> winegcc with the wine-devel packages, as it is a pretty rare case that
> someone
> needs it.
>
> I think your best choice would be to build wine from source and install it
> to
> a custom prefix in your home directory. Hopefully the wine-devel packages
> pull
> in the right headers etc to make it easy to do.
>
> e.g. in pseudo code:
>
> ./configure --enable-win64 --prefix=~/mywine
> make && make install # no need for sudo. add -j X for faster build
> export PATH=~/mywine/bin:$PATH
>
> Now you should run winegcc from ~/mywine/bin/winegcc, and it has the 64
> bit .a
> files in ~/mywine/lib/wine/x86_64-unix.
>
> Any .dll.so generated that way should run with your system wide wine
> installation, so you should be able to copy it to other machines etc. If
> in
> doubt check out the oldest Wine version you want your binaries to run on.
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.