El Foro

Printing doesn't work using PlayOnMac 4.4.1. under OSX Catalina 10.15.6

Autor Respuestas
observe Thursday 22 October 2020 at 15:48
observeAnonymous

Very impressed that POM is now largely running as before on Catalina.  Unfortunately though we seem to have a problem with printer support as per the image showing lack of printer functionality in Notepad despite printers installed under MacOS X.  PlayOnMac version 4.4.1. MacOS 10.15.6.

 

 

Editado por: observe

observe Wednesday 13 January 2021 at 23:11
observeAnonymous

Performed some further investigation in to this problem by starting POM wine from the command line using WINEDEBUG=+winspool. The output for winspool is as follows:

 

0009:trace:winspool:WINSPOOL Found 0 printers
0009:trace:winspool:WINSPOOL_EnumPrintersW Found 0 printers
0009:trace:winspool:WINSPOOL_EnumPrintersW ignoring PRINTER_ENUM_CONNECTIONS
0009:fixme:winspool:WINSPOOL_EnumPrintersW We don't handle PRINTER_ENUM_CONNECTIONS
 

Whereas performing the same action with CrossOver wine (where printing currently works) gives the following:

 

0009:trace:winspool:load_cups 0x6850f841: libcups.2.dylib loaded
0009:trace:winspool:WINSPOOL_EnumPrintersW Found 2 printers
0009:trace:winspool:WINSPOOL_EnumPrintersW Printer 0 is L"HL1850"
0009:trace:winspool:WINSPOOL_EnumPrintersW Printer 1 is L"Print_to_VipRiser"
0009:trace:winspool:WINSPOOL_EnumPrintersW Found 2 printers
...

 

The critical difference appears to be that libcups.2.dylib is loaded. Information at https://bugs.winehq.org/show_bug.cgi?id=17354 suggests that this might be because --no-cups option was used during the wine build process?

 

Because POM 4.4.1 currently has an issue with switching / downloading alternate wine versions from the POM website I'm not able to try any other wine versions that may have been compiled differently.

observe Friday 15 January 2021 at 15:08
observeAnonymous

Further investigation has shown that the compilation of wine is not the problem but instead relates to PlayOnMac's ability to locate libcups.2.dylib. I found this change in the Phoenicis source (https://github.com/PhoenicisOrg/phoenicis-winebuild/commit/488a7efc2063980fe87134e74b33ad854c640065) which highlights the need to set the environment variable DYLD_LIBRARY_PATH=”/usr/lib” for printing support. However it seems that /Applications/PlayOnMac.app/Contents/MacOS/playonmac explicity sets DYLD_LIBRARY_PATH as the current working directory so overrides any export before starting PlayOnMac.

 

Not sure on the optimum way to fix this problem but simply copying /usr/lib/libcups.2.dylib to /Applications/PlayOnMac.app/Contents/MacOS/ seems like a suitable workaround for now in order to restore printing functionality.