DaisyWiki icon indicating copy to clipboard operation
DaisyWiki copied to clipboard

Libraries do not compile under Linux with the latest ARM compiler

Open michaelgregorius opened this issue 2 years ago • 3 comments

The installation instructions for the Linux toolchain point to this page to download the toolchain.

I have downloaded gcc-arm-11.2-2022.02-x86_64-arm-none-eabi.tar.xz but it gives an internal compiler error when trying to build the libraries. You can find the error messages attached: ErrorMessages.txt. It mainly consists of the following error:

building libDaisy . . .
In file included from src/daisy.h:5,
                 from src/daisy_seed.h:5,
                 from src/daisy_field.h:4,
                 from src/daisy_field.cpp:1:
src/daisy_core.h:81:5: internal compiler error: Illegal instruction
   81 |     return ((float)x - 127.f) * U82F_SCALE;
      |     ^~~~~~

Steps to reproduce

  1. Download gcc-arm-11.2-2022.02-x86_64-arm-none-eabi.tar.xz.
  2. Decompress the archive.
  3. Make sure that the bin folder of the archive is in your path.
  4. Go to your working directory of the DaisyExamples repository.
  5. Execute: ./ci/build_libs.sh

Workaround

The workaround is to go to the page with the older releases and to download gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 from there and to use that release.

Proposed solution

Please consider to update the Wiki page so that it also points to the older releases of the compilers: https://developer.arm.com/downloads/-/gnu-rm. A pointer to the last known good release would also be helpful.

Please also consider to give more specific information about what is the correct download for the most frequent case of an x86_64 Linux machine. For me it was quite confusing to make sense of all the options on the ARM page.

michaelgregorius avatar Jun 17 '22 15:06 michaelgregorius

i ran into this exact same issue, and i just updated the wiki to reflect it. i think anyone can update the wiki, which is probably not the best idea :thinking: but at least others won't need to spend time troubleshooting like we did!

mfc avatar Aug 01 '22 17:08 mfc

There's probably also an issue with the source code if a newer compiler throws an error. You should probably open an issue on the library itself.

znmeb avatar Aug 01 '22 20:08 znmeb

oh most certainly, good idea i will open issue and point to here since i'm not interested in troubleshooting further at the moment.

mfc avatar Aug 02 '22 09:08 mfc