Skip to content

Reopen: Cannot use Metal properly with Swift Packages — even with Apple-recommended plugin workaround #8930 #9073

@schwa

Description

@schwa

Is it reproducible with SwiftPM command-line tools: swift build, swift test, swift package etc?

  • Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands, swift build, swift test, swift package etc.

Description

This is a manual re-open of #8930

After upgrading to latest dev beta of macOS I can no longer user Metal with SwiftPM the way Apple recommends.

The full details of the issue are in #8930 and I've filed a new Feedback item under (the original FB was FB18799794)

(Following description copied verbatim from FB19954764 where I've also filed this)

n macOS 26.0 Beta (25A5349a) and Xcode Version 26.0 beta 6 (17A5305f) the issue has reoccured.

Attempting to build the tests for https://github.com/schwa/MetalCompilerPlugin - or build any project that relies on this SPI Plugin will fail.

This is the same results as previously reported in FB18799794 and #8930

CustomTask metal 51577bfbc9d0356f0133519c87ccc555 (in target 'MetalCompilerPlugin_ExampleShaders' from project 'MetalCompilerPlugin')
cd /Users/schwa/Shared/Projects/MetalCompilerPlugin
/usr/bin/sandbox-exec -p (version\ 1)'
'(deny\ default)'
'(import\ "system.sb")'
'(allow\ file-read*)'
'(allow\ process*)'
'(allow\ mach-lookup\ (global-name\ "com.apple.lsd.mapdb"))'
'(allow\ mach-lookup\ (global-name\ "com.apple.mobileassetd.v2"))'
'(allow\ file-write*'
'\ \ \ \ (subpath\ "/private/tmp")'
'\ \ \ \ (subpath\ "/private/var/tmp")'
'\ \ \ \ (subpath\ "/private/var/folders/pr/yb6s1f5n66l736cnh8vfygzm0000gn/T")'
'\ \ \ \ (subpath\ "/private/var/folders/pr/yb6s1f5n66l736cnh8vfygzm0000gn/C")'
')'
'(deny\ file-write*'
'\ \ \ \ (subpath\ "/Users/schwa/Shared/Projects/MetalCompilerPlugin")'
')'
'(allow\ file-write*'
'\ \ \ \ (subpath\ "/Users/schwa/Library/Developer/Xcode/DerivedData/MetalCompilerPlugin-dbmhlvzupehblxczlpulkjowpxxd/Build/Intermediates.noindex/BuildToolPluginIntermediates/metalcompilerplugin.output/ExampleShaders/MetalCompilerPlugin")'
'\ \ \ \ (subpath\ "/private/var/folders/pr/yb6s1f5n66l736cnh8vfygzm0000gn/T/TemporaryItems")'
')'
' /usr/bin/xcrun metal -gline-tables-only -frecord-sources -fmodules-cache-path=/Users/schwa/Library/Developer/Xcode/DerivedData/MetalCompilerPlugin-dbmhlvzupehblxczlpulkjowpxxd/Build/Intermediates.noindex/BuildToolPluginIntermediates/metalcompilerplugin.output/ExampleShaders/MetalCompilerPlugin/cache /Users/schwa/Shared/Projects/MetalCompilerPlugin/Sources/ExampleShaders/ExampleShaders.metal -o /Users/schwa/Library/Developer/Xcode/DerivedData/MetalCompilerPlugin-dbmhlvzupehblxczlpulkjowpxxd/Build/Intermediates.noindex/BuildToolPluginIntermediates/metalcompilerplugin.output/ExampleShaders/MetalCompilerPlugin/debug.metallib

error: error: cannot execute tool 'metal' due to missing Metal Toolchain; use: xcodebuild -downloadComponent MetalToolchain

This issue was fixed for approximately 1 week but upgrading macOS to the latest dev beta re-introduced it.

Expected behavior

No response

Actual behavior

No response

Steps to reproduce

No response

Swift Package Manager version/commit hash

No response

Swift & OS version (output of swift --version ; uname -a)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions