[MacPorts] #68486: libfido2 @1.13.0: error: use of undeclared identifier 'kIOMainPortDefault'
MacPorts
noreply at macports.org
Wed Oct 18 09:02:48 UTC 2023
#68486: libfido2 @1.13.0: error: use of undeclared identifier 'kIOMainPortDefault'
--------------------------+--------------------
Reporter: jasperweiss | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Resolution: | Keywords: sonoma
Port: libfido2 |
--------------------------+--------------------
Comment (by jasperweiss):
Replying to [comment:4 ryandesign]:
> You can even get away without the CLT if you only install ports for
which we provide binaries. We only just started building Intel binaries
for macOS 14 a few days ago and have not yet started to build arm64
binaries for it so on macOS 14 you're unlikely to get away without the
CLT.
Ah so it turns out that I did have the CLT installed.
{{{
$ xcode-select --install
xcode-select: note: Command line tools are already installed. Use
"Software Update" in System Settings or the softwareupdate command line
interface to install updates
}}}
However the softwareupdate command did not list any available updates
{{{
$ softwareupdate --list
Software Update Tool
Finding available software
No new software available
}}}
But this answer from stackoverflow did the trick
[https://stackoverflow.com/a/75829171]
{{{
$ touch "/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress"
$ softwareupdate --list
Software Update Tool
Finding available software
Software Update found the following new or updated software:
* Label: Command Line Tools for Xcode-15.0
Title: Command Line Tools for Xcode, Version: 15.0, Size:
721962KiB, Recommended: YES,
}}}
> MacPorts takes care of those dependencies which are provided by
MacPorts, such as cmake, pkgconfig, etc.—anything listed in `port deps`.
>
> Xcode and the CLT are not provided by MacPorts. You're expected to have
installed one or the other or both prior to using MacPorts.
>
> libfido2 does not require clang-15. You can confirm this by running
`port deps libfido2`. If you believed it does because it says so on the
ports.macports.org web site, the ports web site is in error because its
data is generated on a non-macOS operating system where clang-15 is
apparently a dependency of most or all ports. Or, if `port deps libfido2`
does really show clang-15 on your system, that would presumably be
evidence that MacPorts could not find a compiler from either Xcode or the
CLT and tried to use a MacPorts version instead, but the intended way to
use MacPorts on macOS is to have Xcode and/or the CLT installed so that
that compiler can be used for most ports. (Some ports—not libfido2—do have
more specific compiler requirements and might actually configure
themselves to use specific versions of MacPorts clang.)
I see! Yes I was under the impression that it was using a clang version
provided by port because ports.macports.org lists it as a build
dependency. But `port deps` doesn't list it.
>
> Replying to [comment:3 jmroot]:
> > {{{
> > :debug:sysinfo Xcode none, CLT none
> > }}}
> > Since /usr/bin/clang appears to be mostly working, you almost
certainly have outdated Command Line Tools installed and need to follow
ProblemHotlist#reinstall-clt as Ryan mentioned.
>
> The log also says:
>
> {{{
> :info:configure -- The C compiler identification is AppleClang
12.0.0.12000026
> }}}
>
> Looking at XcodeVersionInfo, it looks like that corresponds to some
Xcode version between 12.0 and 12.4, which were for macOS 10.15 and macOS
11.
It turns out that for some reason it did not update by itself. In fact, it
must have been stuck at that exact version for at least 3 years now. I did
get it to update in the end and libfido2 builds fine now!
Thank you all for the help!
--
Ticket URL: <https://trac.macports.org/ticket/68486#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list