macOS Tahoe Problems
General Issues
First of all, please read Migration.
Check the status of Tahoe builders here if you prefer to install prebuilt binaries. It can take several weeks after a new MacOS release before builders are working for both x86_64 and arm64.
Updating MacPorts Base
MacPorts must be installed in a version configured for macOS 26 Tahoe. If you update from an older OS version, you need to run port migrate to reinstall MacPorts base and installed ports that are not OS-independent (see link above).
Ensure you have Xcode 26.0 or greater installed and selected (e.g. sudo xcode-select -s /Applications/Xcode.app/Contents/Developer), and that you have the command line tools installed (xcode-select --install). (See below for a potential problem when upgrading from older CLT versions.) You also have to agree to the license by running sudo xcodebuild -license.
There have been reports that the -license option might not be sufficient alone, and following command might be required to agree to the license: sudo xcodebuild -runFirstLaunch
Compiling C++ fails
The installer for the Command Line Tools for Xcode 16 and later may not delete a directory that was installed by some older versions of the CLTs, which unfortunately causes clang++ to look in the wrong place for C++ headers. The majority of ports that contain C++ code will fail to build as a result.
The fix is to delete the stray directory if it exists: sudo rm -rf /Library/Developer/CommandLineTools/usr/include/c++
Then clean the ports that failed to build, and try again.
Ticket: #70750
Trace mode not working
Building ports in trace mode (i.e. with the -t option) will fail on Apple Silicon systems running Tahoe. This appears to be due to new security features in Ventura+. This issue is being followed in Ticket: #66358
Rosetta 2
A number of MacPorts portfiles and MacPorts base assume that arm64 Macs will have Rosetta 2 installed; you will likely run into issues if you have not installed it. Note that Rosetta 2 is not installed by default, or when running x86_64 binaries from the command line — you must open an application that has only x86_64 code in it to get the prompt to install Rosetta 2, or run softwareupdate --install-rosetta in a terminal window.
Metal toolchain is no longer bundled in Xcode
Xcode 26 no longer bundles the Metal toolchain. Some ports, at least qt6-qtwebengine, do require it and will thus fail to build. The solution is to ensure that MacPorts has been updated to 2.11.6, and to install the Metal toolchain separately:
sudo port selfupdate xcodebuild -downloadComponent MetalToolchain
Alone, that doesn't work out-of-the-box at least with Xcode 26.0.1 and MacPorts 2.11.6. A few additional steps are needed after installing the toolchain with the command given above:
on x86_64 only—note that this command may show a “Usage:” line, which is fine:
sudo diskutil eject $(xcodebuild -showComponent MetalToolchain | sed -E -n -e 's/^Toolchain Search Path: (.*)$/\1/p')
then for all systems:
sudo --user=macports xcodebuild -showComponent MetalToolchain sudo rm -f "$(sudo --user=macports getconf DARWIN_USER_TEMP_DIR)/xcrun_db"
Finally, it may be necessary to reboot to clear xcrun cache.
Shoutout to Mark Mentovai for all his detective work to workaround to resolve this problem! See #73008 for more details.
Tickets for Broken Ports
- #61765
- gwenhywfar4 @4.20.2: error: implicit declaration of function 'test1' is invalid in C99
- #71058
- gwenhywfar4 @4.20.2: error: incompatible function pointer types
- #72712
- glib2 @2.78.4_2+x11: error: "_LIBCPP_ENABLE_ASSERTIONS has been removed, please use _LIBCPP_HARDENING_MODE instead"
- #73012
- fizz @2024.09.23.00_4: compilation error for extensions/delegatedcred/Serialization.cpp
- #73034
- emacs +x11 under Tahoe 26.0 has a black bar covering menu
- #73038
- nomad: invalid array length -delta * delta (constant -256 of type int64)
- #73039
- gdmap @0.8.1: autogen.sh errors
- #73040
- qgis3: Failed to install
- #73044
- mono @6.12.0.182_1 failed on tahoe
- #73045
- emacs-mac-app @10.1_1+nativecomp+renameapp+treesitter not functional in Tahoe
- #73094
- PETSc configure failure
- #73132
- vault @1.19.4_0: invalid array length -delta * delta (constant -256 of type int64)
- #73140
- dnstracer does not build (macOS, Xcode 26) due to getlong, getshort issues
- #73181
- gcc14/mpich-gcc14 on intel mac problem
- #73187
- falcon @0.9.6.8: error: non-constant-expression cannot be narrowed from type 'GType' (aka 'unsigned long') to 'Falcon::int64' (aka 'long long') in initializer list [-Wc++11-narrowing]
- #73190
- newsboat @2.40: error: invalid application of 'sizeof' to a function type
- #73210
- gdb: opportunistic use of xxhashlib and zstd
- #73213
- qt5-qtbase: ASSERT failure in QMacVersion
- #73339
- audiofile @0.3.6: error: in-class initializer for static data member is not a constant expression
- #73363
- gnss-sdr: Fix build problem on Tahoe, bump version to 0.0.20
- #73390
- jd-gui @1.6.6 on tahoe failde to be compiled because fo jvm 8 used instead of other jvm available.
- #73433
- mongodb @6.0.7: error: no member named 'that' in 'run_it<FutureExecutorContinuationSharedState>'; did you mean 'that_'?
- #73489
- pandoc @3.8: build failed on macOS 26.2
- #73632
- flang-19 @19.1.7: error: '__libcpp_verbose_abort' is missing exception specification 'noexcept'
- #73633
- flang-18 @18.1.8: error: a template argument list is expected after a name prefixed by the template keyword
- #73653
- xskat @4.0: error: parameter 'f' was not declared, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
- #73721
- libffi @3.4.6_1: invalid CFI advance_loc expression when installing on macOS Tahoe 26.3.1 (a) (25D771280a)
- #73730
- cdf: fails to build on macOS 26
- #73796
- Text file merging is broken on Tahoe
- #73835
- gmsh @4.15.0: error: no member named 'MUMPS_solve' in namespace 'gmm'
- #73847
- dvdrw-tools @7.1: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
