IRC channel logs

2014-11-29.log

back to list of logs

<jmd>So if .go files are not architecture independent, how do I cross build one?
<mark_weaver>jmd: Guile's README includes a section on "Cross building Guile"
<jmd>mark_weaver: I'm not talking about Cross building Guile.
<jmd>I'm talking about cross building something WITH Guile.
<cmhobbs>are guile's standard libraries documented anywhere? i'm just getting my feet wet and i'd like to see what batteries are included
<cmhobbs>looks like the guile reference manual shows a few
<cmhobbs>also, can anyone point me to emacs and guile workflow tips? right now i keep multiterm in one window and my buffer in the other, swapping and running manually. is there an auto-runner or anything like slime?
<rekado>sneek: later tell cmhobbs Try geiser in Emacs.
<sneek>Got it.
<rudar>hi
<rudar>i don't know if this issue is common, i googled and found only this guy with the same thing it happens to me http://lists.gnu.org/archive/html/guix-devel/2013-10/msg00232.html
<rudar>i'm trying to compile guile-2.0.11 as a static library only
<rudar>using bdwgc-gc7_4_2
<rudar>the only way i can circumvent this issue is by modifying config.h after the configure
<rudar>in there i replace "/\\* \\#undef (HAVE_GC_.+) \\*/" with "#define \\1 1"
<rudar>after that, if i run make, i don't get any error
<amz3>héllo guilers
<jmd>hi
<amz3>has anyone an interesting .emacs to share ?
<civodul>Hello Guilers!
<daviid>hello!
<davexunit>how would one go about making a new null object for a particular data type?
<davexunit>I have this tree structure, and each node has properties, but I'd like child nodes to 'inherit' the properties of their parent if a given property is null.
<davexunit>#f isn't good enough, but some properties are booleans.
<davexunit>s/but/because/
<ft>Abuse #nil?
<ft>Maybe that's not such a good idea.
<davexunit>I would like something specific to this data type.
<davexunit>I guess I just need allocate some memory, assign it to a variable, and use (eq? foo my-null) for the null check
<davexunit>not sure if there's a better way.
<daviid>davexunit: i would define is-null? for every property
<davexunit>there's a lot. I'd like one special value that means 'inherit from parent'
<daviid>then make that the default
<davexunit>yes, of course. I was just curious if anyone else has done something like this and how.
<jmd>How does one pronounce dynamic-wind ?
<jmd>Is it wind as in flatulence, or wind as in clockwork?
<ijp>the latter
<ijp>and you couldn't have said "wind as in air"?
<jmd>Building guile-2.0.11.94-d1447:
<jmd> GUILEC ice-9/eval.go
<jmd>Throw without catch before boot:
<jmd>Throw to key
<jmd>Error while printing exception:
<jmd>Key:
<jmd>Failed to print exception.
<jmd>Aborting.
<ijp>I always loved that exception
<cmhobbs>i'd like to split my project up into several files. i imagine i'd need to make modules for that. what's the proper way to have guile recognize multiple files for a project in the same directory?
<sneek>Welcome back cmhobbs, you have 1 message.
<sneek>cmhobbs, rekado says: Try geiser in Emacs.
<davexunit>cmhobbs: add the directory to guile's load path
<davexunit>using the add-to-load-path procedure
<cmhobbs>within the code?
<ijp>davexunit: macro
<cmhobbs>is that like killing a fly with a cannonball?
<davexunit>ijp: you're right, thanks.
<ijp>cmhobbs: what do you mean "recognise multiple files for a project"
<ijp>do you want to (import foo) and have it load all files foo/bar.scm foo/baz.scm ...
<cmhobbs>well, i've got a project that's turning into one giant pile
<cmhobbs>many of the functions are related to one another
<davexunit>if you want a program to use modules outside of guile's site dir, you need to add the needed directories to the load path.
<cmhobbs>i'd like the related functions in their own files
<cmhobbs>import sounds about like what i'm interested in
<ijp>well, it doesn't matter, but use use-modules
<davexunit>(use-modules (foo bar))
<ijp>cmhobbs: I was just trying to see if your needs were more specific than Modules 101
<davexunit>will search your load path for a foo/bar.scm file that defines the (foo bar) module.
<jmd>Is there a way to find out why this error occurs?
<cmhobbs>i may be asking for things that aren't common. i'm just picking up guile, so pardon my ignorance
<cmhobbs>i'm also jumping in before i've read all the documentation... i should probably get the reference manual under my belt before asking dumb questions :D
<ijp>jmd: you could try running guile from meta/guile but I don't think that will help
<davexunit>cmhobbs: definitely read the section about the module system. it will help you understand things better.
<ijp>eval.go is low down the stack, it's not easy to know what to suggest
<ijp>usually if something basic is going to fail, it fails before you get that far
<ijp>jmd: is this a release? git?
<cmhobbs>davexunit, that's what i was currently looking for but i didn't want to install a bunch of random sugar code into my site packages just to have this simple toy program run
<jmd><jmd> Building guile-2.0.11.94-d1447:
<davexunit>cmhobbs: breaking stuff into modules is good practice for almost any size program, sans really quick one-off scripts and such.
<ijp>I got that, but if it's git, it doesn't tell me which branch, or waht
<jmd>I just downloaded it from the web page.
<ijp>if that's 2.0.11, I don't know why it has the .94...
<jmd>Don't ask me. I don't make these decisions.
<ijp>can you post your make output? I doubt it, but I want to see if somethign else was off
<cmhobbs>davexunit, i understand that, coming from other languages. i'm just not sure how much of this program will need that sort of isolation
<davexunit>cmhobbs: then just ignore the module system for now.
<cmhobbs>well, i think modules are useful for the project
<cmhobbs>but i don't know that they all need to be individually stored in the site directory
<cmhobbs>unless that's guile convention
<cmhobbs>seems to me it'd be more useful to lump modules together with their project if they're not designed to be used elsewhere
<cmhobbs>i could focus on writing composable code, though
<cmhobbs>make things generic enough to live in the site dir
<davexunit>cmhobbs: you can do that easily.
<cmhobbs>that was the question
<davexunit>the system site dir is on guile's load path by default, you just need to add to the load path.
<jmd>ijp: You want the entire output?
<cmhobbs>davexunit, is that idiomatic for guile?
<jmd>Or just the bit that's failing?
<cmhobbs>append the load path with random directories?
<davexunit>cmhobbs: absolutely. the load path is up to you.
<davexunit>when I work on my game engine, I add my source dir to the load path.
<davexunit>that way, I can muck around with it without installing it.
<ijp>jmd: all of it
<jmd>Tricky
<rudar>hello?
<rudar>i need help, i can't compile guile
<rudar>it says GNU MP not found, even though it's there, i installed it
<ijp>how did you install it, it's probably just a path issue
<jmd>ijp: Probably not all there, but a good lot is: http://paste.lisp.org/+33IP
<rudar>ah btw it's guile-1.8.8 and gmp-«any version > 3.0»
<rudar>right now i've installed gmp-6.0.0
<rudar>this is how i installed it:
<rudar>PATH="$PATH:$HOME/Programs/SPICE/bin" PKG_CONFIG_PATH="$HOME/Programs/SPICE/lib/pkgconfig" ./configure --prefix="$HOME/Programs/SPICE" --enable-shared=no --enable-static=yes; PATH="$PATH:$HOME/Programs/SPICE/bin" make; make install
<rudar>i tried installing guile-2.0.11 and it works fine, but i can't install gwave after that because of deprecated functions (my final objective is to install gwave)
<rudar>is there anyone who can help? or should i write to the mailing list? (which one?)
<ijp>jmd: ah, I thought so. It did fail earlier, when generating guile-procedures.texi
<ijp>rudar: I don't know how likely you are to get 1.8 help tbh
<jmd>Yes. I presume that's because I don't have tex installed.
<ijp>jmd: no, that's just the first place the guile executable is used
<jmd>oh. Well its the same problem then.
<ijp>sort of a "canary" for C issues
<rudar>should i seek help for gwave with guile-2.0.11? is it more likely?
<jmd>Actually it seems to be failing on a thing called "guild"
<jmd>D not E
<ijp>jmd: I know, but it's a guile script
<ijp>I'm not sure what to suggest, I don't think it has anything to do with the thread output I see
<ijp>jmd: can you paste the config.log?
<cmhobbs>can guile execute external commands? something like ruby's backticks and %x or python's os.system call?
<ijp>cmhobbs: search for "system" or popen
<cmhobbs>thank you
<jmd>ijp: It's difficult for me to transfer large files from this box. Which bit are you interested in?
<ijp>jmd: to be honest, if I knew, I'd have asked for them
<ijp>basically I'm fishing and seeing if I catch a bite
<jmd>I'll see if I can transfer config.log
<jmd>Looks as if the pastebin doesn't like such enormous files.
<jmd>ijp: No. Sorry. paste.lisp.org says "paste too large"
<rudar>apparently guile fails to find libgmp because /usr/bin/ld doesn't recognize the option "-lgmp"
<rudar>configure:27453: checking for __gmpz_init in -lgmp
<rudar>configure:27488: gcc -o conftest -g -O2 conftest.c -lgmp -lcrypt -lm -lltdl >&5
<rudar>/usr/bin/ld: cannot find -lgmp
<rudar>collect2: error: ld returned 1 exit status
<rudar>guile-2 has a different configure script..
<rudar>ijp: any ideas?
<rudar>well, i'll be back
<rudar>'night
<cmhobbs>well, i'm finally getting somewhere with guile, i think...
<cmhobbs>even though i know common lisp and use a half dozen other languages, i still feel like a baby deer trying to stand
<jmd>cmhobbs: more than I am...
<cmhobbs>ha
<cmhobbs>i think i'm just not used to the conventions
<jmd>At the moment I can't even install the damn thing.
<cmhobbs>best comparison i can think of is natural languages
<cmhobbs>i speak portuguese but not spanish, however i can understand spanish when i read it
<cmhobbs>that's kind of where i am with guile. i speak common lisp and i can mostly read guile
<cmhobbs>but i can't yet bang out stuff as easily as i can in other languages
<jmd>We should all learn esperanto
<cmhobbs>jmd, lame :/
<cmhobbs>re: not being able to compile
<cmhobbs>ha, i idle in ##esperanto and #komencintoj
<cmhobbs>tried to learn some time back but never put enough effort into it
<jmd>ijp: I have a stack trace. Interested?
<ijp>you're in luck, the sd card that came with my new 2ds isn't working and so I have nothing better to do :)
<ijp>at least till I find another sd card
<jmd>I've got one here!
<ijp>yeah, that isn't going the help me
<jmd> http://paste.lisp.org/+33IQ
<ijp>hmm, looks like an encoding error
<jmd>Something to do with iconv yeah
<ijp>jmd: even further down you see scm_encoding_error after scm_to_stringn
<ijp>I take it there were no problems installing libunistring?
<jmd>Well I did have problems, but I think I solved them.
<jmd>Is there any particular version of libunistring which guile needs?
<jmd>Is guile 2.0.11 known to run on Arm ?
<civodul>yes
<jmd>Ahh. I think I have it.
<jmd>Has it been tested with --disable-threads ?
<jmd>I'm getting this errno: "Cannot find thread-local variables on this target"
<civodul>oh
<civodul>which glibc version is it?
<jmd> /lib/libc.so.6
<jmd>lrwxrwxrwx 1 root root 12 Sep 10 10:44 /lib/libc.so.6 -> libc-2.18.so
<jmd>But I configured everything with --disable-threads so I don't understand why it is even looking for thread local variables.
<civodul>be careful: libgc wants --disable-threads and guile --without-threads
<civodul>(or the opposite)
<civodul>so make sure to double-check with ./configure --help
<jmd>Yeah whichever
<jmd>well I'm kindof stuck if I can't get Guile to run.
<civodul>i tested it on my armv5 box back then
<civodul>you're on armv7?
<jmd>YEs
<civodul>perhaps you should report all the details of your config, plus backtrace etc. to bug-guile
<civodul>sorry i don't have a better answer! :-/
<jmd>ok.
<civodul>maybe the GCC Compile Farm has an armv7, in which case i can debug there