Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 613984 - dev-scheme/guile-2.0.14 - Unable to find file "ice-9/boot-9.scm" in load path when building packages
Summary: dev-scheme/guile-2.0.14 - Unable to find file "ice-9/boot-9.scm" in load path...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Scheme Project
URL:
Whiteboard:
Keywords:
Depends on: 615008
Blocks: 587252
  Show dependency tree
 
Reported: 2017-03-27 04:46 UTC by Matt Turner
Modified: 2018-07-06 06:46 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (build.log.gz,40.23 KB, application/gzip)
2017-03-27 04:46 UTC, Matt Turner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Turner gentoo-dev 2017-03-27 04:46:01 UTC
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"
Comment 1 Matt Turner gentoo-dev 2017-03-27 05:16:48 UTC
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
Comment 2 Alon Bar-Lev (RETIRED) gentoo-dev 2017-03-27 18:38:09 UTC
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.
Comment 3 Matt Turner gentoo-dev 2017-03-28 16:55:36 UTC
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....
Comment 4 Matt Turner gentoo-dev 2018-07-06 06:46:00 UTC
With bug 615008 fixed, I don't think there's anything left to do here.