Attention is currently required from: Felix Held, Naveen Iyer.
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/81296?usp=email )
Change subject: Docs/tutorial: Do not install Ada compiler by default ......................................................................
Patch Set 2:
(1 comment)
Patchset:
PS2:
Thanks for your review. Two points - 1/2) There were linking issues when building crossgcc-i386. Symbols like "__gnat_raise_from_signal_handler" were missing. This symbol is just one example. There were other symbols missing as well. Looked at multiple ways to resolve this: https://mail.coreboot.org/hyperkitty/list/coreboot-gerrit@coreboot.org/messa...
This topic was resolved, IIRC. Can you provide more information about the environment where you still see this?
Some forums suggested that this issue usually crops up when the versions of gcc and Ada mismatch. For people who want to try coreboot, having to downgrade or upgrade their existing gcc to make sure the versions for both gcc and Ada match might be a roadblock and/or deal breaker.
Correct me if I'm wrong, but isn't `apt-get install ... gcc` still asking them to up-/downgrade their GCC in case they have a special version installed?
2/2) Tutorial seems to suggest that only bare minimum necessary to get a newbie to quickly start with coreboot on QEMU was described. However, requiring Ada compiler install, resulting in breaking the coreboot toolchain build process, seems to be an unnecessary hassle for a newbie to deal with. A newbie could always install Ada compiler when they really need it. For example, I, a newbie, did not need Ada compiler in order to boot the coreboot I built using QEMU.
I agree, but it's always a trade-off. Newbies may still run into other issues. For instance many just want to build coreboot one time for their system and they often need the Ada support. Branching inside the documentation makes things more complicated. Not sure, what the best way forward would be. Maybe we should add a new page just for toolchain building? Then reduce to the minimum in the tutorial with a link to the new page for people who want to build for hardware next?
BTW, that's why I made this point in my commit: "The warning printed by have_gnat() in util/crossgcc/buildgcc might still be useful." So, experienced users could still stop the build, install Ada compiler if they'd like to, then go back to installing the toolchain. I just have an issue with forcing newbies to install stuff they don't immediately need. Once they see the value of installing something extra, they could always do that then.
It's not always experienced users. I'm actually convinced that the coreboot toolchain is more often built by newbies that need Ada support than by experienced developers. We'd also have to make sure that re-building the toolchain works as well as the first build and that the process is fully documented (even if it's just something simple like "you have to run `make crossgcc-clean`").