Created attachment 468396 [details] build.log.gz Running make manually, I get an error message: make[2]: Entering directory '/var/tmp/portage/net-libs/gnutls-3.5.10/work/gnutls-3.5.10-abi_ppc_64.ppc64/src' autogen /var/tmp/portage/net-libs/gnutls-3.5.10/work/gnutls-3.5.10/src/srptool-args.def ERROR: In procedure primitive-load-path: ERROR: Unable to find file "ice-9/boot-9.scm" in load path During the normal emerge process, I just see the autogen line without the ERROR and then it hangs. Presumably the ERROR is being swallowed somehow, and it is still the actual problem. I have guile-2.0.14 installed (for bug 613420). I am building with FEATURES=test USE="-guile tools pkcs11 networking test-full"
Happens on ppc as well. FWIW: timberdoodle / # qlist guile | grep boot-9 /usr/lib/guile/2.0/ccache/ice-9/boot-9.go /usr/share/guile/2.0/ice-9/boot-9.scm
I believe this is autogen/guile-2 issue. Try this... --- cd /tmp tar -xf gnutls-3.5.10.tar.xz cp gnutls-3.5.10/args-std.def gnutls-3.5.10/srptool-args.def . autogen srptool-args.def --- Should work without issues, the boot-9.go is loaded long before srptool-args.def is opened as I see in strace.
Thanks, that's a good suggestion. I straced it: strace -o log autogen srptool-args.def and grepping for boot-9, I see: # grep boot-9 log stat("/usr/share/guile/site/ice-9/boot-9.scm", 0x3fffe37d7f58) = -1 ENOENT (No such file or directory) stat("/usr/share/guile/1.8/ice-9/boot-9.scm", 0x3fffe37d7f58) = -1 ENOENT (No such file or directory) stat("/usr/share/guile/ice-9/boot-9.scm", 0x3fffe37d7f58) = -1 ENOENT (No such file or directory) write(2, "ice-9/boot-9.scm", 16) = 16 whereas guile's boot-9.scm is installed in a different location: # qlist guile | grep boot-9 /usr/lib64/guile/2.0/ccache/ice-9/boot-9.go /usr/share/guile/2.0/ice-9/boot-9.scm That made me wonder where it's getting its path, so I speculated that it's hardcoded in autogen depending on the version of guile it's compiled against, and that speculation was correct. Re-emerging autogen and your suggested test works, and I see in the strace log: # grep boot-9 log stat("/usr/share/guile/2.0/ice-9/boot-9.scm", {st_mode=S_IFREG|0644, st_size=154720, ...}) = 0 stat("/usr/lib64/guile/2.0/ccache/ice-9/boot-9.go", {st_mode=S_IFREG|0644, st_size=262885, ...}) = 0 open("/usr/lib64/guile/2.0/ccache/ice-9/boot-9.go", O_RDONLY|O_CLOEXEC) = 5 With autogen rebuilt, gnutls builds! So autogen needs to depend on a particular slot of guile. % grep dev-scheme/guile autogen-5.18.* autogen-5.18.10.ebuild:RDEPEND=">=dev-scheme/guile-2.0:= autogen-5.18.12.ebuild:RDEPEND=">=dev-scheme/guile-2.0:= autogen-5.18.4.ebuild:RDEPEND=">=dev-scheme/guile-1.8 Well fuck. The unstable versions of autogen already *have* the slot operator. It's just the current stable version that can lead to this extremely frustrating problem. Looks like the unstable versions are blocked from stable on guile-2 going stable....
With bug 615008 fixed, I don't think there's anything left to do here.