IRC channel logs

2021-11-02.log

back to list of logs

<dsmith>Ok, this is odd.
<dsmith>Wanting to work on the bot a but, but locally, attempting to build bobot++ on my Debian bullseye laptop, using guile from git (3.0.7.52-708d) and for some reason, it seems none of libguile's symbols can be found.
<dsmith>Like "undefined reference to `scm_c_export'"
<dsmith>The final link command is like
<dsmith>g++ -pthread -I/usr/local/include/guile/3.0 -pthread -g -O2 -lnsl -lcrypt -L/usr/local/lib -lguile-3.0 -lgc -o bobotpp {then all the .o files}
<dsmith>Maybe becuse the libs are *before* the .o's ?
<dsmith>And yet the Makefile is
<dsmith>$(AM_V_CXXLD)$(CXXLINK) $(bobotpp_OBJECTS) $(bobotpp_LDADD) $(LIBS)
<dsmith>Yeah, if I manually edit the Makefile adding "-lnsl
<dsmith> -lcrypt -L/usr/local/lib -lguile-3.0 -lgc" it links just fine.
<dsmith>SO
<dsmith>Automagic foolishness I guess
<dsmith>LIBS is empty. All the libs are in CXXLINK
*dsmith shakes fist at autotools
<dsmith>Well, got it working by adding "LIBS = @LDFLAGS@" to source/Makefile.am
<daviid>dsmith: i'd look at and copy the configure.ac and Makefile.am 'parts' from a 'modern' projects that uses guile, like guile-gi, which calls the guile.m4 macros, and use $(GUILE_CFLAGS), $(GUILE_LDFLAGS), $(GUILE_LIBS)
<dsmith>daviid: I'll look. But I have to mention that this was fine on the other system. (automake 1.1 instead of 1.16)
<dsmith>autoconf is the same on both at 2.69
<dsmith>And I copied in the latest guile.m4 (failed the same way)
<dsmith>daviid: Is guile-gi a library or an executable?
<daviid>"LIBS = @LDFLAGS@" sound suspicious to me, but ...
<dsmith>Oh sure! That was just a hack to make it move the -l flags to the end of the linker command line.
<daviid>i think guile-gi [like g-golf and guile-cv] partially build a library, that is called from guile using the ffi, isn't that what you are doing in the bot?
<dsmith>No. bobot++ is an executable that is linked with libguile.
<daviid>ah - unknown territory for me, should have kept quite:)
<dsmith>heh. np,
<dsmith>I've just never seen this before. And, autotools
<dsmith>My sqlite lib seems to be building ok.
<dsmith>!uptime
<sneek>I've been running for 41 seconds
<sneek>This system has been up 14 weeks, 5 days, 13 hours, 16 minutes
<dsmith>sneek: seen unknown_lamer ?
<sneek>unknown_lamer was last seen in #guile 4 months ago, saying: 20y 29w apparently since I registered and the day it died.
<dsmith>sneek: seen wingo
<sneek>wingo was in #guile 3 days ago, saying: yeah, sorry :/.
<Noisytoot>sneek: seen Noisytoot
<sneek>Nope.
<Noisytoot>sneek: seen sneek
<sneek>s34n_ was in #guix 4 months ago, saying: applying lots of graft. And not a single bribe to me....
<Noisytoot>sneek ā‰  s34n_
<Noisytoot>sneek: seen sneek
<sneek>s34n_?, pretty sure was seen in #guix 4 months ago, saying: applying lots of graft. And not a single bribe to me....
<dsmith>Noisytoot: "sn34n_" matches the bot's nick with the "metaphone" comparison. "seen" does also.
<dsmith>(map metaphone (list "sneek" "seen" "sn34n_")) => ("sn" "sn" "sn")
<dsmith>
<dsmith>Sadly
***karlosz_ is now known as karlosz
<lilyp>sneek seen seen
<sneek>s34n_?, pretty sure was seen in #guix 4 months ago, saying: applying lots of graft. And not a single bribe to me....
<wingo>moo
<lloda>morning
<lloda>one thing i don't like of Taylan's patch on #39601 is that it resolves (srfi n z) to (srfi n), anyone knows where that convention comes from? it doesn't work on Guile bc we have a few (srfi n gnu)
<lloda>besides being inconsistent
<lloda>oh it's srfi-97 :-\
<lloda>not a fan of that
<ArneBab>lloda: I like srfi-97 because it allows identification of srfis for the reader without departing from the flexibility of numbers. But this only works if there is validation, and we currently lack that: (import (srfi :1 not-lists)) should throw an error.
<lloda>indeed
<ArneBab>(though Iā€™m not sure about the details of srfi-97)
<lloda>srfi-97 makes that very same comment
<ArneBab>yes ā€” and it is something we currently lack, so we have the verbosity of srfi-97 but not its reliability
<ArneBab>ideally we should have auto-completion of imports in the REPL: (import (srfi lists TAB ā†’ (import (srfi :1 lists))
<ArneBab>Did anyone of you already use microkanren in Guile for a project?
<lloda>I pushed the #39601 patch anyway
<lloda>srfi-97 will need to be mentioned somewhere in the docs
<gbrlwck>is it possible to run a guile program step-by-step? i mean like setting a breakpoint really early in GDB and stepping on or Python's `import pdb; pdb.set_trace()`?
<lilyp>you can call-with-trace
***AndroidToad20 is now known as AndroidToad
<gbrlwck>lilyp: thanks for the hint!
***robin__ is now known as robin
<dsmith-work>Morning Greetings, Guilers
<dsmith-work>!uptime
<sneek>I've been running for 11 hours
<sneek>This system has been up 14 weeks, 6 days, 49 minutes
<dsmith-work>sneek: botsnack
<sneek>:)
<gbrlwck>what does "it is a macro that expects an unquoted option name" mean?
<gbrlwck>i'm trying to get guile to show the backtrace on error with (debug-set!)
<RhodiumToad>(debug-set! optionname value)
<RhodiumToad>rather than (debug-set! 'optionname value)
<gbrlwck>(debug-set! backtrace #t) says: "Unknown option name: #t"
<gbrlwck>does it not expect a boolean?
<RhodiumToad>I think you have to use debug-enable and debug-disable for the boolean ones
<RhodiumToad>(debug-enable 'backtrace)
<gbrlwck>i see. thanks!
<dsmith>sneek: botsnack
<sneek>:)
<dsmith>!uptime
<sneek>I've been running for one minute and 16 seconds
<sneek>This system has been up 14 weeks, 6 days, 6 hours, 14 minutes