Forums

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

Auteur Réponses
observe Jeudi 22 Octobre 2020 à 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.

 

 

Edité par observe

observe Mercredi 13 Janvier 2021 à 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 Vendredi 15 Janvier 2021 à 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.