With a recent update to Wine 0.9.31, my printing issue [1] has changed in some way that actually generated some meaningful error messages being printed. I don't know if this is indeed the same issue or not. However, here are the messages that I started getting:
$ wine notepad Couldn't find PPD file '/home/plouj/apps/build_dir/dlls/wineps.drv/generic.ppd', expect a crash now! err:commdlg:PRINTDLG_ChangePrinterW DocumentProperties fails on L"our old printer" Couldn't find PPD file '/home/plouj/apps/build_dir/dlls/wineps.drv/generic.ppd', expect a crash now! err:commdlg:PRINTDLG_ChangePrinterW DocumentProperties fails on L"our old printer" fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful! fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful! fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful! fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful! Couldn't find PPD file '/home/plouj/apps/build_dir/dlls/wineps.drv/generic.ppd', expect a crash now! err:commdlg:PRINTDLG_ChangePrinterW DocumentProperties fails on L"our old printer" fixme:commdlg:PRINTDLG_UpdatePrintDlgW No lpdm ptr? fixme:commdlg:PRINTDLG_WMCommandW Update printdlg was not successful!
Note: my Wine source is checked out from git into ~/apps/wine-git . However, I execute ./configure && make inside ~/apps/build_dir to separate the source from the build files. I also run Wine by executing ~/apps/build_dir/wine .
After some playing around I realized that generic.pdd resides in my Wine source checkout directory:
$ file ~/apps/wine-git/dlls/wineps.drv/generic.ppd /home/plouj/apps/wine-git/dlls/wineps.drv/generic.ppd: PPD file, ve
but not inside the build directory:
ls ~/apps/build_dir/dlls/wineps.drv/*.ppd ls: cannot access /home/plouj/apps/build_dir/dlls/wineps.drv/*.ppd: No such file or directory
After simply copying generic.pdd to my build directory I was able to print without (absolutely any) errors or warning messages.
After finding a quick solution I'm wondering what, a person like me, who builds (and runs) wine in a directory parallel to the source, should do in this case? Should I just live with this hack-ish copying of the .ppd file? Is my usage case not 'popular' enough to warrant a fix? Is this how Autotools is supposed to be used to install generic.ppd? Why didn't the older versions of Wine [2] have this issue?
The Makefile doesn't look promising to me:
install install-lib:: $(DESTDIR)$(datadir)/wine $(INSTALL_DATA) $(SRCDIR)/generic.ppd $(DESTDIR)$(datadir)/wine/generic.ppd
The way I understand this is that generic.ppd is meant to reside in the source directory and the install directory only. This probably means that Autotools won't put it in the build directory.
References [1] - http://www.winehq.org/pipermail/wine-devel/2007-January/053606.html [2] - As you can see I've been successfully printing with a non-free application running under Wine since around 0.9.9: http://appdb.winehq.org/appview.php?iVersionId=4498
On Sa, 2007-02-17 at 18:08 -0500, Michael [Plouj] Ploujnikov wrote:
However, here are the messages that I started getting:
$ wine notepad Couldn't find PPD file
This can only happen, when wine is unable to receive a ppd-File from CUPS and no ppd-file is configured in the registry.
See my previous message : http://www.winehq.org/pipermail/wine-devel/2007-January/053617.html ("trace:winspool:CUPS_LoadPrinters loaded libcups.so.2")
What do you get from: $ grep -i cups include/config.h
Where is the library located, that is used in "#define SONAME_LIBCUPS" from above $ find /usr/l* -name libcups.*
What do you get from: $ file <your_path_and_name_from_above> $ file /usr/lib/libcups.* $ file /usr/lib64/libcups.*
After some playing around I realized that generic.pdd resides in my Wine source checkout directory: but not inside the build directory:
That is an issue, that must be fixed in wine.
After finding a quick solution I'm wondering what, a person like me, who builds (and runs) wine in a directory parallel to the source,
I do the same here, but my wine is using CUPS