IRC channel logs

2020-03-11.log

back to list of logs

<daviid>str1ngs: I found the cause and pushed a fix, please try and let me know if also works on your side ...
<str1ngs>daviid: working now thanks. FYI there is a orphaned dimfi somewhere. I'm seeing ;; param-n value 2
<daviid>str1ngs: ok good, will remove the ghost dmfi, tx
<spk121>.
<mwette>I have discovered that dynamic-link does not work on redhat distributions (redhat, centos, fedora): the response to this command is often "file not found". Any clues?
<daviid>str1ngs: pushed a code review fixed removing the calls to dimfi
<daviid>mwette: I would first and above all :) double check that the lib itself has all its dependencies fulfilled, using ldd ... and search for eventuall not found ...
<daviid>mwette: this is a typical guile-cv dynamic-link 'problem', wrt vigra, then o find out hlf of the lib vigra depends on were not installed ...
<daviid>mwette: if tht work, then it should work on redha as for any other distro, but guix, which needs 'full pathname', since it doen't use libtool (per design)
<mwette>no issue on other oses (ubuntu, debian, macos); the lib I'm loading is in /usr/lib64; outside of guix; tried full path, no luck
<daviid>mwette: my advice is to check the lib using lddyou need to
<daviid>mwette: my advice is to check the lib using ldd
<mwette>will do, thanks for the ti
<daviid>and make sure there no occurrence of 'not found'
<daviid>then, double check it is 'knwn to ldconfig'
<mwette>s/ti/tip/
<mwette>all the deps from the "ldd libyaml.so" also appear in "ldd /usr/bin/guile"
<daviid>mwette: maybe try strace -o strace.out guile -c "(dynamic-link blabla)"
<spk121>mwette: if you run with the environment variable LD_DEBUG=all, you can find the culprit to the "file not found"
<dsmith>spk121: Cool. Does that also show the misleading "file" not found when the symbol is not found or the init function return an error?
<dsmith>s/show the /show the true cause of the /
<spk121>dsmith: I think so. I haven't had to use that trick lately.
<dsmith>I'll need to try it next time too.
<dsmith>Hm.. Shouldn't be too hard to fake up an error condition.
<dsmith>While strace does show what files are looked for and where, it might not be available on all systems.
<dsmith>sneek file not found?
<dsmith>sneek file not found is use strace -efile or set LD_DEBUG=all
<sneek>Got it.
<dsmith>sneek file not found?
<sneek>Someone once said file not found is use strace -efile or set LD_DEBUG=all
<dsmith>sneek: botsnack
<sneek>:)
<dsmith>good bot
<sneek>Mmm
<sneek>???
<dsmith>Hmm.
<sneek>???
*sneek wags
<redkahuna>Hey All, how did you handle to get one connexion to db in guile ? explication: in oop we have singleton to be sure that we have only one connexion opened to the db, how did you handle these type of probleme in guil
<mwette>spk121: got it -- thanks
<rekado_>redkahuna: you can always define state to keep track of things like this (e.g. a procedure that stores a connection handle and returns it when called again); but in the case of database connections I usually prefer to define a macro “with-db” that takes care of opening and closing db connections for the body.
<mwette>spk121: for guile 2.0.14, LD_DEBUG reports 'file=/usr/lib64/libyaml.so [0]; dynamically loaded by /lib64/libltdl.so.7 [0]' but then guile, apparently, reports 'ERROR: In procedure dynamic-link: file: "libyaml", message: "file not found"'
<spk121>mwette: that is a 'red herring' because libltdl is garbage. The real problem is not with yaml, but with one of its dependencies
<spk121>if you go to the end of all that LD_DEBUG output and work your way backwards, you'll find an error
<spk121>Hopefully
<mwette>not seeing it
<mwette>'/lib64/ld-linux-x86-64.so.2 --list /usr/lib64/libyaml-0.so.2' gives normal stuff: linux-vd.so, libc.so only; no other dependencies
<redkahuna>rekado_: So you need to use a global variable to do that no ?
<rekado_>redkahuna: no, it can be a local variable in a closure.
<redkahuna>rekado_: sorry, can you please send me an example
<rekado_>redkahuna: roughly this: (define db-connection (let ((connection #f)) (lambda () (if connection connection (let ((c (connect-to-the-db …))) (set! connection c) c)))))
<dsmith-work>Wednesday Greetings, Guilers
<rekado_>redkahuna: whenever you call (db-connection) you’ll get the already established db connection.
<rekado_>“connect-to-the-db” is a placeholder for whatever method you use to connect.
<redkahuna>rekado_: ah thanks i understant now ! thanks a lot
<rekado_>you’re welcome!
<regtur>civodul: can you get me started on the FSF copyright assignment (for the pipeline patch)?
<dongcarl>Hi! is there documentation on the "@" synatx?
<dongcarl>like (@ (gnu packages guile) guile-1.8)
<rekado_>dongcarl: hah, actually there is!
<rekado_>dongcarl: in the info document hit “i” (for index) and then @
<rekado_>hit RET and you’ll get to the right place in 6.20.2 Using Guile Modules
<rekado_>it doesn’t have much to say about it, though.
<dongcarl>True!
<dongcarl>Very nice!
<catonano>ehy rbarraud :-)
<civodul>hi regtur! sure!
<civodul>regtur: you would need to email https://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future to assign@gnu.org
<civodul>let me know if there's anything you'd like to discuss
<civodul>(i agree that paperwork is a bit of a bummer, but hopefully it'll be quick enough)
<regtur>I dislike redtape, but it should be worth it
<civodul>i think so!
<regtur>I'll get going on this
<regtur>thanks
<civodul>yw
<janneke>as a reward you might even get a shoutout on twitter nowadays :)
<regtur>janneke: for disliking redtape?
<regtur>civodul: done BTW
<janneke>regtur: hehe
<civodul>thanks, regtur!
<civodul>the patch looks pretty much ready BTW
<civodul>we'll check what wingo thinks but i think it'd be fine to add in 3.0.x
<regtur>great
<dsmith-work>civodul: Ahh. While I'm thinking about it: The 3.0.1 release announcement mentions 3.0.0. Probably should be 3.0.x
<dsmith-work>civodul: https://lists.gnu.org/archive/html/guile-devel/2020-03/msg00012.html
<dsmith-work>"Guile 3.0.0 can be installed in parallel with Guile 2.2.x; see"
<civodul>dsmith-work: indeed, thanks for the heads-up!
<civodul>now we know of one person who actually read it ;-)
<dsmith-work>Sure!
<dsmith-work>civodul: Do you know of a simple, non-guix test that can trigger the malloc struct bug?
<civodul>dsmith-work: no
<civodul>it seems to be hard to trigger given
<rekado_>dustyweb: are you still maintaining guile-webutils? I think I may have a few additions in the future.
<civodul>bah, looks like my honey moon with rr has already ended: https://github.com/mozilla/rr/issues/2454
<civodul>:-/
<civodul>i always feel like all the great debugging tools (sanitizers, gdb record/replay, valgrind, etc.) will never quite work for Guile
***janneke_ is now known as janneke
<redkahuna>Hey all, may be not the right place but: why we use the term closure property to talk about function like cons ( can apply cons to the result of cons) and the same term closure to the abilitfy of use nonlocal variable in function to store state. ?