IRC channel logs

2019-12-10.log

back to list of logs

<sakirious>Heya, I'm trying to get into using Guile from Common Lisp. I wanted to ask if there was any QuickLisp alternative or a standard method of managing libraries for the Guile environment?
<johnjay>sakirious: i have no idea. i also want to get into guile
<johnjay>right now i'm git cloning it i think.
<sakirious>Ah. I had thought about dropping the libraries in my working directory and building that way, but it seemed unpleasant.
<johnjay>i'm trying to get guilemacs up and running. emacswiki don't let me down
<johnjay>so what kind of stuff did you do in CL?
<zig>sakirious: that is guix
<johnjay>hrm.
<johnjay>i guess i just realized these instructions are saying to download and compile guile first
<johnjay>then to clone a repo that has "emacs" in it
<johnjay>i already have guile-2.2 in my apt-get install though
<johnjay>do i still need to compile guile directly?
<johnjay>here's the instructions i'm following: https://www.emacswiki.org/emacs/GuileEmacsBuild
<wingo>moin
<lloda>johnjay: you need to git clone b/c that's where the wip-elisp branch is
<lloda>iiu what you mean
<manumanumanu>Hello people!
<zig>hello manumanumanu
<manumanumanu>What a wonderful day!
<zig>... to hack with guile :)
<manumanumanu>I am finished porting tests to the guile "test-lib", and now I will just have to rewrite the srfi-171-document in texinfo and I can submit a patch to guile :D
<manumanumanu>Writing texinfo is about as fun as eating cardboard, so I might go out and do some gardening before
<manumanumanu>it is finally dropping so far below 0 so that I will have to harvest the last of my carrots and other roots.
<manumanumanu>I just don't know what to do with them. I thing we have at least 50 kg still in the ground!
<nalkri>Soup
<nalkri>Quite a lot of soup
<lloda>wingo: I don't understand how I should do this, replace doesn't work either :-\
<lloda> https://paste.debian.net/1120466/
<lloda>accepting the warning seems to be the only solution
<lloda>the warning with #:export I mean
<wingo>lloda: #:re-export-and-replace
<wingo>new in 2.9.6
<lloda>O_o
<lloda>I should have read the NEWS!
<lloda>thx wingo
<wingo>:)
<jmercouris>hi guys, I'm trying to compile guile-lib
<jmercouris>here is what happens: http://dpaste.com/2Q7GXRH
<jmercouris>it also happens with other libraries that I get the exact same error
<jmercouris>Error: ice-9/boot-9.scm:752:25: In procedure dispatch-exception: no code for module (unit-test)
<jmercouris>No idea what this means, any help or guidance would be greatly appreciatd!
<jmercouris>s/appreciatd/appreciated
<civodul>hi jmercouris!
<civodul>s/guys/people/ :-)
<civodul>the (unit-test) module is provided by guile-lib
<civodul>and here the error means it isn't found
<civodul>could it be that your guile-lib installation is not in $GUILE_LOAD_PATH?
<jmercouris>civodul: guys means people in the MidWest, please see a regional map for usage of ya'll, guys, etc
<jmercouris>let me try setting the $GUILE_LOAD_PATH
<jmercouris>civodul: please see this map: https://www.dailymail.co.uk/news/article-2336660/Yall-you-guys-Dialect-maps-showcase-Americas-linguistic-divides.html
<jmercouris>nobody says 'people', guys is assumed to be gender neutral, a group of women is often called guys
<jmercouris>anyways, I digress
<jmercouris>so I've now set it: echo $GUILE_LOAD_PATH -> /Users/jmercouris/Source/Lisp
<jmercouris>pwd -> /Users/jmercouris/Source/Lisp/guile-lib
<jmercouris>same exact erorr, perhaps cache needs to be cleaned?
<jmercouris>ok, just deleted ~/.cache/guile, unfortunately the same error :'(
<jmercouris>I also haven't found anything very enlightening in the INSTALL file
<johnjay>let's see, i have libjpeg-dev installed but configure hasn't found it.
<johnjay>suggestions?
***ng0_ is now known as ng0
<str1ngs>jmercouris: you may need to set GUILE_LOAD_COMPILED_PATH as well
<jmercouris>str1ngs: OK, I will give that a try, one moment please
<str1ngs>jmercouris: /Users/jmercouris/Source/Lisp does not seem right. search the install prefix for unit-test.go and unit-test.scm
<jmercouris>str1ngs: that's the directory that I've download guile-lib to. I only have Guile installed, nothing else
<str1ngs>jmercouris: you did not build guile-lib then?
<jmercouris>str1ngs: no, I am trying to build it
<str1ngs>use the GNU three finger salute method. ./confgure && make && make install . :)
<jmercouris>str1ngs: but that's what happens when I run ./configure and make!
<jmercouris>I will post the output of the above, one second
<str1ngs>right but ./configure with default to /usr/local and make install will install to there.
<jmercouris>str1ngs: http://dpaste.com/0ZZJQWT
<jmercouris>so when I specify a standard ./configure I get the warning messages
<jmercouris>for sitedir and siteccachedir
<str1ngs>you are using --prefix=/opt/local?
<jmercouris>str1ngs: that is correct
<jmercouris>which guile -> /opt/local/bin/guile
<str1ngs>did you install guile by hand?
<jmercouris>no, I installed it via my package manager, MacPorts
<str1ngs>try with ./configure --prefix=/opt/local. and see if the error continues
<str1ngs>also what version for guile-lib is this?
<str1ngs>of*
<johnjay>this is the result of my configure. is this somewhat typical? https://paste.ubuntu.com/p/3JgjVPDJjP/
<str1ngs>johnjay: for graphical emacs yes it looks okay
<johnjay>ok. not finding libjpeg and some other stuff seemed odd to me
<str1ngs>johnjay: though emacs should give a summary on cconfigure
<jmercouris>str1ngs: the version of guile-lib is: 0.2.5.1
<jmercouris>str1ngs: sorry, 0.2.6
<str1ngs>jmercouris: okay, did you try setting the prefix flag?
<jmercouris>str1ngs: yes
<jmercouris>str1ngs: same exact error
<johnjay>str1ngs: ok. i'm a little uneasy at it being called "emacs" and not guile-macs or something else
<johnjay>i accidentally overwrote my actual emacs source tree
<str1ngs>johnjay: do you actually need jpeg suport?
<johnjay>no. i don't think so. i'm just trying to test guile-emacs
<johnjay>i thought it odd because i have libjpeg and it says version 8c
<str1ngs>oh this is the guile-emacs branch?
<johnjay>i sudo apt installed guile-2.2-{dev,libs} then tried to configure guile emacs
<johnjay>right...
<johnjay>i'm following the wiki: https://www.emacswiki.org/emacs/GuileEmacsBuild
<str1ngs>you may be interested also in nomad a emacs like web browser using guile
<jmercouris>or you might be interested in Next, an emacs like web browser with a language that is good
<str1ngs>that's a shamless plug considering I'm the author :)
<jmercouris>that's a shameless plug considering I'm one of the authors :)
<jmercouris>str1ngs: it is nice to finally meet you! Ambrevar has spoken about you
<str1ngs>hello :)
<jmercouris>he has said very good things
<str1ngs>I've been working on making QT use-able from both next and nomad without RPC
<johnjay>str1ngs: is your emacs like web browser perfect?
<jmercouris>str1ngs: that's precisely why we are having this conversation actually :-)
<str1ngs>johnjay: no software is perfect. :P
<jmercouris>str1ngs: I'm trying to use gobject introspection to bind to Qt
<str1ngs>jmercouris: https://github.com/mrosset/giqt
<jmercouris>str1ngs: how ever in order to run GiQt, https://github.com/mrosset/giqt, I need to actually get some of this stuff to run
<jmercouris>str1ngs: exactly, yes
<str1ngs>oh haha
<str1ngs>I'm the author of that to
<jmercouris>Aha!
<jmercouris>I didn't know you were the same person
<str1ngs>in guile what is the output of %load-path
<johnjay>str1ngs: i was trying to make a star trek joke there
<jmercouris>one second please
<str1ngs>jmercouris: see https://github.com/mrosset/giqt/tree/master/examples for the sbcl example aka lisp
<str1ngs>johnjay: oh sorry went over my head :(
<johnjay>let's see, make failed with undefined reference to scm_intern
<johnjay> https://paste.ubuntu.com/p/T8PBzdtpm2/
<jmercouris>str1ngs: http://dpaste.com/0ZT6FA4
<str1ngs>johnjay: maybe this uses an older version of guile?
<johnjay>i don't know. i have guile-2.2-dev and libs installed
<johnjay>maybe i should go with the guide and manually compile like it said?
<str1ngs>jmercouris: I think ./configure --prefix=/opt/local && make install should resolve this
<jmercouris>str1ngs: I will try once more for posterity :-D
<johnjay>i sudo apt-geted guile stuff then went directly to trying to compile guile macs
<str1ngs>jmercouris: and I think guile-lib git master has better support for guile-site
<jmercouris>str1ngs: same thing :-(
<jmercouris>str1ngs: do you have a link to the repository?
<str1ngs>jmercouris: first try with ./configure --guile-site=yes --prefix=/opt/local
<jmercouris>ok, one second
<str1ngs>jmercouris: btw giqt has only been tested on linux so far
<str1ngs>theoretically it should work on macos though
<str1ngs>also there is #nomad-browser
<jmercouris>str1ngs: bindings generated in Linux would work on a macOS system?
<johnjay>str1ngs: is working with Qt that hard?
<str1ngs>this is more complex then just binginds. this is use GI. but I'm pretty sure this is useable
<jmercouris>str1ngs: configure: error: unrecognized option: `--guile-site=yes'
<jmercouris>I do have --with-guile-site
<str1ngs>did you download guile-lib here http://download.savannah.nongnu.org/releases/guile-lib/guile-lib-0.2.6.tar.gz ?
<str1ngs>jmercouris: I think maybe it's better to use the git repo
<jmercouris>I did donwload it from there
<jmercouris>I'll clone it now and see if that makes a difference
<lloda>daviid might be able to help
<jmercouris>str1ngs: just out of curiosity, would it be possible to rewrite giqt in CL? is there something special about scheme that makes it necessary to use?
<str1ngs>giqt is not written in in scheme. it's written in C and C++. it allows gi bindings to scheme and common use giqt
<str1ngs>or python for that matter
<str1ngs>see the examples in https://github.com/mrosset/giqt/tree/master/examples
<jmercouris>I guess I don't fully understand what I am doing then
<str1ngs>basically giqt is a typelib library
<jmercouris>something like swag for ffi?
<str1ngs>this is better the swag, since it introspection at runtime. not generated by some declaration file
<johnjay>erm. i'm totally lost, where should i look for result of compiling guile?
<jmercouris>I'm just trying to get a metaphor here so I understand :-)
<str1ngs>jmercouris: GI is like glib FFI
<jmercouris>Right
<jmercouris>so, in a most practical sense, how would I use giqt?
<jmercouris>because now I am wholly confused :D
<str1ngs>see the exmamples
<jmercouris>I've seen them
<jmercouris>I understand the CL one
<str1ngs>in the context of next https://github.com/mrosset/giqt/blob/master/examples/hello.lisp.in
<jmercouris>what I don't understand is this, should I be able to just fire up the CL example, and it will work?
<str1ngs>basically qiqt provides the same API ask GTK but for QT
<str1ngs>yes you can do. make run-lisp and should work
<str1ngs>but this is highly alpha, and there is many moving parts expect some issues :)
<jmercouris>I'm going to try loading the code directly
<jmercouris>one moment please
<str1ngs>np
<str1ngs>also I use quicklisp which is a hack to install cl-gobject-introspection.
<str1ngs> https://github.com/mrosset/giqt/blob/master/examples/hello.lisp.in#L22
<str1ngs>I don't actually use CL so any improvements in the examples is appreciated
<str1ngs>also there is #nomad-browser since this might be OT
<jmercouris>str1ngs: ok, I'll join there
<johnjay>what would undefined references to scm_intern, scm_find_symbol, and scm_obarray_for_each mean?
<str1ngs>johnjay: when it's linking it cant' find those functions
<johnjay>this is all in lread.o
<johnjay>when i try running guile itself it says Uncaught exception:
<johnjay>Throw to key misc-error with args ("primitive-load-path" "Unable to find file ~S in load path" ("ice-9/boot-9") #f)Threads explicit registering is not previously enabled
<RhodiumToad>what version of guile?
<RhodiumToad>I believe scm_intern is deprecated
<johnjay>whatever was downloaded with the command i used
<johnjay> https://www.emacswiki.org/emacs/GuileEmacsBuild
<johnjay>^i'm trying to follow this guide
<RhodiumToad>deprecated and removed, apparently
<johnjay>to be clear i have the guile-2.2 from my repo installed
<johnjay>i have NOT yet installed the version i downloaded
<johnjay>so i tried first to compile emacs with the guile-2.2 from ubuntu binary
<johnjay>which file should I check for the version?
<johnjay>i checked README and it said guile2.0
<johnjay>everything in libguile says 2.2 so i think i'm good
<zig>johnjay: 2.2 is not 2.0
<johnjay>well i went to the guile page and it had the same git clone command
<johnjay>so i'm confident it's the latest 3.0 prerelease
<ng0>whoever maintains guile-json: i don't think a plain dump of the git log is a good Changelog format.
<johnjay>i'm recloning now but i still need to build it
<johnjay>so hopefully somebody who knows that can help me out later when it finishes
<jcowan>Young woman: "Of course a group of women can be called 'guys'. Even guys do that!"
<johnjay>jcowan: you wouldn't happen to know how to compile guile emacs would you?
<johnjay>right now i'm planning to blindly configure and make and hope it works somehow
<johnjay>i typed make -j3 even though idk if that even matters
<jcowan>johnjay: I don't use Emacs except very occasionally, so no
<johnjay>there's an emacs subdirectory in guile so i'm hopeful
<johnjay>the reason i asked you about making userland apps in chicken before
<johnjay>was i was curious what would be the best lispy platform for a new emacs
<johnjay>if one were to do it in scheme would it matter which scheme was used a great deal?
<johnjay>guile has posix threads i understand as well
<jcowan>Chicken has Posix threads, but you can't run Scheme in them because of what Chicken does to the stack.
<jcowan>I guess it depends on how much compute-bound code is actually being executed
<ZombieChicken>Are you talking about a new emacs that can run current emacs code?
<daviid>str1ngs: did jmercouris solved his/her guile-lib installation problem?
<daviid>asking you because he/she left, and it's not clear from the log ...
<daviid>i should improve the guile-lb web pages, the download page doesn't provide anything about how to install, where the developers page does ... oh well
<johnjay>ZombieChicken: that is what guile emacs is i believe
<johnjay>that's what i'm trying to investigate at any rate
<johnjay>daviid: do you know how to build emacs with guile? the README doesn't say how
<johnjay>and the instructions on emacswiki are 5 years old and possibly not valid
<johnjay> https://www.emacswiki.org/emacs/GuileEmacs
<johnjay>hrm. i think the emacs folder is not emacs. it's just a few el files to use with guile mode
<str1ngs>daviid: he's trying to avoid guile-lib altogether. it's not actually a hard requirement for giqt but I use it for unit-testing
<daviid>sneek: later tell jmercouris you need th pass an additional when you want to install the source modules in the guile's tree, like this ./configure --prefix=/opt --with-guile-site=yes - these options are displayed at te end of the configure step, as well as the list of path related variables, so you have a way to know exactly where things are indeed installed ...
<sneek>Will do.
<daviid>guile-lib is fine
<daviid>and very easy to install
<str1ngs>daviid: I already explained the --with-guile-site. but he only wants to use the sbcl portion of giqt
<daviid>sneek: later tell jmercouris you should grab the latest tarball guile-lib-0.2.6.1.tar.gz which enhanced these configure display messages at the end of the configure step
<sneek>Okay.
<str1ngs>I suggested using git since I know it had the enhanced output I was not sure if 2.6.1 had it or not
<daviid>str1ngs: ok, jut to make ure, it is --with-guile-site=yes, just --with-guile-site won't work
<str1ngs>right, I mentioned that. he had not actually run make install either.
<daviid>str1ngs: oh ok, yes from the source is fine of course
<str1ngs>that's good to know for next time. I though 2.6.1 had it but I was not 100% sure
<str1ngs>turns out he might not need guile-lib since I have a sbcl gtk example for hit that does not use guile-lib
<daviid>str1ngs: ah ok when in this case of course guile won't find the guile-lib modules, unless using ./pre-inst-env ...
<str1ngs>right, the user dislikes guile which is not helping the issue
<str1ngs>giqt is a joint guile sbcl project. so I have tests in guile and sbcl . and they are kinda required for my on sanity
<daviid>why sbcl? does sbcl doesn't have a qt binding?
*daviid thinks sbcl has all the bindings in the world :), just like python
<str1ngs>the sbcl is using cl-gobject-introspeciton fot access the giqt typelib which provides bindings for QT
<str1ngs>it's a way for nomad and next browser to share common code
<str1ngs>thanks to g-golf of course
<daviid>ok
<str1ngs>I don't know much about sbcl if it has native QT bindings
<str1ngs>currently next is use a client server model with RPC
<daviid>wrt g-golf, i pushed a few doc enhancement patches, i should work more on this today, then get back to signals
<str1ngs>I saw that. I do get a gettext error on that btw
<daviid>gettext error?
<str1ngs>yes once sec I'll post the error
<str1ngs>err texinfo error I meant
<str1ngs>specifically makeinfo ./api-hl-api-import.texi:141: unmatched `@end deffn'
<str1ngs>but I wanted to verified I get the error with debian before I did a report
<daviid>oh, i get here to, i mst have been very tired, it was early in the morning after a nght work ... let me fix
<str1ngs>ah good, saves me checking on debian
<str1ngs>I still get the GI GTK errors with make check (process:6317): GLib-GObject-CRITICAL **: 14:08:42.485: g_param_spec_pool_lookup: assertion 'pool != NULL' failed
<str1ngs>but only on guix so I can't report anything quite yet on that sorry
<str1ngs>something in Running test case: test-g-property-accessor
<str1ngs>also (process:6317): GLib-GObject-WARNING **: 14:08:42.480: g_object_get_is_valid_property: object class 'ClutterGridLayout' has no property named 'orientation'
<str1ngs>daviid one that that will help the tests is adding export G_DEBUG="fatal-warnings" to pre-inst-env
<str1ngs>since this will make the test faile right away. or in bash env
<daviid>str1ngs: pushed a fix for the texinfo bug
<daviid>wait, savannah not responding
<str1ngs>thanks I can then now keep my g-golf.scm declaration on tip again.
<daviid>ok, the push went through .. ypu may pull
<daviid>str1ngs: make check works fine here
<str1ngs>ok thanks, hopefully I can resolve this guix issue sooner than later
<daviid>no idea why you get those
<johnjay>str1ngs: are you using Guix right now?
<daviid>i would never, unless a mistake/bug on my side of course, push something if make check fails
<str1ngs>johnjay: yes
<johnjay>and you can install emacs with guile from the guix package manager?
<str1ngs>johnjay: oh no, last I check emacs with guile it had bit rotted
<johnjay>well. i thought maybe if i downloaded and installed Guix in a virtual machine maybe i could get guile emacs that way
<str1ngs>personally I think using guile for emacs elisp would be a great. but elisp/emacs users/developers dont' want that I think
<daviid>str1ngs: do you also have a debian version or only guix?
<daviid>debian system i mean
<str1ngs>I preffer to develop with only autotools . but nomad target audience is mainly guix users so I keep package declarations
<daviid>str1ngs: https://developer.gnome.org/clutter/stable/ClutterGridLayout.html in the Properties section, 'orientation' ...
<str1ngs>I don't think it a problem with clutter but property introspection
<str1ngs>and definitely guix related for some reason
<str1ngs>when I bisected the issue seems to be introduced with inheritance
<daviid>str1ngs: https://paste.debian.net/1120574/
<str1ngs>daviid: 79024e29967aaa33e632c1a356fecc999185b3a5 is the last working commit
<str1ngs>and 3d755ec3c51e07b19c3a4b8b420c89482d87d14c is the first failing commit
<daviid>str1ngs: I think that you should target all distros, and hence develop on a debian system 'first', make sure nomad works there only using the autotool chain, then make the guix package available for your users of course ...
<str1ngs>daviid: right thats how I primarily develop with autotools first
<johnjay>hmm, i think virtualbox just crashed. or the Guix installer did
<daviid>but you do that on guix, i wouldn't do that
<str1ngs>no I have package declarations for guix
<daviid>str1ngs: i don't quite follow
<daviid>does it work on your debia system then?
<str1ngs>right it works on debain and ubuntu as I mentioned
<str1ngs>I'm trying to isolate what the issue is for guix
<daviid>ah ok, fair enough then, i have no idea
<str1ngs>I'll figure it out eventually. sorry for the noise. I though maybe it might ring a bell for you
<daviid>it surprises me quite a lot that it gve you problems on guix though