#67191 closed defect (invalid)

mpd does not build on (or for) macOS 13

Reported by: colons (colons) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: mpd

Description

Any attempt to install a version of mpd that doesn't have a build in https://packages.macports.org/mpd/ (in my case, sudo port install mpd +ffmpeg) is failing.

The build seems fine up until this error:

:info:build ../mpd-0.23.8/src/output/plugins/OSXOutputPlugin.cxx:163:3: error: use of undeclared identifier 'kAudioObjectPropertyElementMain'; did you mean 'kAudioObjectPropertyElementName'?
:info:build                 kAudioObjectPropertyElementMain,
:info:build                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build                 kAudioObjectPropertyElementName
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h:331:5: note: 'kAudioObjectPropertyElementName' declared here
:info:build     kAudioObjectPropertyElementName         = 'lchn',
:info:build     ^

...and then there are lots of other similar errors about the same undeclared identifier. I'll attach the whole log in case it helps.

Attachments (1)

main.log (643.8 KB) - added by colons (colons) 13 months ago.
a log from a failed build

Download all attachments as: .zip

Change History (5)

Changed 13 months ago by colons (colons)

Attachment: main.log added

a log from a failed build

comment:1 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

kAudioObjectPropertyElementMain exists in macOS 12 and later. If you're getting this message on macOS 13, that tells us your Xcode and/or CLT are too old for macOS 13.

This line in the log is curious:

:debug:sysinfo Xcode none, CLT none

MacPorts doesn't think you have Xcode or CLT installed but clearly you do otherwise you wouldn't have a compiler to get the error message from. My guess is you do not have Xcode and you do have the CLT but its receipt was deleted due to a macOS bug; see ProblemHotlist#reinstall-clt.

The log also says:

:debug:main compiler clang 1200.0.31.1 not blacklisted because it doesn't match {clang < 211.10.1}

We don't have that exact clang version in XcodeVersionInfo but it is between the version numbers we have listed for Xcode 11.7 and 12.0; maybe you have a beta of Xcode 12.0 or a contemporaneous version of the CLT. That would be compatible with macOS 10.15, but not macOS 13.

If you want to have Xcode, install the latest Xcode and manually install the corresponding version of the CLT; if you only want the CLT, manually install the latest CLT. Then sudo port clean mpd and try again.

comment:2 in reply to:  1 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign:

If you want to have Xcode, install the latest Xcode

for example from the Mac App Store.

and manually install the corresponding version of the CLT; if you only want the CLT, manually install the latest CLT.

You can follow the instructions in ProblemHotlist#reinstall-clt to do this.

comment:3 Changed 13 months ago by colons (colons)

oh! i also had assumed that since things were building at all, that couldn't be the problem, but reinstalling the CLT sorted it. sorry about the wrong issue, and thank you for your help.

comment:4 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Glad that worked!

Most people assume that because they don't see a new command line tools in Software Update, they're up to date, but that's not the case when the receipt is missing. It looks like Apple has fixed the receipt-deleting problem though so hopefully this won't happen again.

Note: See TracTickets for help on using tickets.