winelib .so change in 20050930?

Michael Ost most at museresearch.com
Thu Oct 6 21:47:18 CDT 2005


With the advent of 20050930 wine can no longer load the shared libraries
used by my winelib app. Are there any docs or descriptions about how to
deal with this change?

I have an app that gets built into, say, ./app/app.exe.so. It uses a
shared library, say ./lib/liblib.so, that uses win32 APIs. To build
./lib/liblib.so I just compiled and linked using gcc. 

To build app.exe.so I would use winebuild to scan the object files at
./app/*.o and ./lib/*.o. That created wrappers for all the win32
functions both in ./app and ./lib. The wrappers code from winebuild gets
linked in to app.exe.so. Wine used to be able to deal with this. With
20050930 wine complains that the win32 references in liblib.so can't be
resolved and quits. 

I am guessing that something about wine dll loading has changed, so that
the function wrappers for a wine DLL have to be in the file itself. That
is, I would have to run winebuild on the lib object files, create
lib.dll.so and then link app.exe.so against that.

I started down this path with some success and then realized that, gulp,
I would have to create a spec file for my libraries. Hundreds of C++
functions in several libraries. If this is indeed required, is there any
help in building a spec file? Is it possible to export C++ functions as
opposed to straight C?

Winelib has always been the wild and woolly frontier. We haven't been
bitten in a while; I guess we were due! ... mo




More information about the wine-devel mailing list