Re: undefined symbol: GetPrinterDataA
"Dimitrie O. Paun" <[EMAIL PROTECTED]> writes: > 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? Here's a list of the undefined symbols that prevent separation of the remaining dlls (I didn't include user/gdi/kernel to avoid scaring people too much ;-) ./libddraw.so: undefined reference to `DIB_CreateDIBSection' ./libddraw.so: undefined reference to `DIB_GetDIBWidthBytes' ./libddraw.so: undefined reference to `PROFILE_GetWineIniBool' ./libddraw.so: undefined reference to `WIN_FindWndPtr' ./libddraw.so: undefined reference to `WIN_ReleaseWndPtr' ./libddraw.so: undefined reference to `X11DRV_WND_GetXWindow' ./libddraw.so: undefined reference to `display' ./libddraw.so: undefined reference to `root_window' ./libddraw.so: undefined reference to `visual' ./libopengl32.so: undefined reference to `DC_GetDCPtr' ./libopengl32.so: undefined reference to `GDI_ReleaseObj' ./libopengl32.so: undefined reference to `XFONT_GetFontObject' ./libopengl32.so: undefined reference to `display' ./libopengl32.so: undefined reference to `root_window' ./libopengl32.so: undefined reference to `visual' ./libdinput.so: undefined reference to `MOUSE_Enable' ./libdinput.so: undefined reference to `USER_Driver' ./libwinedos.so: undefined reference to `DOSMEM_Available' ./libwinedos.so: undefined reference to `DOSMEM_FreeBlock' ./libwinedos.so: undefined reference to `DOSMEM_GetBlock' ./libwinedos.so: undefined reference to `DOSMEM_Init' ./libwinedos.so: undefined reference to `DOSMEM_MapRealToLinear' ./libwinedos.so: undefined reference to `DOSMEM_wrap_seg' ./libwinedos.so: undefined reference to `EXC_RtlRaiseException' ./libwinedos.so: undefined reference to `FILE_GetUnixHandle' ./libwinedos.so: undefined reference to `INSTR_EmulateInstruction' ./libwinedos.so: undefined reference to `INT_GetRMHandler' ./libwinedos.so: undefined reference to `INT_Int09SendScan' ./libwinedos.so: undefined reference to `INT_Int33Message' ./libwinedos.so: undefined reference to `INT_RealModeInterrupt' ./libwinedos.so: undefined reference to `INT_SetRMHandler' ./libwinedos.so: undefined reference to `VGA_Clean' ./libwinedos.so: undefined reference to `_LeaveWin16Lock' ./libwinedos.so: undefined reference to `full_argv0' ./libwineps.so: undefined reference to `CloseJob16' ./libwineps.so: undefined reference to `DC_GetDCPtr' ./libwineps.so: undefined reference to `DIB_GetBitmapInfo' ./libwineps.so: undefined reference to `DIB_GetDIBWidthBytes' ./libwineps.so: undefined reference to `DRIVER_RegisterDriver' ./libwineps.so: undefined reference to `DRIVER_UnregisterDriver' ./libwineps.so: undefined reference to `DrvGetPrinterData16' ./libwineps.so: undefined reference to `DrvSetPrinterData16' ./libwineps.so: undefined reference to `GDI_GetObjPtr' ./libwineps.so: undefined reference to `GDI_ReleaseObj' ./libwineps.so: undefined reference to `OpenJob16' ./libwineps.so: undefined reference to `PROFILE_EnumWineIniString' ./libwineps.so: undefined reference to `PROFILE_GetWineIniString' ./libwineps.so: undefined reference to `SelectClipRgn16' ./libwineps.so: undefined reference to `WriteSpool16' ./libmcicda.drv.so: undefined reference to `CDROM_Close' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_Stop' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_GetCDStatus' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_Play' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_GetTracksInfo' ./libmcicda.drv.so: undefined reference to `CDROM_CloseDev' ./libmcicda.drv.so: undefined reference to `CDROM_OpenDev' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_GetSerial' ./libmcicda.drv.so: undefined reference to `CDROM_Open' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_GetNumberOfTracks' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_Pause' ./libmcicda.drv.so: undefined reference to `CDROM_SetDoor' ./libmcicda.drv.so: undefined reference to `CDROM_Audio_Seek' ./libws2_32.so: undefined reference to `SERVICE_Delete' ./libws2_32.so: undefined reference to `SERVICE_AddObject' ./libws2_32.so: undefined reference to `FILE_GetUnixHandle' ./libx11drv.so: undefined reference to `BITMAP_Driver' ./libx11drv.so: undefined reference to `BITMAP_GetWidthBytes' ./libx11drv.so: undefined reference to `CLIPBOARD_DeleteRecord' ./libx11drv.so: undefined reference to `CLIPBOARD_EmptyCache' ./libx11drv.so: undefined reference to `CLIPBOARD_GetFormatName' ./libx11drv.so: undefined reference to `CLIPBOARD_IsPresent' ./libx11drv.so: undefined reference to `CLIPBOARD_LookupFormat' ./libx11drv.so: undefined reference to `CLIPBOARD_ReleaseOwner' ./libx11drv.so: undefined reference to `CLIPPING_IntersectVisRect' ./libx11drv.so: undefined reference to `COLOR_IsSolid' ./libx11drv.so: undefined reference to `COLOR_PaletteLookupExactIndex' ./libx11drv.so: undefined reference to `COLOR_PaletteLookupPixel' ./libx11drv.so: undefined reference to `COLOR_gapEnd' ./libx11drv.so: u
Re: undefined symbol: GetPrinterDataA
> 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+ -- --- Eric Pouech (http://perso.wanadoo.fr/eric.pouech/) "The future will be better tomorrow", Vice President Dan Quayle
Re: undefined symbol: GetPrinterDataA
Eric Pouech wrote: > > in this case, just add winspool.drv to the IMPORT list in the > Makefile.in, rerun configure, and it should work. That did the trick. Thanks! -- Ian Pilcher [EMAIL PROTECTED]
Re: undefined symbol: GetPrinterDataA
From: "Ove Kaaven" <[EMAIL PROTECTED]> > 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.
Re: undefined symbol: GetPrinterDataA
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.
Re: Re: undefined symbol: GetPrinterDataA
>wineps : > ># Generated automatically from Makefile.in by configure. >TOPSRCDIR = ../.. >TOPOBJDIR = ../.. >SRCDIR= . >MODULE= wineps >SOVERSION = 1.0 >ALTNAMES = wineps16 >IMPORTS = user32 gdi32 kernel32 ntdll in this case, just add winspool.drv to the IMPORT list in the Makefile.in, rerun configure, and it should work. (If Alexandre didn't convert the Makefile.in for dll separation, there should be some good reasons... like using non exported symbols... which would require much more work) A+ --- Eric Pouech (http://perso.wanadoo.fr/eric.pouech/) "The future will be better tomorrow", Vice President Dan Quayle
Re: undefined symbol: GetPrinterDataA
At 08:30 PM 25/02/2001 +0600, you 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 Note the differences between the Makefile for common dialog (where this works) and the Makefile for wineps : commdlg : # Generated automatically from Makefile.in by configure. TOPSRCDIR = ../.. TOPOBJDIR = ../.. SRCDIR= . MODULE= comdlg32 ALTNAMES = commdlg EXTRALIBS = $(LIBUUID) LDDLLFLAGS = -Wl,-Bsymbolic SYMBOLFILE = $(MODULE).tmp.o (...) wineps : # Generated automatically from Makefile.in by configure. TOPSRCDIR = ../.. TOPOBJDIR = ../.. SRCDIR= . MODULE= wineps SOVERSION = 1.0 ALTNAMES = wineps16 IMPORTS = user32 gdi32 kernel32 ntdll C_SRCS = \ (...) I think that the mechanism is not working because dlls separation is not done for wineps ;-) Gerard
Re: undefined symbol: GetPrinterDataA
[EMAIL PROTECTED] wrote: > > Try: > > import winspool > > instead of winspool.drv, and see if that helps. Just a guess. > Nope. winebuild complains that it "could not open .so file for winspool". I've uncovered a couple of additional facts which (I hope) may shed some light on the situation. I whipped up a quick Winelib program which calls GetPrinterDataA, and it runs just fine -- using a previous, working, Wine build. I tried commenting out the calls to GetPrinterDataA, and Wine now complains that OpenPrinterA is an undefined symbol. So the problem seems to affect multiple functions in winspool.drv, but it doesn't affect Winelib programs. -- Ian Pilcher [EMAIL PROTECTED]
Re: undefined symbol: GetPrinterDataA
[EMAIL PROTECTED] wrote: > > 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. > If only it were that simple. I've rebuilt from scratch, with a clean source tree. -- Ian Pilcher [EMAIL PROTECTED]
undefined symbol: GetPrinterDataA
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 [EMAIL PROTECTED]