Example build log: * Package: dev-ada/adasockets-1.8.4.7 * Repository: gentoo * Maintainer: ada@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU * FEATURES: preserve-libs sandbox userpriv usersandbox cat: /etc/ada/primary_compilers: No such file or directory >>> Unpacking source... >>> Unpacking adasockets-1.8.4.7.tar.gz to /var/tmp/portage/dev-ada/adasockets-1.8.4.7/work >>> Source unpacked in /var/tmp/portage/dev-ada/adasockets-1.8.4.7/work >>> Compiling source in /var/tmp/portage/dev-ada/adasockets-1.8.4.7/work/adasockets-1.8.4.7 ... * Please note! * Treatment of installed Ada compilers has recently changed! * Libs are now being built only for "primary" compilers. * Please list gnat profiles (as reported by "eselect gnat list") * that you want to regularly use (i.e., not just for testing) * in /etc/ada/primary_compilers, one per line. * ERROR: dev-ada/adasockets-1.8.4.7::gentoo failed (compile phase): * please make sure you have at least one gnat compiler installed and set as primary! * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 2561: Called gnat_src_compile * environment, line 1678: Called die * The specific snippet of code: * die "please make sure you have at least one gnat compiler installed and set as primary!"; so, problems here: 1) eclass doesn't gracefully handle absence of /etc/ada/primary_compilers, giving a random "no such file or directory" output 2) It doesn't work "out of the box" - it needs active manual configuration even when there is only one compiler available/installed. So for example for tinderboxing this is quite frustrating. It'd be nice if the compilers could check in pkg_postinst if they are the only one, and then call eselect etc. appropriately so that things just work without any manual interaction.
This stuff was treecleaned some time ago