IRC channel logs
2026-09-30.log
back to list of logs
<dthompson>I posted about this on the fediverse a few days ago but forgot to post here: our talk from qcon london back in march is no longer behind a paywall <jlicht>missing it this time, but enjoy dthompson :-) <dthompson>mcc: looks like a load path issue. guile can't find wherever you've installed hoot <mcc>There is a "share" directory. Do I need to somehow env var a scheme standard library into hoot's awareness? <dthompson>yes it's an env var issue. where did you install hoot? <mcc>I used configure --prefix to install it into ~/work/g/other/hoot/usr . <mcc>as seen but maybe not clear in screenshot. <dthompson>you'll need to set GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH to point there <mcc>to the share directory, or just to usr (the prefix root)? <dthompson>export GUILE_LOAD_PATH="$HOME/work/g/other/hoot/usr/share/guile/site/3.0 <mcc>okay. and the COMPILED_PATH to lib? <dthompson>export GUILE_LOAD_COMPILED_PATH="$HOME/work/g/other/hoot/usr/lib/guile/3.0/site-ccache <dthompson>would probably be better to figure out how to automatically add the install prefix directories to the load path so you don't have to do anything. I'll file an issue <mcc>👍 i would normally expect the point of ./configure --prefix is to do that <mcc>it would also be _nice_ to have around the env var explanation so that you can run the exe out of the build directory, but that might just confuse some readers <mcc>oh, i see. that is explained in the doc i see now <dthompson>what the doc is missing is specifically saying you can invoke the hoot script this way <mcc>maybe i should just use pre-inst-env. <mcc>additionally, ./pre-inst-env gives error "ice-9/boot-9.scm:3352:6: In procedure resolve-interface: no code for module (fibers)" (can give full bt if helpful) <dthompson>it's the same error, basically. in order to run the hoot development web server you need both fibers and guile-websocket. however, it was intended for these to be *optional*. <dthompson>unfortunately, I'm including the (web server) module even when support for it is turned off (as in your case) <mcc>well, would ./configure with different flags fix it? <dthompson>in bin/hoot.in, comment out line 9 that imports (hoot web-server) <dthompson>comment out the *expression* starting on line 144, the 'serve' call. <dthompson>that will turn the web server into a no-op for now. <dthompson>alternatively, install fibers and guile-websocket :) <dthompson>those are the *only* dependencies besides guile for this one optional feature <mcc>so hoot.in is only present in the bin/ directory of the "tarball" (eg the source repository). it's not present in the installed usr. are you expecting running make install after this makes it "click"? <mcc>ok. for the record, after that change ./pre-inst-env still gives the fibers error. <dthompson>.in files are templated files that require ./configure to process <mcc>remind me the meaning of the # symbol in guile scheme? does it have a semantic meaning or is it just an identifier character <mcc>(i can install scheme packages if they're needed for hoot, but i'm not familiar with the toolchain so i'd have to look up how) <dthompson>and it can be extended to invoke user-defined reader macros <dthompson>yeah that's why I wanted to give you a hack for now <dthompson>codeberg is having issues but I have a patch for the documentation clarifications <dthompson>mcc: okay, I was able to push doc fixes and the web server feature flag fix <dthompson>if you end using the main branch you will now get an error if you run 'hoot server' without the requisite libraries <mcc>a clear error would definitely have been an improvement! part of the problem was that the error occurred so early that "hoot help" or "hoot --help" could not run :( <mcc>Can hoot compile to WASI or is only browser use supported?