Replies: 6 comments 2 replies
-
From #1594 (comment) by @stefanrueger. @umbynos I understand that the Arduino build process either does not compile with at least C99 compatibility or does not link to libraries that are C99-compliant. This has caused problems and may harbour other (so far unknown) problems, because the AVRDUDE project has been relying on availability of C99 (which is 23 years old) Can the Arduino-packaging be made to compile with C99 and link to C99 standard C libraries? |
Beta Was this translation helpful? Give feedback.
-
From here: to add libserialport support The other solution is to build libserialport within the following github action. |
Beta Was this translation helpful? Give feedback.
-
As of now, avrdude project provides three types of Windows binaries from github action.
MSVC build (using VS2022, x86, x64 and arm64 build), without libserialport, using avrdude's own libusb/libftdi, using avrdude's own readline wrapper, using hidapi 0.13.0 release Known Issues for this version:
MSYS2 mingw32/64 (x86 and x64 build), with libserialport, with GNU Readline, with libusb-1.0.26 and libusb-compat-0.1, with libftdi1, with hidapi 0.14.0. Known limitation of this build
using Arduino avrdude-packing script (32bit x86 build only), using a Linux container with cross compiler, without libserialport, with libusb-1.0.26 and libusb-compat-0.1.7, libftdi1-1.4, hidapi 0.12.0, GNU Readline 8.0. Known limitation of this build
|
Beta Was this translation helpful? Give feedback.
-
Reference: MSVCRT vs UCRT **MSVCRT (Microsoft Visual C++ Runtime) is available by default on all Microsoft Windows versions, but due to backwards compatibility issues is stuck in the past, not C99 compatible and is missing some features.
UCRT (Universal C Runtime) is a newer version which is also used by Microsoft Visual Studio by default. It should work and behave as if the code was compiled with MSVC.
|
Beta Was this translation helpful? Give feedback.
-
The avrdude-packing script in this repo is a cut-down version of your more detailed script. One missing feature is to deal with the tagged release (say 7.3 release). Just wondering if you can help here. Thanks. |
Beta Was this translation helpful? Give feedback.
-
More discussions here: I will close this one now. |
Beta Was this translation helpful? Give feedback.
-
From #1594 (comment)
@stefanrueger and @MCUdude
One possibility to sort out the old Arduino Crossbuild MinGW cross compiler issue (it uses the default mingw64 cross compiler for i686), is to give up on the MinGW cross build (we can easily remove it from github action). We anyway recommend people to use the MSVC build first and then MinGW build if the MSVC build does not work. The original intention is anyway to provide static linked version for Linux and macOS users.
For the use case of Arduino Core, I think the MSVC build should work pretty well since the limitations do not normally affect Arduino Core users. Or we can use the MinGW build as well.
Reference:
https://github.com/avrdudes/avrdude/wiki/Getting-Nightly-Builds-for-AVRDUDE
Beta Was this translation helpful? Give feedback.
All reactions