configure: error: GNAT is required to build ada * ERROR: sys-devel/gcc-9.3.0::gentoo failed (configure phase): * failed to run configure * * Call stack: * ebuild.sh, line 125: Called src_configure * environment, line 3858: Called toolchain_src_configure * environment, line 5239: Called die * The specific snippet of code: * CONFIG_SHELL="${EPREFIX}/bin/bash" bash "${S}"/configure "${confgcc[@]}" || die "failed to run configure"; * * If you need support, post the output of `emerge --info '=sys-devel/gcc-9.3.0::gentoo'`
Created attachment 630914 [details] gcc-9.3.0:20200407-003859.log buildlog
Created attachment 630916 [details] info emerge --info
Created attachment 630918 [details] gcc-build-logs.tar.bz2 gcc-logs
ada use flags is masked for sys-devel/gcc. isn't it ?
equery h ada tells me that the packages on my system with the ada useflag are ncurses and gcc
Somehow it's not masked: $ USE=ada emerge -pv1 sys-devel/gcc These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R *] sys-devel/gcc-10.0.1_pre9999:10::gentoo USE="ada* (cxx) fortran go graphite (multilib) nls nptl openmp pch (pie) sanitize ssp vtv (-altivec) -d -debug -doc (-fixed-point) (-hardened) (-jit) (-libssp) -lto -objc -objc++ -objc-gc -pgo -systemtap -test -vanilla -zstd" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB Let's see why (on amd64): profiles/ $ fgrep -R ada | fgrep mask | fgrep -v '#' arch/base/use.mask:ada arch/amd64/use.mask:-ada base/package.use.mask:sys-devel/gcc ada Looks like it should still be masked. dev-portage@, does it sound about right? Or does 'arch/amd64/use.mask:-ada' have an overriding effect on 'base/package.use.mask:sys-devel/gcc ada'?
Why not force mask it?
(In reply to Sergei Trofimovich from comment #6) I believe portage is working as intended here. It applies use.mask and package.use.mask for each parent profile. arch/amd64 is processed after base. You'll need to add it to arch/amd64/pacakge.use.mask as well.
(In reply to Mike Gilbert from comment #8) > (In reply to Sergei Trofimovich from comment #6) > > I believe portage is working as intended here. It applies use.mask and > package.use.mask for each parent profile. arch/amd64 is processed after base. > > You'll need to add it to arch/amd64/pacakge.use.mask as well. Yeah, glancing at algorithm https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-54002r1 use.mask and package.use.mask are really one namespace in each profile.
ada USE flags is now correctly masked. Thanks!