IRC channel logs

2020-02-26.log

back to list of logs

***Server sets mode: +nt
<nuclearkev>rlb: Right. That's actually what I'm trying, which a fairly basic example
<nuclearkev>(just prints out the name you enter)
<nuclearkev>When I attempt to use the `-static` option for GCC, I receive an error stating "ld: library not found for -lcrt0.o"
<rlb>hmm, it's been a long time, but my vague recollection is that that may not have anything to do with guile.
<rlb>(recollection which may also be dead wrong :) )
<nuclearkev>Hmm, I will try it with a plain C program and see what happens :)
<rlb>Also, while I've found libtool to sometimes be a double-edged sword, I've also found that from time to time it knows how to do a thing that I didn't.
<rlb>(if you're not using libtool -- but if you are, potentially different problems...)
<rlb>Looks like libtool has an info page on "When static libraries are not wanted" which may or may not be relevant.
<nuclearkev>rlb: you are correct, it doesn't have to do with guile
<nuclearkev>Just tried it with a basic hello-world C
<nuclearkev>got the same error
<nuclearkev>I will investigate this.
<rlb>I'd guess that you might not have quite the right compile and/or link options yet.
<rlb>(which of course libtool's designed to try to paper over)
<rlb>Also, if you don't absolutely need a fully static thing, you can sometimes get away with creative use of LD_LIBRARY_PATH, etc.
<rlb>i.e. copy guile into a suitable subtree (or install it there) and then run everything "sandboxed" -- of course depends entirely on what the goal is.
<nuclearkev>found my problem: https://stackoverflow.com/a/3801032
<rlb>But guile can generally run fine with a suitable PATH and LD_LIBRARY_PATH (at least last time I was trying something "clever").
<rlb>nuclearkev: oh, right forgot to ask first "what platform" :)
<rlb>Wonder if homebrew can help there...
<nuclearkev>rlb: this shouldn't be an issue, I'm just on my work machine and was testing out if one would statically compile with guile
<nuclearkev>Normally I'm on gnu/linux so no stress :)
<nuclearkev>rlb: I may need to enable static when building guile
<nuclearkev>`--enable-static=yes`
<rlb>I suspect you'll at least need a libguile.a, and if that's how you get one, then yep.
<nuclearkev>Not too sure, but I'll try it!
<nuclearkev>Thanks for your help, rlb
<rlb>Hmm, though we have a libguile-3.0.a in guile-3.0-dev in debian, though I'm not sure if we did anything special to get it.
*rlb forgets
<nuclearkev>is that package built with the `--enable-static=yes` option?
<rlb>noidea? :)
*rlb looks
<nuclearkev>I could probably check the repo
<rlb>I don't think we specify that -- unless dpkg-buildflags does, which I doubt.
<rlb>(seriously doubt)
<rlb>I'd guess that you might get it with the defaults, depending, perhaps, on the platform
<rlb>.
<nuclearkev>Hmm, I see
<nuclearkev>Lemme check /user/lib
<nuclearkev>usr*
<nuclearkev>I have a libguile-2.2.la and .so
<rlb>you'll need the .a I think?
<rlb>In debian, that's in the -dev packages.
<rlb>But on linux at least, you may get one from any build with the defaults (I'm guessing).
<nuclearkev>Looks like the default _is_ enabled static
<nuclearkev>Also enabled dynamic
<nuclearkev>Well, I'll see what happens
*rlb will bbl
<lispmacs>hi, what is the least expensive way to output a raw float value
<lispmacs>to stdout, assuming you start with some scheme double value? It
<lispmacs>seemed like the only way to do it with just the builtin scheme
<lispmacs>procedures is to initialize a 4 value bytevector, use
<lispmacs>f32vector-set!, and then use put-bytevector I guess I could write
<lispmacs>my own C function to just convert over the Scheme value to a
<lispmacs>float, and output that with a C function...
<spk121>lispmacs: yeah something like that. As far a I understand it, there are no 'native' f32s in Guile, so you have to do some sort of conversion like that.
<mwette>maybe use (system foreign) to generate interface to write()
<dsmith-work>Hey Hi Howdy, Guilers
<gagbo_>Another noob question : is there a common pattern/function to add type checks in code ? Or should I just make it myself with (unless (pair? arg) (error "arg doesn't have the correct type!")) ?
<sneek>gagbo_, you have 1 message.
<sneek>gagbo_, rlb says: not that I'm recommending it, but I had a project using automake, and so I added the automake "make check" TAP adapter and then wrote a srfi-64 driver to produce TAP, and have been using that some lately. Though it needs help wrt getting more info when something goes wrong (I'd like it to print the full stdout/stderr for a failed test, and it doesn't yet).
<gagbo_>Oh, I should try to keep my username consistent then
***gagbo_ is now known as gagbo
<gagbo>rlb: I just wanted quick tests so I can at least iterate / refactor. So it definitely works for me for the time being.