IRC channel logs

2017-10-23.log

back to list of logs

***vicenteH` is now known as vicenteH
<OrangeShark>good day everyone
<ftknox>OrangeShark: hello!
<reed_>Hi All, I have been browsing Dave Thompson's code for SDL2 bindings to try to understand the foreign function interface better. In the following file https://git.dthompson.us/guile-sdl2.git/blob/HEAD:/sdl2/config.scm.in there is a piece of code (define %libsdl2 "@LIBSDL2@"). I believe there is some sort of pre-compiler that replaces `@LIBSDL2@` with something, does anyone know if that is the case?
<reed_>Also if so, is it standard to name files that get pre-compiled "*.scm.in"?
<OrangeShark>reed_: that basically involves autoconf, check configure.ac
<OrangeShark>when you use autoconf to generate the configure script, it will configure that file when the user runs ./configure
<reed_>OrangeShark: Thanks, that seems to be what is happening.
<OrangeShark>./configure with flags for the lib location
<OrangeShark>reed_: there is also a way to use pkg-config to find the lib location so users don't have to specify it. You can see it used on guile-git for libgit2 https://gitlab.com/guile-git/guile-git/blob/master/configure.ac
<OrangeShark>it essentially uses pkg-config to read some variables in the library's .pc file
<reed_>I guess I need to familiarize myself with this toolchain more. What is a .pc file?
<dustyweb>hey civ
<dustyweb>oops
<dustyweb>not here
<dustyweb>sneek: later tell civodul congrats on narrowing down the memory leak! \\o/
<sneek>Will do.
<dustyweb>sneek: later tell civodul and having a supposed fix :)
<sneek>Will do.
<quigonjinn>hello. there is an old guile 1.3 program with the following line:(lambda (sym) (@@ fmt sym)) . What kind of data type used to represent the module? With guile 2.0/2.2 i'm getting 'source expression failed to match any pattern in form'.
<dsmith-work>Monday Greetings, Guilers
<dustyweb>davexunit: a while ago I made a case for not using symbols for some things because I thought they weren't GC'ed. Now I'm not so sure!
<dustyweb>I see #include "libguile/weak-set.h" in symbols.c
<dustyweb>I've asked on the list
<dustyweb>I also no longer remember where I got that impression from...
<davexunit>IIRC symbols that are literals in the code are around forever as static data
<davexunit>symbols made via things like string->symbol can be GC'd
<davexunit>dustyweb: one way to test is to make a guardian to protect (string->symbol "foo"), call (gc) a bunch, and then check the guardian
<davexunit>I just tried that test and found that the symbol wasn't GC'd
<davexunit>but
<davexunit>(symbol-append 'foo 'bar) *did* get GC'd
<davexunit>not sure why (string->symbol "foo") stays around forever
<dustyweb>hm weird!
<davexunit>hmm
<davexunit>wrong again!
<davexunit>it does get GC'd
<davexunit>my first test just didn't catch it
<dustyweb>oh nice!
<dustyweb>i,i Guardians of the GC
<dustyweb>davexunit: well that changes my feelings about using symbols as keys in several places :)
<davexunit>:)
<dustyweb>davexunit: thanks for the help investigating
<davexunit>you're welcome :)
***dsmith is now known as dsmith-work
<kevinfish>Hi, I'm trying to install guile-reader. I've tried 0.[456].x so far and they all bomb at ./configure with "configure: error: You need Guile 1.8.x or higher." but originally I had guile 2.x.x and now I've downgraded to 1.8.8 and I'm STILL getting the error. I'm not very familiar with autoconf. Help!
<kevinfish>I'm installing from the guile-reader tarballs. I tried cloning the git repo but was getting all kinds MORE errors with autoconf, etc...
<daviid>guilers, here http://paste.lisp.org/+7PA5, a snipset I wrote out of guile-cv, so you can help me (maybe): I'd like to make im-rgb->gray-1 run faster, anyone has an idea and how, if possible? many thanks...
<daviid>in the above snipset, it does not matter that the vectors are all '0.0', real channels of real images have values of course, but for the sake of trying to improve things, it does not matter ...
<dsmith-work>kevinfish: It could be that guile-reader hasn't been updated for 2.x yet
<daviid>for info, on the same image, the corresponding operation rgb->gray, in imagej (java) is almost instantaneous
<dsmith-work>kevinfish: Hmm. And yet it says it has been.
<kevinfish>dsmith-work: well, the error says 1.8.x or NEWER
<kevinfish>but I think its specifically looking for "1.8.x" IOW "1.8.8" is NOT a match so fails
<kevinfish>so the configure.ac is bad or something
<kevinfish>AC_CHECK_FUNC([scm_take_u8vector], [have_guile_1_8=yes], [have_guile_1_8=no])
<kevinfish>if test "x$have_guile_1_8" != "xyes"; then
<kevinfish> AC_MSG_ERROR([You need Guile 1.8.x or higher.])
<kevinfish>fi
<daviid>kevinfish: we fixed a GUILE_PROGS bug along the line of 2.0 to 2.2, try to grab the latest guile.m4 from a recent release and use it with what ever guile you need
<dsmith-work>kevinfish: How did you install your guile?
<daviid>kevinfish: though I really recommend you to run the latest stable, and avoid at all cot 1.8.x
<kevinfish>dsmith-work: I did it with apt-get
<kevinfish>actually synaptic
<kevinfish>daviid: so I should just install guile from source?
<dsmith-work>Do you have the -dev packages installed? It may be ./configure is only looking for things in the -dev package.
<kevinfish>2.0.x is the latest in the peppermint/ubuntu repos best I can tell
<kevinfish>dmyeah, I got the guile-1.8-dev
<daviid>kevinfish: yes, remove that and grab the latest tarball
<kevinfish>daviid: okay
<daviid>my suggestion, but you may have other constraints
<dsmith-work>kevinfish: And yeah, best to avoid 1.8.
<daviid>kevinfish: purge is better then remove, if there are no other packages depending on guile on your installation
<dsmith-work>kevinfish: Be patient. Installing guile from source does take a while.
<daviid>kevinfish: though from what you said, guile-reader won't work with the latest stable? I don't use guile-reader, I don't even know what it does
<kevinfish>well, I have some of the peppermint setup stuff depending on the guile 2.0.x libraries. I just didn't remove those. Think that won't interfere with my install of the latest guile?
<kevinfish>daviid: it upgrades the reader to be more extensible.
<kevinfish>I'm trying to install skriblio which adds a syntax [... ,(func x) ... ]
<daviid>kevinfish: no it won't, just use --prefix=/your/prefix for the manually installed, don't forget to update your path for /your/prefix/bin and ldconfig for /your/prefix/lib ...
<kevinfish>daviid: k, thx
<daviid>kevinfish: but again, from what you said, guile-reader won't work: what does the skriblio guile version dependency says? you might as well ask in #guix, if there is a skriblio package, then you'd install guix and skriblio ... just another possibility
<daviid>have to go afk for a little, guilers, wrt my above paste and quiz, if anyone has an idea ping me ... thanks