IRC channel logs

2021-10-17.log

back to list of logs

<RhodiumToad>(system foreign) desperately needs a better way to get host data types
<RhodiumToad>definitions of e.g. time_t or uid_t are pretty simple to get at C compile time, but really hard from guile
<robin>RhodiumToad++
<lilyp>I think the only way to reliably get those is nyacc tho
<ArneBab>I’m skipping the lisp game jam this weekend. I had planned to do something, but my "you can play this on the server" did not work out: I can only access it from the local network :/
<ArneBab>I guess that something is wrong with my router
<lampilelo>is the port forwarded? maybe you need to unblock it in the firewall rules too? i always forget about the firewall
<ArneBab>I can access it from the local network, so it should not be the firewall. I did explicitly tell the router to forward the port, but it is still not accessible outside
<ArneBab>I use INADDR_ANY as address
<ArneBab>(sidenote: be very careful with iptables: to check the firewall I added a config. The result was that my IntelliJ ceased being able to run maven, because it uses a tcp socket for that, and that got filtered. That was a very painful lessons learned after a long hunt for the cause.
<ArneBab>)
<lampilelo>i meant router's firewall, but if you had a router that doesn't unblock ports automatically when you set up forwarding, you'd probably think about that
<lilyp>ArneBab you could still try releasing some wisp-no-js thing, no?
<ArneBab>lilyp: yes, but I didn’t do that over the weekend
<ArneBab>lilyp: I’d need a guix VM to actually provide something
<lilyp>Wouldn't a Guix pack suffice?
<ArneBab>lilyp: though I just realized that I might be able to create a docker tarball for a cloud platform
<ArneBab>How can I use guix pack if I only have the package defined in a local guix.scm?
<RhodiumToad>bleh. why do I get a warning about "imported from both ..." even when using (merge-generics) ?
<RhodiumToad>oh, blah
<RhodiumToad>and why does it sometimes work or not work depending on whether it needs to recompile?
<lilyp>ArneBab: `guix pack' should support both -f and -m
<RhodiumToad>well, after a few hundred lines of scheme, I can write a function that reads in an archive in almost any format and writes it in another format
<RhodiumToad>e.g. (copy-archive "foo.tar" "foo.zip")
<ArneBab>lilyp: -f in guix pack is format, -m would be a manifest, right? (so not for the local dir)
<lilyp>oh, then it's -l, sorry
<lilyp>oh, that doesn't seem to exist either
<ArneBab>that didn’t work either, but I found a workaround
<lilyp>-e '(load "my-package-file.scm")
<ArneBab>guix pack -L . -RR -S bin=bin -e '(load "guix.scm")'
<ArneBab>yes :-)
<lilyp>third time's a charm :)
<ArneBab>and now I’m testing whether that allows me to run it on Google cloud
<ArneBab>:-)
<psyklax>So I want to use the chickadee library. It expects to find Guile 3.0 and depends on guile-opengl. I find no package for guile-opengl so I go fetch the source. I ./configure in guile-opengl. It expects Guile 2.2. Is there a newer version of guile-opengl somewhere?
<lilyp>guile-opengl can build against Guile 3.0
<psyklax>how do you get it to do that?
<lilyp>You simply need to patch the configure script and all is well
<lilyp>Search for _guile_versions_to_search
<lilyp>Alternatively see http://git.savannah.gnu.org/cgit/guile-opengl.git/commit/?id=4bfe3c9c8ca470cc77c6a1cc170b4b65579344bb
<psyklax>make: error while loading shared libraries: libguile-2.2.so.1: cannot open shared object file: No such file or directory
<psyklax>Looks like I also have to do something similar elsewhere
<lilyp>hmm, you would need to reconfigure it, but the Guix definition simply patches configure
<lilyp>(it does only build the program once, though)
<psyklax>Still not working for me, with patch applied. And then after the patch failed to fix it, I also changed _guile_versions_to_search and am back at the same place I was before the patch. Am I meant to have guile2.2 installed alongside 3.0?
<psyklax>oh I also linked /usr/bin/guile3.0 to /usr/bin/guile since the script was not aware of the guile3.0 file
<lilyp>oh, that's a distro-specific quirk then
<psyklax>Archlinux
<lilyp>Perhaps there's a configure option to set the guile path?
<lilyp>i.e. --with-guile=/usr/bin/guile3.0 or something like that
<psyklax>All I really need is for it to find libguile-3.0.so.1
<psyklax>line 81: aclocal-1.14: command not found
<psyklax>My system has 1.16...
<psyklax>fixed that problem (not with symlinks this time) only to reveal yet another problem
<psyklax>./env: line 14: exec: compile: not found
<lilyp>Did you autoreconf after patching configure.ac?
<lilyp>I think that ought to solve many of the problems you're experiencing with already bootstrapped files
<psyklax>I deleted the directory and re-extracted the source fresh before I patched
<psyklax>Would I stll need to reconfigure?
<psyklax>hm... the answer is yes
<lilyp>probably yes, because it already has a configure file in it
<psyklax>I had never heard of autoreconf before.. now I know
<lilyp>most packages hide it behind a file called "bootstrap"
<psyklax>Is there something wrong with Archlinux? Should I be using something else?
<psyklax>./configure: line 2639: syntax error near unexpected token `3.0'
<psyklax>./configure: line 2639: `GUILE_PKG(3.0 2.2 2.0)
<psyklax>I've gotten past guile-opengl, that is working, now I need guile-sdl2. This is the error in the configure script. I see nothing wrong with it.
<lilyp>GUILE_PKG is an autoconf macro, which appears unexpanded here
<mwette>I found that configure does not work if you have guileX.Y and not guildX.Y.
<lilyp>maybe build-aux/guile.m4 is outdated? You should be able to find a new one in Guile itself
<psyklax>does not exist
<psyklax>there is no guile.m4 anywhere on my filesystem
<psyklax>Error also happens when cloning source from git and ./bootstrap
<lilyp>there is no guile.m4: That's the issue
<psyklax>shouldn't that be effecting other people who use this package, including the developer? how does that not get noticed?
<lilyp>Again, guile.m4 is part of the Guile package, so it ought to exist on a sane system.
<lilyp>Perhaps Arch hides it behind a -dev variant like Debian does?
<psyklax>nope, the only other guile packages are guile2.0 and guile1.8, no -dev packages
<psyklax>I did install guile2.2 again just to check, and that's not it either
<lilyp>That's... weird
<psyklax>after autoreconf (which I don't even know what it does) the configure got far enough to determine that I had 3.0 and 2.2 installed and it does not know about /usr/bin/guile3.0
<psyklax>I remove 2.2 and it once again does not have guile.m4
<lilyp>You can fetch one from http://git.savannah.gnu.org/cgit/guile.git/tree/meta/guile.m4?h=vVERSION
<lilyp>where version is major.minor.patch
<lilyp>then put it into your local m4 directory
<psyklax>mk, I do not know the meaning of "local m4 directory"
<psyklax>I tried to guess it out by finding other .m4 files but that didn't work
<lilyp>wait, lemme peek into my local copy of guile-sdl2
<lilyp>Add this line to configure.ac: AC_CONFIG_MACRO_DIR([m4])
<lilyp>then mkdir m4 and put it there
<psyklax>Yep, that got me further along
<psyklax>I actually correctly guessed that it was an m4 directory in the source tree, but didn't know I needed to edit the configure.ac...
<psyklax>./pre-inst-env: line 32: exec: compile: not found
<psyklax>this again
<lilyp>Didn't you already autoreconf?
<psyklax>yes
<psyklax>confirmed I got the 3.0 version of guile.m4
<psyklax>Thanks for the help. I couldn't have gotten this far without you.
<psyklax>Have to go on with my day now.
<lilyp>np, glad to help
<daviid>RhodiumToad: do you have a concrete small example of the 'warning although you do merge-generics problem, maybe I can help' - and what version of guile 'exactly' are you using? - going afk a little, be back later though ...