generic.ppd does not appear in the build dir - cannot print

Michael [Plouj] Ploujnikov ploujj at gmail.com
Sat Feb 17 17:08:45 CST 2007


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

-- 
Libre Software:
http://www.gnu.org/philosophy/free-sw.html



More information about the wine-devel mailing list