Closed stcarrez closed 6 years ago
I've re-installed the compiler and it is working now.
Sorry for the issue. Still, it's not easy to track this kind of issue!
Guys, I realize that the GNAT runtime (base_runtimes) which was part of Ada_Drivers_Library/embedded-runtimes in 2016 has been removed by https://github.com/AdaCore/embedded-runtimes/commit/61af72d90582e88229c33ba670401bd736814995. I missed that when I switched to GNAT 2017.
Looking at the sources of MakeWithAda 2017 competitors, it seems that most of them are in the same situation as me. For example, German Rivera has made some nice porting on NXP Kinetis K64F https://github.com/jgrivera67/embedded-runtimes/commit/e642eda979b044ee75c5bf0c805805b981b8aea0 and he had to change several files in the GNAT runtime. It will be hard for him to switch to the latest Ada_Drivers_Library.
Do you have recommendations or suggestions on how we could customize the GNAT runtime in the future?
Hi @stcarrez ,
That's because we changed the way we publish the run-times. The old embedded-runtimes repo was a strange middle ground between the repo that we maintain at AdaCore and what is distributed in the GNAT releases.
We changed that and now publish on GitHub the real repo where we develop and maintain the BSPs: https://github.com/AdaCore/bb-runtimes
For Ada_Drivers_Library, there a script: scripts/install_dependencies.py
that will clone this repo and install all the required run-times. This is explained in the getting started doc.
Looking at the sources of MakeWithAda 2017 competitors, it seems that most of them are in the same situation as me. For example, German Rivera has made some nice porting on NXP Kinetis K64F jgrivera67/embedded-runtimes@e642eda and he had to change several files in the GNAT runtime. It will be hard for him to switch to the latest Ada_Drivers_Library.
We understand that our change is disruptive but it was necessary for us to be able to accept contributions on the run-time BSPs. Note that the porting efforts are not lost, the run-times are mostly the same and only the architecture of the repo is different.
Do you have recommendations or suggestions on how we could customize the GNAT runtime in the future?
So far out best documentation is here. Don't hesitate to ask questions on the bb-runtimes GitHub repo.
When trying to build the examples with GNAT ARM 2017, I'm not able to build the STM32F746, STM32F769, STM32F469 examples but the STM32F429 is building ok. The examples are failing with the following error:
I've tried to track down the issue by comparing the stm32f746disco.gpr with stm32f429_discovery.gpr and I guess this is related to the Ada runtime, but then I got lost in how the runtime is built. After changing the line:
into
It is able to find the Ada compiler. Of course it does not compile because this is not the correct runtime. All this with a fresh checkout of the Ada_Drivers_Library and a run of ./scripts/install_dependencies.py. The embedded-runtimes/BSPs seems to contain all the required files.
Any idea what is going wrong or how to investigate this issue?