Build fails at macOS 10.15

Issue #276 resolved
Andrey Popov created an issue

Installing this package via MacPorts at macOS 10.15 fails due to a compilation error. Here is the relevant part of the log:

:info:build Modules/objc/helpers-foundation-nscoder.m:335:37: error: too many arguments to function call, expected 0, have 4
:info:build             (void)objc_msgSendSuper(&super,
:info:build                   ~~~~~~~~~~~~~~~~~ ^~~~~~~
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/objc/message.h:66:1: note: 'objc_msgSendSuper' declared here

The full build log is attached to the issue. It seems the interface has changed, and the function `objc_msgSendSuper` now takes no arguments. MacPorts ships version 5.2 of pyobjc, but the head of the default branch also seems to be affected. My Xcode version is 11.1.

Comments (3)

  1. Andrey Popov reporter

    I see that this is probably a duplicate of #274. However, exporting OBJC_OLD_DISPATCH_PROTOTYPES=1 (as suggested there) before attempting to install the port doesn't help in my case. Do I understand right that adding -DOBJC_OLD_DISPATCH_PROTOTYPES=1 as a compiler option is supposed to fix the problem? I guess this can be adjusted in the port’s configuration. I will report this to MacPorts.

  2. Ronald Oussoren repo owner

    Version 5.3, released earlier today fixes this issue. As does version 6.0, which I just released.

  3. Log in to comment