https://bugs.winehq.org/show_bug.cgi?id=40851
Bug ID: 40851 Summary: macOS 10.12 Build Failure in winspool.drv with cupsGetPPD Product: Wine Version: 1.9.12 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: spooler Assignee: wine-bugs@winehq.org Reporter: alexander@neilson.net.nz
Created attachment 54840 --> https://bugs.winehq.org/attachment.cgi?id=54840 Homebrew Wine build log with 40830 patch applied
After applying the patch from bug 40830 I still experienced a build failure as seen in the trace log attached.
I haven't been able to find any changelog entry to explain why this would be a build failure in macOS 10.12 however from the extract below its feeling to me like the deprecated cupsGetPPD is being missed out however potential call. (I am still to verify the difference between the framework on my 10.11 version)
I wonder if the comment about the build flags from /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/cups/ppd.h may be required to be applied to switched (but I haven't validated if I am on the right track or wrong track)
--Extract from the Trace Log-- info.c:788:1: error: use of undeclared identifier 'cupsGetPPD'; did you mean 'cupsGetFd'? CUPS_FUNCS; ^ info.c:779:13: note: expanded from macro 'CUPS_FUNCS' DO_FUNC(cupsGetPPD); \ ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/cups/cups.h:392:22: note: 'cupsGetFd' declared here extern http_status_t cupsGetFd(http_t *http, const char *resource, int fd); ^ info.c:807:29: error: too few arguments to function call, expected 3, have 1 ppd = pcupsGetPPD( name ); ~~~~~~~~~~~ ^ ../../tools/winegcc/winegcc -o wintab.dll16.so -B../../tools/winebuild -m32 -fasynchronous-unwind-tables -shared wintab.dll16.spec \ -m16 -Wb,--main-module,wintab32.dll wintab.o ../../libs/port/libwine_port.a 2 errors generated. make[1]: *** [info.o] Error 1 make: *** [dlls/winspool.drv] Error 2 make: *** Waiting for unfinished jobs....
--Extract from the PPD.h file-- * THESE APIS ARE DEPRECATED. TO COMPILE WITHOUT WARNINGS ADD * -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS. THIS HEADER AND THESE * FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS.
Regards Alexander
https://bugs.winehq.org/show_bug.cgi?id=40851
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ken@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=40851
--- Comment #1 from Ken Thomases ken@codeweavers.com --- Created attachment 54854 --> https://bugs.winehq.org/attachment.cgi?id=54854 Use cups/ppd.h for deprecated functions
Please try this patch.
The cupsGetPPD() function, which has apparently been deprecated for a while, has been removed from the cups/cups.h header and put into the cups/ppd.h header. This patch checks for the presence of that header at configure time and makes winspool.drv/info.c include it if it's present.
The right long-term solution is for Wine to move away from using these deprecated functions, but I didn't follow how the recommended replacement, cupsCopyDestInfo(), could be used for that.
https://bugs.winehq.org/show_bug.cgi?id=40851
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=40851
--- Comment #2 from Alexander Neilson alexander@neilson.net.nz --- Thank you for this patch as well Ken
Applying this to my local build of 1.9.12 (along with the patch for 40830) this allowed for completion of build.
I am now seeing memory map conflicts [0] when running wine to execute an app. There are a number of these errors that come up.
I will pull down a current head from the git repo and apply the patches to it and build it manually, then if the errors continues to come up I will try to trace things back and open a new ticket for this.
I haven't yet tried it with more than the one app, however if anyone else can do a build with the patches applied and get some further testing to ensure the build works in fresh installs.
Regards Alexander
[0] ==61559==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING. ==61559==ASan shadow was supposed to be located in the [0x1ffff000-0x3fffffff] range. ==61559==Process memory map follows:
https://bugs.winehq.org/show_bug.cgi?id=40851
--- Comment #3 from Ken Thomases ken@codeweavers.com --- (In reply to Alexander Neilson from comment #2)
Thank you for this patch as well Ken
You're welcome. Thanks for reporting and testing.
Applying this to my local build of 1.9.12 (along with the patch for 40830) this allowed for completion of build.
OK, good.
I am now seeing memory map conflicts [0] when running wine to execute an app. There are a number of these errors that come up.
[0] ==61559==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING. ==61559==ASan shadow was supposed to be located in the [0x1ffff000-0x3fffffff] range. ==61559==Process memory map follows:
You are (or Homebrew is) building Wine with the Address Sanitizer (ASan) enabled. This is a debugging option and it's not compatible with Wine. You should turn it off.
https://bugs.winehq.org/show_bug.cgi?id=40851
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |10065d2acd0a9e1e852a8151c95 | |569b99d1b3294
--- Comment #4 from Ken Thomases ken@codeweavers.com --- Fix committed: http://source.winehq.org/git/wine.git/?a=commit;h=10065d2acd0a9e1e852a8151c9...
https://bugs.winehq.org/show_bug.cgi?id=40851
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x CC| |mstefani@redhat.com
https://bugs.winehq.org/show_bug.cgi?id=40851
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.14.
https://bugs.winehq.org/show_bug.cgi?id=40851
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #6 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.4.