I am trying to modify the Wine PostScript driver to use GetPrinterDataA to read configuration information from the registry. I have added a line that reads "import winspool.drv" to wineps.spec, and Wine builds with no errors. When I try to run Wine, however, I get the following error:
BUILTIN32_dlopen failed to load .so lib for builtin wineps.dll: /usr/lib/wine/libwineps.so: undefined symbol: GetPrinterDataA
Ideas?
On Sun, 25 Feb 2001, Ian Pilcher wrote:
I am trying to modify the Wine PostScript driver to use GetPrinterDataA to read configuration information from the registry. I have added a line that reads "import winspool.drv" to wineps.spec, and Wine builds with no errors. When I try to run Wine, however, I get the following error:
BUILTIN32_dlopen failed to load .so lib for builtin wineps.dll: /usr/lib/wine/libwineps.so: undefined symbol: GetPrinterDataA
Ideas?
======================================================================== Ian Pilcher pilcher@concentric.net ========================================================================
I think maybe you have created a new dependency and need to run make depend again? If I understand the import mechanism, something (winebuild?) generates stubs for the functions you import and ties them in to the import mechanism, so they shouldn't be left hanging for ld.so to choke on. They should resolve to .spec.o. It looks to me as if the .spec didin't get rebuilt.
Maybe a make clean and a make would do better and quicker for now than make depend. or rm wineps.spec.* *.o and try make again.
Lawson
All's well that ends. - Ben Franklin ---cut here
________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/tagj.
On Sun, 25 Feb 2001, Ian Pilcher wrote:
I am trying to modify the Wine PostScript driver to use GetPrinterDataA to read configuration information from the registry. I have added a line that reads "import winspool.drv" to wineps.spec, and Wine builds with no errors. When I try to run Wine, however, I get the following error:
BUILTIN32_dlopen failed to load .so lib for builtin wineps.dll: /usr/lib/wine/libwineps.so: undefined symbol: GetPrinterDataA
Ideas?
I'm not sure if wineps is completely dll-separated yet. In any case, there is an IMPORTS = ... line in wineps/Makefile.in that should be added to.
From: "Ove Kaaven" ovehk@ping.uio.no
I'm not sure if wineps is completely dll-separated yet.
BTW, do we have a list of dlls that are not yet dll-separated? (I know, if we had, you'd know about wineps...:) )
Better yet, how can we tell if a dll is separated?
Would it be useful to create such a list, and maybe list for each of the dlls in there, why there aren't separated yet?
-- Dimi.
Better yet, how can we tell if a dll is separated?
it's separated if it's Makefile.in doesn't contain the IMPORT directive
hence, the list of yet to be separated DLLs is: erato:~/wine$ grep IMPORTS dlls/*/*.in dlls/ddraw/Makefile.in:IMPORTS = user32 x11drv gdi32 kernel32 dlls/dinput/Makefile.in:IMPORTS = user32 kernel32 ntdll dlls/gdi/Makefile.in:IMPORTS = kernel32 ntdll dlls/kernel/Makefile.in:IMPORTS = ntdll dlls/opengl32/Makefile.in:IMPORTS = x11drv kernel32 dlls/ttydrv/Makefile.in:IMPORTS = user32 gdi32 kernel32 ntdll dlls/user/Makefile.in:IMPORTS = gdi32 kernel32 ntdll dlls/winedos/Makefile.in:IMPORTS = user32 kernel32 ntdll dlls/wineps/Makefile.in:IMPORTS = user32 gdi32 kernel32 ntdll dlls/winsock/Makefile.in:IMPORTS = user32 kernel32 ntdll dlls/x11drv/Makefile.in:IMPORTS = user32 gdi32 kernel32
A+