-
-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dfuutil missing for arm64 #436
Comments
Also, we need a Darwin arm_64 version of tool-dfuutil for the M1 Mac system. |
It would be nice if the latest dfu-util would be added to the tool-dfuutil package. At this moment only an old revision is used and the latest 0.11 only seems available for Macos Arm64. See also this issue. |
Today a new version of dfu-util 0.11 was introduced in the registry. Unfortunately not for linux_aarch64. |
It's not helping me either. The chart on their page says arm64 is supported, but we're still not picking up a universal binary.
|
Same on issue on Raspberry Pi 3b+:
Unable to compile Marlin 2.1.x, sigh. Update: Marlin fixed this literally 2 hrs ago and all seems to work again 🥳 when applying this patch: MarlinFirmware/Marlin@068624a |
I am still encountering this issue for macOS ARM64. Based on the registry, it looks like $ pio pkg uninstall -g --tool "platformio/tool-dfuutil@^1.11.0"
Tool Manager: Removing tool-dfuutil @ 1.11.0
Tool Manager: [email protected] has been removed!
$ pio pkg install -g --tool "platformio/tool-dfuutil@^1.11.0"
Tool Manager: Installing platformio/tool-dfuutil @ ^1.11.0
Unpacking [####################################] 100%
Tool Manager: [email protected] has been installed!
$ file ~/.platformio/packages/tool-dfuutil/bin/*
~/.platformio/packages/tool-dfuutil/bin/dfu-prefix: Mach-O 64-bit executable x86_64
~/.platformio/packages/tool-dfuutil/bin/dfu-suffix: Mach-O 64-bit executable x86_64
~/.platformio/packages/tool-dfuutil/bin/dfu-util: Mach-O 64-bit executable x86_64 Is it a case of wrong binary is fetched? Or the binary for |
Hi @loozhengyuan, could you run |
@valeros Thanks for looking into this! 🙇 I was able to confirm that the $ pio pkg update -g -t platformio/tool-dfuutil
Tool Manager: Updating tool-dfuutil @ 1.11.0
Tool Manager: Removing tool-dfuutil @ 1.11.0
Tool Manager: [email protected] has been removed!
Tool Manager: Installing platformio/tool-dfuutil @ 1.11.241024
Downloading [####################################] 100%
Unpacking [####################################] 100%
$ ~/.platformio/packages/tool-dfuutil/bin/*
~/.platformio/packages/tool-dfuutil/bin/dfu-prefix: Mach-O 64-bit executable arm64
~/.platformio/packages/tool-dfuutil/bin/dfu-suffix: Mach-O 64-bit executable arm64
~/.platformio/packages/tool-dfuutil/bin/dfu-util: Mach-O 64-bit executable arm64 However, it does not seem to work correctly: $ pio run --target upload
...
Adding dfu suffix to firmware.bin
dyld[29406]: Library not loaded: /tmp/dfu-util-0.11-Darwin-arm64/lib/libusb-1.0.0.dylib
Referenced from: <98506EAE-D454-32F5-917E-8BC573B4FB07> ~/packages/tool-dfuutil/bin/dfu-suffix
Reason: tried: '/tmp/dfu-util-0.11-Darwin-arm64/lib/libusb-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/tmp/dfu-util-0.11-Darwin-arm64/lib/libusb-1.0.0.dylib' (no such file), '/tmp/dfu-util-0.11-Darwin-arm64/lib/libusb-1.0.0.dylib' (no such file) |
@thijstriemstra I've uploaded a new package, please run |
At the moment, for many of our Marlin builds PlatformIO is downloading and running [common_stm32]
platform = ststm32@~12.1 I added [[env:FYSETC_S6]
extends = stm32_variant
board = marlin_fysetc_s6
platform_packages = [email protected] …and I'm getting back a rather sad error message:
Someone please explain why PlatformIO is looking for a folder named Anyway, since PlatformIO was insisting on being difficult, or using I then tried version Here are the binaries that finally worked for me: Now, how can we get these reliable and non-weirdly-linked binaries to download when building Marlin on macOS? |
Note that proper macOS binaries will not only need proper linkage, but must also be Universal binaries (not just arm64), presuming that PlatformIO does not distinguish between Darwin on ARM versus Intel for these tools. Universal binaries from Edit: These do appear to rely on |
That rather weird error message still deserves a look. But the download was at least made to work by adding platform_packages = platformio/tool-dfuutil@^1.11.241026 However, as previously mentioned, the October 26 binaries still produce the same dynamic linking error, so the updated Universal binaries are definitely needed, along with a new "
|
Hi @thinkyhead,
That's right,
Not sure where's this error coming from. Maybe you have a custom build command added via an extra script or something?
I've uploaded a new package for MacOS ARM64, so the missing |
Thanks for the update! Of course, when we do a build with |
Your previous attempt with Although, for your project, I'd recommend a bit stricter version range that will install only patch updates: platform_packages = platformio/tool-dfuutil@~1.11.0 |
@valeros — We have an intermediate proposal to assign a "latest" version and bump that as we gain confidence. I did a bunch of work to update the 40 custom boards and variants to fit the new platform version, but some APIs have also changed and so STM32 HAL code depending on those also need updates. Anyway, I went ahead and added |
The ststm32 core for platformio defines a dependency on tool-dfuutil, but that package does not seem to be available for linux_aarch64 so installing the platform fails. I am not actually using dfu for uploading code (I am using the stlinkv2 programmer), so for me a workaround is to manually remove the dependency from ~/.platformio/platforms/ststm32/platform.json. For me that works, but it is definitely not an ideal workaround, and others might actually use dfu. So would it be possible to release an arm64 linux package for it?
The text was updated successfully, but these errors were encountered: