PlaydateKit icon indicating copy to clipboard operation
PlaydateKit copied to clipboard

Xcode build fails with plugin error

Open simme opened this issue 10 months ago • 4 comments

Heyo,

I'm getting:

error: Plugin does not have access to a tool named ‘arm-none-eabi-gcc’

When I try to build and run from Xcode. I've installed the command line tools and also tried installing ‘arm-none-eabi-gcc’ separately with brew. Building from command line works. Not sure what to try next. Any tips?

simme avatar Jun 07 '25 14:06 simme

arm-none-eabi-gcc should be installed by the Playdate SDK installer on macOS (and I guess it was if the command line build works). Not quite sure why it couldn't be found when run from Xcode 🤔 If you cd into the .swiftpm directory and run ./build-and-run.sh does it work? That's all that Xcode is doing.

finnvoor avatar Jun 09 '25 01:06 finnvoor

Kinda. It seems to build and launches the simulator, but it doesn't launch the actual game and the script never exits, I get this output and then nothing more happens:

Building for simulator...
Copying resources...
Compiling into pdx...
✔ Build complete! (13,60s)
/Users/simme/Developer/cautious-octo-fiesta/.build/plugins/PDCPlugin/outputs/continuum.pdx
2025-06-13 11:18:21.119 Playdate Simulator[74474:22942282] GIT_COMMIT: 83b01743-2.7.4-release.186568-buildbot
[Sentry] [debug] [SentrySDK:210] Starting SDK...
[Sentry] [debug] [SentryFileManager:709] SentryFileManager.cachePath: /Users/simme/Library/Caches
[Sentry] [debug] [SentryFileManager:50] No file to delete at /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/events
[Sentry] [debug] [SentryHttpTransport:289] sendAllCachedEnvelopes start.
[Sentry] [debug] [SentryHttpTransport:316] No envelopes left to send.
[Sentry] [debug] [SentryReachability:178] Adding observer: <SentryHttpTransport: 0x6000032fbbf0>
[Sentry] [debug] [SentryReachability:180] Synchronized to add observer: <SentryHttpTransport: 0x6000032fbbf0>
[Sentry] [debug] [SentryReachability:210] registering callback for reachability ref <SCNetworkReachability 0x15224c410 [0x1f3d4c998]> {name = sentry.io}
[Sentry] [debug] [SentryFileManager:541] Moving state /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/app.state to previous /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.app.state.
[Sentry] [debug] [SentryFileManager:129] Dispatched deletion of old envelopes from <SentryFileManager: 0x6000028b7a20>
[Sentry] [debug] [SentryFileManager:50] No file to delete at /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.app.state
[Sentry] [debug] [SentryFileManager:541] Moving state /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/breadcrumbs.1.state to previous /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.breadcrumbs.1.state.
[Sentry] [debug] [SentryFileManager:50] No file to delete at /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.breadcrumbs.1.state
[Sentry] [debug] [SentryFileManager:541] Moving state /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/breadcrumbs.2.state to previous /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.breadcrumbs.2.state.
[Sentry] [debug] [SentryFileManager:50] No file to delete at /Users/simme/Library/Caches/io.sentry/11164178475affeec73ee0756b1fa32d93d36c9c/previous.breadcrumbs.2.state
[Sentry] [debug] [SentrySDK:231] Dispatching init work required to run on main thread.
[Sentry] [debug] [SentrySDK:233] SDK main thread init started...
[Sentry] [debug] [SentryFileManager:234] Ignoring non directory when deleting old envelopes at path: /Users/simme/Library/Caches/io.sentry/async.log
[Sentry] [info] [SentryFileManager:292] Returning empty files list, as folder doesn't exist at path: (null)
[Sentry] [debug] [SentryCrashMonitor_NSException:126] Backing up original handler.
[Sentry] [debug] [SentryCrashMonitor_NSException:129] Setting new handler.
[Sentry] [info] [SentryCrash:310] Sending 0 crash reports
[Sentry] [debug] [SentryCrash:314] Process finished with completion: 1
[Sentry] [debug] [SentryCrashInstallationReporter:46] Sent 0 crash report(s)
[Sentry] [debug] [SentrySDK:510] Integration installed: SentryCrashIntegration
[Sentry] [debug] [SentrySDK:256] SDK initialized! Version: 8.43.1-beta.0
[Sentry] [debug] [SentryLaunchProfiling:68] Won't profile next launch due to specified options configuration: options.enableAppLaunchProfiling: 0; options.enableTracing: 0
[Sentry] [debug] [SentryFileManager:50] No file to delete at /Users/simme/Library/Caches/io.sentry/profileLaunch
[Sentry] [debug] [SentryReachability:137] SentryConnectivityCallback called with target: <SCNetworkReachability 0x15224c410 [0x1f3d4c998]> {name = sentry.io (complete, 35.186.247.156), flags = 0x00000003, if_index = 24}; flags: 3
[Sentry] [debug] [SentryReachability:102] Entered synchronized region of SentryConnectivityCallback with flags: 3
[Sentry] [debug] [SentryReachability:118] Notifying observers...
[Sentry] [debug] [SentryReachability:120] Notifying <SentryHttpTransport: 0x6000032fbbf0>
[Sentry] [debug] [SentryHttpTransport:109] Internet connection is back.
[Sentry] [debug] [SentryHttpTransport:289] sendAllCachedEnvelopes start.
[Sentry] [debug] [SentryHttpTransport:316] No envelopes left to send.
[Sentry] [debug] [SentryReachability:124] Finished notifying observers.

simme avatar Jun 13 '25 09:06 simme

@simme I had the same issue with the current template, toolchain Swift 6.1.2 Release 2025-05-26 (a), Xcode 16.4 and Playdate SDK 2.7.5. I fixed it by adding /usr/local/bin to the PATH in build-and-run.sh script:

#! /bin/sh
set -e

export PATH="/usr/local/bin:$PATH"
...

It's a default location of arm-none-eabi-gcc alias in my environment.

Image

jmarek41 avatar Jul 25 '25 14:07 jmarek41

@simme I had the same issue with the current template, toolchain Swift 6.1.2 Release 2025-05-26 (a), Xcode 16.4 and Playdate SDK 2.7.5. I fixed it by adding /usr/local/bin to the PATH in build-and-run.sh script:

#! /bin/sh
set -e

export PATH="/usr/local/bin:$PATH"
...

It's a default location of arm-none-eabi-gcc alias in my environment.

Image

Thank you! This fixed it for me as well (though my arm-none-eabi-gcc is in /opt/homebrew/bin/ instead)

CyanBlob avatar Jul 25 '25 19:07 CyanBlob