Index

Show enters and exits. Hide enters and exits.

00:07:09lstoll leaves the room.
00:08:22lstoll enters the room.
00:08:25graza leaves the room.
00:09:05graza enters the room.
00:15:24thehcdreamer leaves the room.
00:17:37ezmobius leaves the room.
00:18:19pietia leaves the room.
00:19:30jayWHY leaves the room.
00:22:34ezmobius enters the room.
00:26:16ezmobius leaves the room.
00:26:23graza leaves the room.
00:27:04graza enters the room.
00:33:07ezmobius enters the room.
00:39:57graza_ enters the room.
00:39:58graza leaves the room.
00:50:34derdewey enters the room.
01:03:50graza_ leaves the room.
01:09:03jtoy enters the room.
01:09:55dc_ leaves the room.
01:13:15_ADS enters the room.
01:20:06joachimm leaves the room.
01:20:26bitbckt leaves the room.
01:29:38bitbckt enters the room.
01:31:12bitbckt leaves the room.
01:35:31rueHola
01:38:01djwhittyo
01:46:54antaresrue: hey
01:50:43derdeweyso... how long did it take you guys to get up to speed on the way rubinius works?
01:52:42rueA while
01:53:01bitbckt enters the room.
01:54:15derdeweyya, my two days hasn't netted very much :)
01:55:41bitbckt leaves the room.
02:05:52derdewey leaves the room.
02:11:55RyanTM leaves the room.
02:12:49mernen leaves the room.
02:20:53seydar enters the room.
02:24:07lstoll_ enters the room.
02:24:27lstoll leaves the room.
02:24:59seydardrbrain: what did you do to fix bootstrap.rba?
02:25:15drbrainseydar: nothing
02:25:33drbrainseydar: does it work for you now?
02:25:37seydaryea it does
02:25:50drbrainit's a problem in the Rakefile somewhere
02:27:12seydarah
02:27:17seydarwell... good thing it works now
02:30:39seydarare you familiar with the YAML stuff?
02:33:03drbrainvaguely
02:33:48seydarok. whats the difference between lib/rbyaml and stdlib/yaml
02:34:28drbrainew, stdlib/yaml should be deleted
02:34:34drbrainI didn't know it was still there
02:37:50seydarooh! can i delete it?
02:38:12drbrainyes
02:38:38seydarnice. i feel like a better coder already
02:38:39_ADS leaves the room.
02:39:22seydarwait why am i deleting it?
02:39:51drbrainbecause it is old and busted
02:40:01drbrainrbyaml is the new hotness
02:40:13seydark
02:40:22seydarhow come it doesn't have tagurize?
02:40:26seydar#tagurize
02:40:30drbrainwhich?
02:40:38drbrainold and busted? or new hotness?
02:40:50seydarnew hotness
02:41:06drbrainbecause the original author never implemented it
02:41:15drbrainI should make a patchset against the latest rbyaml
02:41:20seydarwell... there are specs for it
02:41:20drbrainand contribute back our changes
02:42:20drbrainyeah
02:42:33drbrainthere's specs for lots of things rubinius doesn't have :/
02:42:39drbrainthey're "motivation"
02:43:28seydarshoot. i messed up when describing it in git commit -a
02:43:28_ADS enters the room.
02:43:31seydarhow do i fix it?
02:43:43drbraingit commit --amend
02:44:15seydarfork that didn't do it
02:44:33seydarim ditching this and regitting
02:44:36_ADS_ enters the room.
02:44:37jayWHY enters the room.
02:44:50drbrainI don't know much about git
02:45:00drbrainI'm too stupid to use a stupid tool
02:45:00seydarhow do i find out if someone commited my patches?
02:45:17drbrainhttp://git.rubini.us/?p=code;a=summary
02:45:28drbrainlook for your name here
02:45:30jayWHY leaves the room.
02:45:52seydarhmph. i posted mine to lighthouse because i don't have commit priveleges yet
02:46:24drbrainwhich?
02:46:27drbrainURL?
02:47:05seydarhttp://rubinius.lighthouseapp.com/projects/5089/tickets/335-bug-building-rubinius-failed-due-to-_s truct_mcontext-on-macos-x#ticket-335-8
02:47:14VVSiz_ enters the room.
02:47:25seydarhttp://rubinius.lighthouseapp.com/projects/5089/tickets/352-bug-ipaddr-specs-used-improper-ipv6-no tation#ticket-352-2
02:49:06drbrainthe stdlib/ part of the IPAddr patch should be submitted to ruby-core
02:49:39drbrainI can't review the pre-leopard patch, as I don't have my pre-leopard box running
02:50:26seydarits what you had me do. TRUST ME IT WORKS please
02:50:48drbrainwhich is the one I had you do?
02:51:04djwhittseydar: I think it's what Defiler had you do
02:51:16seydaroh yea it was
02:51:34seydarwell im talking to a genius.
02:51:41seydar!!! rubinius devs should have hive minds!
02:51:46drbrainI will let defiler handle it then
02:51:48_mutle enters the room.
02:51:54seydargrrr
02:51:54drbrainbut, I would also submit it to ruby-core
02:52:13seydarmeh too much work. but ok
02:53:01drbrainseydar: yes, it's work, work, work
02:53:04evani don't get the ipaddr one
02:53:10evanlooks like just a formatting change
02:53:18drbrainand precious little thanks for it :(
02:53:21evanor was there things mixed in with the formatting change
02:53:30seydarevan: originally, IPAddr#getaddress was in the unless
02:53:50seydarand so since AF_INET6 was already defined, several key methods were left undefined
02:54:35evanyour ipaddr patch needs to only have fixes
02:54:38evanno formatting changes
02:54:49evanit's nearly impossible for me to figure out what you really changed
02:55:09cored leaves the room.
02:55:32srbaker_ enters the room.
02:55:44seydaroh. uh, i moved the unless and formatted what WAS in the unless
02:56:41seydarthen lemme refix everything.
02:56:44drbrainevan: if it was a whitespace-free diff, you'd know what changed :/
02:57:10seydarbut how do I apply a patch to rubinius? my "friend" needs help
02:57:38drbrainif it's just for evaluation, patch -p0 < patchfile
02:58:17srbaker leaves the room.
02:58:18seydark
02:59:03radarek leaves the room.
03:01:29_ADS leaves the room.
03:01:37ttmrichter enters the room.
03:01:40evanargv[]: very un
03:01:49evanargv[]: it's the worst part of rubinius
03:02:00evanit's a hacked up version of the 1.8.2 parse.y
03:02:08evancombined with a hacked up version of parsetree
03:02:31seydarwell, at least we can get sexp for all parts of it, though. and then use ruby2ruby. right?
03:02:37evansure
03:02:54evanargv[]: right, my thinking was when i started, that i didn't want to write a ruby parser
03:02:57evani wanted to write a ruby VM
03:03:03seydarnice. i always wanted to see ruby interpretations of C
03:03:07drbrainargv[]: ruby_parser is slated to be the next parser in ruby
03:03:19drbrainerr, rubinius
03:04:48evanargv[]: mainly because it was a dirty port of the jruby parser
03:05:01VVSiz leaves the room.
03:05:16evanzenspider is slowly refactoring and cleaning it up now.
03:07:58evanwhats yard?
03:08:17mutle leaves the room.
03:08:38evanargv[]: ah, thats easy to fix
03:08:59evanargv[]: add a Comment < Node class to lib/compiler/nodes.rb
03:09:22evanthen add Comment#bytecode in lib/compiler/bytecode.rb
03:09:28evanand have that method do nothing
03:09:51evanyeah, it is
03:09:55drbrainuh, RDoc has YAML output
03:10:40evanargv[]: changing the parser requires a few steps
03:10:42drbrainargv[]: unlikely
03:10:51evanargv[]: you need to change lib/compiler to expect your changes
03:10:55evanthen you have to do
03:11:12evanrake build; rake runtime/stable/compiler.rba
03:11:21drbrainI now know better than even Dave Thomas himself the power of RDoc
03:11:22evanthen you change shotgun/ to have your changes
03:11:36drbrainand it is very, very flexible inside
03:13:23mae enters the room.
03:13:25evanok
03:14:06evanyep
03:14:12evansounds backwards, i know.
03:14:38evanuse diff to create a patch file
03:14:40evanthen do
03:14:42evangit checkout shotgun/lib
03:14:47evanto revert back
03:15:09evanVERY.
03:15:28evanwell, you can't reset a subdirectory for one
03:15:40evanyou have to reset the entire clone
03:16:26evangit reset is kinda like brain surgery
03:16:32evangit checkout is like writing yourself a note
03:17:48evanyes, 'git reset --hard HEAD' happens to do the same as 'git checkout .'
03:20:01evanit's not just you.
03:20:30evanthey broke with traditional command names for pretty much everything
03:21:01seydarmy patching skillz just went up by 1
03:25:50seydarso evan - can you commit the pre-leopard patch defiler wrote and I posted?
03:27:07evanargv[]: rip out what subset?
03:27:10cremes enters the room.
03:27:20evanseydar: yeah, i can.
03:27:28seydarawesome.
03:28:30lopex leaves the room.
03:29:48evanoh, you mean rip out to put inside something else
03:29:59evanactually, those parts don't depend on rubinius much at all
03:30:06evanthere are few things you'll have to change
03:30:14evangrammar.y is actually from sydparse
03:30:21evanwhich was a 1.8 extension
03:30:33evancompletely standalone
03:31:57evanshould be around
03:32:55evanthere is still a gem for it
03:32:59evansearch google for sydparse
03:33:27evanseems like there is a lot of hits for it
03:34:12evanthats still a lot of hits
03:34:48evani'd be happy to commit your patch to add comment nodes
03:35:04evanwant to send me your diff?
03:36:36evansure
03:36:58seydarwhat will the comment nodes do?
03:37:31seydarwell duh, but what purpose will those server, other than reproducing comments?
03:39:04seydaromg that just clicked
03:39:16seydarplease make yard work with rubinius
03:39:34seydarevan: what books did you look at when starting out?
03:39:42seydarargv[]: no thank you. just rubinius
03:39:52evanseydar: the Smalltalk 80 Blue Book
03:40:18evani still use it.
03:40:33evanif all VM books were like it... we'd live in a utopia.
03:40:50seydarnice. i just got a free copy of Compiler Construction. turns out its worth $118
03:41:27seydari was hoping it would make me a genius
03:41:36evanhttp://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html
03:41:37seydarbut it looks good enough
03:41:46evanthose are the chapters in the blue book I used a lot
03:41:53evanthey're how to implement a smalltalk system
03:42:39seydarniice. if one were to do bytecode -> ASM, they'd need to reimplement the whole innerd set, right?
03:42:49seydarlike the innerds of the VM?
03:44:56evanprobably note
03:44:58evannot.
03:45:10seydaroh whew.
03:45:12evanbut it would depend entirely on the approach
03:45:42seydari have no clue what the approaches are, but am desperate to learn
03:46:19seydari'm trying to sneak in (free) courses at my local college. they have compilers, but i'm not at that level yet. i have to wait till spring '09
03:47:00seydarevan: drbrain says i should destroy stdlib/yaml because its old and ugly and a tramp. is this worthy?
03:47:34evandestroy?
03:47:40drbraindelete
03:47:53drbrainseydar: also, lib/ext/syck
03:47:59seydargotcha.
03:48:02evansure, yeah.
03:48:47seydari'm gonna patch it. where should i send it, since there's not really a ticket for this?
03:49:06drbrainseydar: I've got a task you might find interesting
03:49:13evanthis is not a patch activity
03:49:18drbrainseydar: convert stdlib/ext/syslog/syslog.c to pure-ruby using FFI
03:49:20evanyou need direct commit rights to do it
03:50:18seydarevan: so... what should I do? maybe i can get commit rights for that first patch?
03:50:27seydardrbrain: sounds fun? i'm on it
03:51:01drbrainseydar: it's small, so it shouldn't be too challenging, but sufficiently challenging that it'll be interesting
03:51:31seydarright. is there a standard for online C docs?
03:51:45seydarand what possible types are there for me to utilize?
03:51:58drbrainfor FFI?
03:52:03drbrainor ?
03:52:10drbrainyou shouldn't be writing any C code...
03:52:18drbrainif you're doing the syslog thing
03:53:00seydardrbrain: to know what C methods to defer to
03:53:10drbrainah, `man`
03:53:19seydaroh they're in man pages? nice
03:53:26drbrainsyslog should all be in the man pages
03:53:34seydari shall attempt this right now!
03:53:41drbrainbut, you can read the C source, too
03:53:45seydarevan, how bout that Tiger patch :-)?
03:53:49drbrainof ruby's syslog interface
03:54:43seydarand you say it shall be a small challenge for one who knows no c?
03:55:54drbraincan you read some C?
03:56:00drbrainthere's not much to it
03:56:06drbrain(the syslog wrapper)
03:56:57drbrainstart with Init_syslog() to flesh out the module Syslog and go from there
03:57:30seydari can read C. just can't program it.
03:58:14tarcieriis programming C
03:58:15tarcieriurgh
03:59:24seydardrbrain: was fixing rakefile now to now hit the syck ext. can you do that while I get a good start on the syslog?
03:59:50seydari feel... important... big and strong... like i'm worthy to call myself a dev
03:59:53drbrainwhat do you mean?
03:59:59drbrain"hit the syck extension" ?
04:00:21seydardrbrain: er, sorry. i can never remember words and so i just replace them. rake is trying to build it when it's not ther
04:00:23seydarthere*
04:00:31drbrainah
04:00:47drbraindo you want me to delete the old syck yaml implementation then?
04:00:51drbrainI can do that
04:02:29seydari think that'd be good
04:02:40seydarbut in all honesty i have no clue. why the hell not
04:05:07boyscout1 commit by Eric Hodel
04:05:08boyscout * Remove old-and-busted syck.; 3634599
04:06:06seydarhow are attach_function methods defined? in their current context, or in the metaclass?
04:06:39drbrainthey are module functions
04:06:40seydarlike will `module Syslog; attach_function.....; end` define an instance method or module method?
04:06:47drbrainmodule
04:06:49seydark
04:08:26GMFlash leaves the room.
04:11:22_ADS_ leaves the room.
04:12:19seydarwait. FFI eliminates the need for C-exts. so, for example the mSyslog_open method, i just want to refer to the "openLog" method, right?
04:13:27_ADS_ enters the room.
04:13:32GMFlash enters the room.
04:15:10_ADSI just attached a spec to ticket #333
04:15:27_ADSnow I'm going to see if I can make it pass
04:16:28benburkert_ leaves the room.
04:17:20drbrainseydar: yup
04:17:45drbrainyou'd attach_function openlog()
04:18:05drbrainand implement the equivalent ruby for mSyslog_open
04:18:08benburkert enters the room.
04:18:08drbrainfor/to
04:18:23seydark
04:18:48seydarand what should I use as a type for a class object
04:18:52seydarlike, nonstandard
04:19:31ezmobius leaves the room.
04:19:39seydarand what about a block?
04:19:39drbrainI don't understand
04:20:16seydarso open takes a bunch of optional params. [:string, :int, :string] (i think). howver, they're optional, and it can ALSO take a block
04:20:23seydarhow would I define that?
04:20:29drbrainoh
04:20:51rubuildiusEric Hodel: 36345996f; 1616 files, 5540 examples, 19087 expectations, 0 failures, 0 errors; http://rafb.net/p/afUZpK33.html
04:21:42d2dchat leaves the room.
04:21:54rubuildius_ppcEric Hodel: 36345996f; 1616 files, 5540 examples, 19076 expectations, 0 failures, 12 errors; http://pastie.caboo.se/paste/156482
04:22:57drbrainfor Syslog::open, def open(ident = $PROGRAM_NAME, options = LOG_PID | LOG_CONS, facility = LOG_USER)
04:23:01drbrainand so-on
04:23:12drbrainthat's what rb_scan_args() and the following code does
04:23:23seydarwhoawhoa
04:24:19seydari thought i was using ffi to do like `attach_function "openLog", :open, [:string, :int, :string], :object`
04:24:27drbrainah, no
04:24:49drbrainso if you `man openlog` you see:
04:24:53seydarso you want pure ruby, no ffi?
04:25:00drbrainvoid openlog(const char *ident, int logopt, int facility);
04:25:10drbrainso, you'll wrap just that with FFI
04:25:34drbrainand implement Syslog::open with ruby, that calls the FFI function with the right things
04:25:41drbrainyou're turning mSyslog_* into ruby code
04:25:49drbrainand some of that will call FFI-wrapped C functions
04:25:52seydari'm following so far.
04:26:08seydarhow do I call the ffi function? i understand how to create it
04:26:24drbrainso, for openlog, it would be:
04:27:11drbrainattach_function 'openlog', :openlog, [:string, :int, :int], :void
04:27:38drbrainand you would call it: openlog ident, options, facility
04:28:02seydarand then write a ruby wrapper for that... to... do the C stuf... wow i'm dumb
04:28:26seydarthanks so much drbrain! i feel like i just grew one of my own
04:28:32drbrainnah, it's a bit confusing at first getting the interactions right
04:28:44drbrainI did the same things when I started in on MD5 and Zlib
04:29:45seydarheh i feel better
04:30:29be9 enters the room.
04:33:16seydarfor returning Qnil, should I return :void or :object ?
04:33:52benburkert_ enters the room.
04:34:13drbrainnil
04:34:26drbrainC functions won't return Qnil
04:34:33drbrain... libc functions for syslog
04:35:05seydaroh right i'm doing C, not Ruby-C
04:37:14seydarhitting the sack now. later!
04:37:20seydar leaves the room.
04:37:23drbrainlater!
04:38:00seydar enters the room.
04:38:15seydarsyslog seems to tyake variable arguments. how do i represent this?
04:38:16RyanTM enters the room.
04:38:40tarcieriHoly crap
04:38:44tarcieriI just wrote a ton of C code
04:38:48tarcieriCompiled the first time, no errors
04:38:49tarcieriSpooky
04:38:50drbrainI don't know, but you'll only need to pass it two...
04:38:59drbrain"%s" and the string you're putting in to it
04:39:08seydardrbrain: what about priority?
04:39:16drbrainso, try just wrapping it with two string arguments
04:39:21seydarvoid syslog(int priority, const char *message, .../* arguments */);
04:39:25drbrain[:int, :string, :string]
04:39:32seydarah.
04:39:39seydarthanks
04:39:42seydarg'night!
04:39:46seydar leaves the room.
05:07:29benburkert_ leaves the room.
05:08:21_ADSis grammar.y lifted directly from MRI or has it been modified?
05:08:44benburkert enters the room.
05:09:14antares_ADS, it has been lifted originally but it seems that slight changes have been made, too
05:11:47be9_ADS: it has been made "pure" and generates syntax tree, whereas MRI's grammar makes direct operations on nodes
05:12:24be9_ADS: aren't you Adam Shelly, by the way?
05:14:02rubuildius_ppcoleg dashevskii: 49b72719b; 1616 files, 5540 examples, 19076 expectations, 0 failures, 12 errors; http://pastie.caboo.se/paste/156489
05:14:36antares leaves the room.
05:16:01rubuildiusoleg dashevskii: 49b72719b; 1616 files, 5540 examples, 19087 expectations, 0 failures, 0 errors; http://rafb.net/p/HeDR0091.html
05:17:59_ADSanswer: modified, a lot.
05:20:56_ADSbe9, yes
05:21:26_ADSI seem to be having some odd lag here
05:23:53be9_ADS: I've committed your spec bit (#333), having also added an exclusion tag
05:24:15_ADSbe9: cool, thanks
05:24:37be9_ADS: but your name was lost in the process :(
05:24:37wifelette enters the room.
05:25:32benburkert leaves the room.
05:25:49_ADSbe9: no problem.
05:26:40_ADSfunny, the line to throw that missing compile error is still in grammar.y
05:35:49wifelette leaves the room.
05:36:05benburkert enters the room.
05:37:12_ADS leaves the room.
05:37:29_ADS_ enters the room.
05:43:47wifelette enters the room.
06:04:03KirinDav enters the room.
06:11:26therealadam leaves the room.
06:13:55lstoll enters the room.
06:15:04lstoll_ leaves the room.
06:17:33KirinDav leaves the room.
06:20:06be9_ enters the room.
06:24:51be9 leaves the room.
06:27:22rphillips leaves the room.
06:37:14wifelette leaves the room.
06:43:28lstoll leaves the room.
06:58:19rphillips enters the room.
07:08:15headius enters the room.
07:13:35wycats leaves the room.
07:15:56imajes leaves the room.
07:16:07RyanTM leaves the room.
07:37:46squeegy leaves the room.
07:49:53manveruwell then
07:50:23manverui'm out of ideas...
07:50:41_ADSfor what?
07:50:41manverugetaddress just fails because it feels like it...
07:51:03drbrainmanveru: even my pure-ruby versions don't help?
07:51:06drbrain:(
07:51:10manveruno :|
07:51:25manveruthough they helped me confirm that there is no difference
07:51:42drbrainwell, at least that's something
07:51:48benburkert leaves the room.
07:51:58manveruIPSocket.getaddress('192.168.0.0') works fine in 1.8.6/1.9.0/jruby but fails in rubinius...
07:52:04ezmobius enters the room.
07:52:18manveruand only on this machine
07:52:23manveruit's quite occult
07:52:50manverusince i suspect that rubinius uses the same network API in C as 1.8.6
07:57:09jtoy leaves the room.
07:59:06drbrainthe same libc calls, yes
08:00:54manveruwell, i'm kinda out of ideas
08:01:05ezmobius leaves the room.
08:01:16manverunot that i had any to begin with...
08:01:32drbrain:(
08:02:32manverui could compare a strace of 1.8.6/rubinius
08:03:51sfaxon leaves the room.
08:03:52headius leaves the room.
08:04:25headius enters the room.
08:05:51mae leaves the room.
08:06:08srbaker_ leaves the room.
08:06:39srbaker enters the room.
08:08:26manverudrbrain: would that be 'getsockname' ?
08:08:45manveruthere's only one call for that...
08:08:55drbraingetsockname and getaddrinfo
08:10:30manverugetaddrinfo is never called...
08:11:58perdix leaves the room.
08:12:35drbrainin both?
08:12:43manveruyeah
08:12:54drbrainok, I was wrong then
08:12:58manverustrace says getaddrinfo is not even a valid system-call
08:13:51srbaker leaves the room.
08:14:00drbrainah, yes, it is in section 3
08:14:22drbrainnot 2, like syscalls
08:14:36drbrainbut, I think that's what's being called to get the name back
08:14:51drbrainsince getsockname(2) would only be used for a connected socket
08:15:13manveruwell... afaik it tries to open a socket
08:15:36drbrainmaybe also getpeername()?
08:15:41perdix enters the room.
08:15:57manveruhmm
08:16:04manverui can give you a list of all functions being called
08:16:20drbrainthat might help
08:16:37manverufor a failing or successful lookup?
08:16:47manveruor for 1.8.6 and rubinius?
08:16:56drbrain1.8.6 and rubinius
08:17:07manveruok
08:18:41manverurubinius: http://p.ramaze.net/628 -- ruby: http://p.ramaze.net/629
08:20:57drbraincan you do them in-order?
08:21:36drbrainstrange the ruby has 4 calls to connect() though
08:21:44manveruheh
08:21:51drbrainerr, rubinius
08:21:52manverui just found -e trace=network
08:23:28manverudrbrain: http://p.ramaze.net/631
08:24:36drbrainand with ruby?
08:24:47manveruthat's the first part
08:27:19drbrainwhat's the code you're running, again?
08:27:44manveru 14 manveru@sigma rubinius-git/src/rubinius % strace -e trace=network ./shotgun/rubinius -rsocket -e 'p IPSocket.getaddress("192.168.0.0")'
08:28:32drbraindo you have a trace with ruby that works?
08:28:46drbrainthis looks like it comes out of the resolver
08:29:07manveruthe first part of the paste is with 1.8.6
08:29:22manveruthen come 4-5 newlines and then rubinius
08:29:24drbrainoh, I missed it, way at the top there
08:29:28drbrainsorry
08:31:14drbrainum, what's that giant value that MRI has for the third thing of getsockname()
08:31:19drbrain[17502288393181069324]
08:31:26drbrainrubinius has [12]
08:31:41manveruhell, how should i know :)
08:34:13manveruwant a working lookup from rubinius and the equivalent for MRI?
08:34:35drbrainisn't that what you just pasted?
08:34:39drbrainor, sure
08:34:45drbrainworking from both is good
08:35:09manveruhttp://p.ramaze.net/632
08:35:14manverusame paste layout
08:40:34drbrainmanveru: is 192.168.0.1 on your network?
08:40:42drbrainwhat if you try, say 10.0.0.0?
08:40:48manveruyes
08:41:02manveruthat would work as well
08:42:35manveruhttp://p.ramaze.net/633
08:42:57manveruonly existing addresses in the 192.168.0.x range work in rubinius
08:43:59manverui'm currently checking all IPv4 addresses, so far all up to 0.31.227.63 work
08:45:02drbrainmanveru: well, it looks like something in rubinius' getaddrinfo() tickles everything wrong
08:46:35drbrain(namely, the resolver)
08:46:55drbrainfirst it contacts the in-kernel resolver with the PF_NETLINK socket
08:47:05drbrainthen nscd (which you don't seem to have running)
08:47:19drbrainthen it contacts the resolver running on 192.168.0.1:53
08:47:49drbrainsince ruby goes straight to the kernel and gets a result, something must be set up wrong
08:49:36manveruwell... whatever this resolver is...
08:51:20manverubut you're right, if i turn on nscd it works
08:51:40drbrainwhat does `host 192.168.0.0` say?
08:51:59manveruHost 0.0.168.192.in-addr.arpa not found: 2(SERVFAIL)
08:52:02drbrainor, `host 192.168.0.0 192.168.0.1`
08:52:17drbrainyeah, which matches what we're seeing
08:52:34manveruName: 192.168.0.1
08:52:35manveruAddress: 192.168.0.1#53
08:52:43drbrain*why* it isn't calling the kernel resolver correctly is still unknown :(
08:52:51drbrainmaybe we give different flags to getaddrinfo() ?
08:53:17drbrain(in the hints structure)
08:53:41manveruwell, i'm happy to listen to your questions... but please don't expect me to answer :)
08:54:17drbrainI'm just as lost as you are
08:54:19manverui know next to nothing about how this networking stuff works
08:54:38drbrainit seems the networking side works just fine
08:54:44drbrainbut the in-kernel resolver does not
08:54:51drbrainrather, we call it wrong
08:54:57manveruhmm
08:55:03drbrainI'd focus my attention on getaddrinfo()
08:55:12drbrainsince that's what's making all these sockets
08:55:38manveruwell, it does work fine with same kernel version with same rubinius, but on 32bit
08:55:58drbraininteresting
08:56:16drbrainI heard of an FFI problem with 64 bit casting...
08:58:46manveruwell, i'm going for a quick teewars-session, bbl
09:00:03drbrainI'm going to bed
09:06:53headius leaves the room.
09:09:23imajes enters the room.
09:14:22_ADS leaves the room.
09:19:36wycats enters the room.
09:30:30joachimm enters the room.
09:43:25thehcdreamer enters the room.
09:53:50jtoy enters the room.
10:00:22headius enters the room.
10:01:05headius_ enters the room.
10:02:31headiusg'day
10:07:29headius leaves the room.
10:11:36wycats leaves the room.
10:12:05wycats enters the room.
10:29:40chris2 enters the room.
10:43:37headius enters the room.
10:43:44headius_ leaves the room.
10:48:32chris2 leaves the room.
10:48:36jptix enters the room.
10:56:42headius leaves the room.
11:09:21crossblaim enters the room.
11:30:09graza enters the room.
11:30:34GMFlash leaves the room.
11:42:20graza_ enters the room.
11:42:22graza leaves the room.
11:54:30graza enters the room.
11:54:31graza_ leaves the room.
11:59:13ragnard enters the room.
12:06:34thehcdreamer leaves the room.
12:07:03thehcdreamer enters the room.
12:07:08graza_ enters the room.
12:07:12graza leaves the room.
12:19:44graza enters the room.
12:19:45graza_ leaves the room.
12:32:24graza_ enters the room.
12:32:25graza leaves the room.
12:40:18radarek enters the room.
12:46:18crossblaim leaves the room.
12:48:18graza enters the room.
12:48:19graza_ leaves the room.
12:50:09geekounet leaves the room.
12:51:35jtoy leaves the room.
13:01:02headius enters the room.
13:05:59manveruyay, catching more edgecases...
13:07:09_mutle leaves the room.
13:08:44binary42_ enters the room.
13:16:25binary42 leaves the room.
13:24:19graza_ enters the room.
13:24:20graza leaves the room.
13:38:15vruz leaves the room.
13:38:48radarek leaves the room.
13:40:15graza enters the room.
13:40:16graza_ leaves the room.
13:48:58chris2 enters the room.
14:00:37binary42_ leaves the room.
14:01:55graza_ enters the room.
14:01:56graza leaves the room.
14:03:33binary42 enters the room.
14:03:36squeegy enters the room.
14:08:01dewd leaves the room.
14:27:10graza enters the room.
14:27:11graza_ leaves the room.
14:34:46jptix leaves the room.
14:39:11cored enters the room.
14:39:21graza leaves the room.
14:40:04graza enters the room.
14:48:13skweegee enters the room.
14:50:36lopex enters the room.
14:50:36headius leaves the room.
14:50:49squeegy leaves the room.
14:53:23jtoy enters the room.
14:57:25geekounet enters the room.
15:02:00headius enters the room.
15:04:30jptix enters the room.
15:04:36graza leaves the room.
15:05:17graza enters the room.
15:07:09binary42 leaves the room.
15:10:32binary42 enters the room.
15:12:37mutle enters the room.
15:12:38headius leaves the room.
15:13:20headius enters the room.
15:21:08graza_ enters the room.
15:21:09graza leaves the room.
15:21:47octopod enters the room.
15:27:01headius leaves the room.
15:27:54headius enters the room.
15:38:23graza enters the room.
15:38:24graza_ leaves the room.
15:40:03dbussinkafternoon
15:40:19be9hi dbussink
15:45:02ttmrichter leaves the room.
15:50:14skaar enters the room.
15:57:39graza_ enters the room.
15:57:40graza leaves the room.
16:09:17binary42_ enters the room.
16:10:14binary42 leaves the room.
16:10:19RyanTM enters the room.
16:23:15graza enters the room.
16:23:16graza_ leaves the room.
16:25:37headius_ enters the room.
16:28:44headius leaves the room.
16:33:50mernen enters the room.
16:34:36dbussinkbe9: it's quiet in here :P
16:36:42be9dbussink: most people are asleep now I guess :)
16:37:14dbussinkand it's already 8:30 at the us west coast :P
16:37:31be98:30am Sunday :)
16:37:53dbussinkreal nerds don't differentiate between sundays and other days ;)
16:38:12be9BTW I've got something to discuss. So I set up an msys stuff in windows and made a little progress in compiling rbx
16:38:28dbussinkah, that's nice
16:38:35cremesi've been awake for hours and i'm in us central time
16:38:47be9stuck with libzip and libtool shit
16:38:52dbussinkcremes: good boy :)
16:38:58cremesi try... ;)
16:39:15be9but still there's a problem apart from that
16:39:23be9msys is DAMN DAMN slow
16:39:23dbussinkand that is?
16:39:51dbussinkas in compiling or the resulting binary?
16:40:10cremesi am seeing a strange problem with the rubuildius_ppc output...
16:40:26cremesit complains Expected "file" to equal "characterSpecial" for File.ftype an File::stat...
16:40:30be9in configuring and compiling. forks are slow in windows, as everybody knows
16:40:32octopod leaves the room.
16:40:41cremeshowever, when i rerun it manually on my machine it doesn't show those errors at all!
16:40:45cremesvery puzzling
16:40:51dbussinkthat's strange
16:41:08dbussinkmaybe it depends on non deterministic ordering of files?
16:41:12cremesmaybe it's only the first build & run... i'm going to try rake distclean and rerun
16:41:17be9external libs take forever to configure & compile, especially those which use libtool
16:41:20cremesdbussink: could be
16:41:34be9even when it works you won't be happy run rake distclean
16:41:47be9so we need some another build system
16:42:06dbussinkbe9: well, compile time speed is a problem, but i'm more interested in runtime speed
16:42:14dbussinkor didn't you get that far yet?
16:42:22be9sure I didn't :)
16:42:42rubyconsumer enters the room.
16:43:03dbussinktoo bad ;)
16:43:09be9now I'm considering two possibilities. one is to use CMake, second is to write a completely new pure ruby build sys
16:43:36dbussinkthe second options sounds nice
16:43:46dbussinkbut it's probably a lot of work
16:43:56be9I started one in previous year, didn't go far
16:44:33be9dbussink: it is, a fair amount of work.
16:45:09dbussinkmost definitely, you also need to consider all kinds of possible platform idiosyncrasies
16:45:29be9dbussink: that's the hardest problem of all
16:45:36cremesa pure ruby build system could be leveraged by other projects outside rubinius too
16:45:58cremesisn't it time we get something better than autoconf? :)
16:46:01be9autohell has gathered the "knowledge" of platform stuff for years
16:46:28dbussinkit's not something you "just" do
16:46:31cremestrue... i'd argue it hasn't "scaled" with that "knowledge" very well
16:46:37cremesagreed
16:48:06be9but mostly it doesn't matter nowadays. nobody actually needs running rbx in some old ugly hp-ux
16:48:37be9and i really hate when ./configure script checks for GNU fortran
16:48:46cremes:)
16:48:58mernen_ enters the room.
16:49:09crossblaim enters the room.
16:49:18be9there's a project on python side, called waf, which came out of SCons
16:49:52crossblaimhi
16:49:59be9I've looked into it when I wanted to switch from CMake which I use now for my C++ projects
16:50:00cremesreading about waf now
16:50:10rubyconsumer leaves the room.
16:50:44be9it sucks badly, though less than SCons. python guys haven't got DSLs and they try to make everything "object-oriented"
16:50:58cremeshmmm... why not just use waf as a prototype? no real need to rewrite in ruby, is there?
16:51:18cremes"it sucks less!"
16:52:23be9cremes: well, CMake for now is better, I think.
16:52:40be9CMake works really good on Windows, which isn't true for weaf
16:52:42cremesbe9: i don't disagree
16:52:42be9*waf
16:54:04be9IMHO the best way to compile for windows is to use microsoft vcc. cmake gives us that
16:54:37cremestrue... we're unfortunately in a world where we always need two build systems, one for unix and another for windows
16:54:55cremesthere isn't a generic enough one that works well enough to be used on both
16:55:20cremes(at least not without jumping thru lots of hoops like installing cygwin, etc)
16:55:33be9what really sucks is cygwin
16:55:53cremesheh
16:56:08dbussinki also think we can't avoid a separate windows build system
16:56:17dbussinkbut i have no clue what would be the easiest way to go there
16:57:00dbussinkmy windows c skills don't go beyond the standard visual studio project i created some time ago for some opengl programming
16:57:25be9what I suggest is to completely switch to CMake for now. it's able to replace autohell on unix and generate valid makefiles for mingw & vcc on windoze
16:57:26sfaxon enters the room.
16:57:30cremesmine are atrophied... i wouldn't know where to start on a modern windows box (XP or later)
16:57:43be9you lucky guys :)
16:57:56cremesosx & linux for me!
16:58:06dbussinkyeah, me too :)
16:58:50binary42_ leaves the room.
16:59:06dbussinkwell, currently we don't use stuff like automake and autoconf
16:59:15dbussinkso that doesn't need to be replaced
16:59:15be9dbussink: we don't, external libs do
16:59:19KirinDav enters the room.
16:59:31dbussinkwell, i can build on my openbsd box that doesn't has it installed
16:59:48mernen leaves the room.
17:00:04be9dbussink: all configure & libtool scripts are already there, so you don't need to install it
17:00:12dbussinkah ok
17:00:15headius leaves the room.
17:00:34dbussinkdid you look at how mri does it?
17:01:13thehcdreamer leaves the room.
17:01:20be9dbussink: configure.bat :)
17:01:52dbussinki'm looking at it right now, doesn't seem really hard
17:02:13dbussinkbut i don't know how the other think about adding a dependency for unix systems
17:02:18be9so I'm going to write cmake files for all libs and rbx itself and publish it on a separate branch
17:03:12be9dbussink: from this point of view, pure ruby build sys is better :)
17:03:49dbussinktoo bad we can't keep up the "ignore windows" attitude forever ;)
17:04:15cremeswe shouldn't want to
17:04:25wmoxam enters the room.
17:04:31be9dbussink: rbx running on windows will attract more developers
17:04:59dbussinki know, i wasn't being serious
17:05:23be9dbussink: at least, more interest (windows developers aren't probably best ones :)
17:05:30dbussinkbut ignoring windows makes life so much easier :)
17:05:51dbussinkjust like ignoring internet explorer during web development
17:06:05dbussinkwhich i actually can for a project i work on :)
17:06:20be9dbussink: lucky again :)
17:07:51be9as for build systems, a new one can be added not removing old one
17:08:16be9after all, it's not the makefile part that changes rapidly in rbx :)
17:08:27dbussinkwell, one thing i really want to have fixed is the location of all the platform specific gcc and linker options
17:08:37jeremydurham enters the room.
17:08:38dbussinkthey should be in one place, not everywhere as they are now
17:09:20be9dbussink: for now, each library has its own options as I see
17:09:33dbussinkyeah, well, not only for the libraries
17:09:49dbussinkbut stuff like the struct / const / types generators use gcc / cpp too
17:10:01dbussinkand they should use the same options that shotgun is build with
17:10:07be9dbussink: oh damn
17:10:12dbussinkand ideally all libraries
17:10:18graza leaves the room.
17:10:39be9dbussink: cmake can do that
17:11:00d2dchat enters the room.
17:11:52dbussinkwell, if you can get a prototype up relatively easy, please go ahead :)
17:12:27be9dbussink: I'm going to. you seem to have a wide selection of boxes with different archs, we'll be able to test it
17:12:42KirinDav leaves the room.
17:12:49dbussinkbe9: virtual machines make that easy :)
17:12:58be9dbussink: lol
17:13:24be9dbussink: actually I haven't got a mac, that what I meant
17:13:49KirinDav enters the room.
17:16:02dbussinkwoo, everything works pretty good on openbsd :)
17:18:58dbussinkhmm, for some reason, freebsd doesn't load the extensions properly, which are used for digest and other things
17:19:18Vagabondyeah, freebsd is kinda flaky
17:19:33dbussinkwell, besides that everything is ok
17:19:47dbussinkVagabond: any idea how this could be fixed?
17:19:54Vagabondyou don't have problems with IPPROTO_UDP and friends not being defined?
17:20:03dbussinkmy freebsd experience is very limited
17:20:03jtoy leaves the room.
17:20:20dbussinkVagabond: that issue is solved
17:20:24Vagabondoh, nice
17:20:35Vagabondlet me git pull
17:23:13RyanTM leaves the room.
17:23:43RyanTM enters the room.
17:37:38headius enters the room.
17:40:06seydar enters the room.
17:40:32seydarhow do i access C constants through ffi?
17:41:21dbussinkseydar: what do you want to access?
17:41:27Vagabonddbussink: okay, I've got rbx rebuilt, how do I triffer the issue you're referring to
17:41:36seydarLOG_PID
17:41:41dbussinkVagabond: ./bin/mspec ci
17:42:01Vagabonddbussink: yeah, that's already running ;)
17:42:47dbussinkseydar: take a look at rakelib/platform.rake
17:42:53dbussinkseydar: should be a simple addition there
17:43:09seydarwait i should add something?
17:43:41seydarno... do i need to make a StructGenerator?
17:43:42dbussinkseydar: the constant needs to be available in ruby, even in you want to pass it to a ffi function
17:43:58seydark
17:44:23dbussinkseydar: if you want to use a c struct too, you need to change things in rakelib/platform.rake for that struct too
17:44:42dbussinkseydar: look at existing structs in that case and do it in the same way
17:44:44seydari just want to access LOG_PID, which seemed to be global
17:44:45seydark
17:45:17dbussinkseydar: did you see my comment on your ipaddr ticket on lighthouse?
17:45:27seydarnot yet. lemme check
17:46:38seydarah. yea, since i removed an unless.. end, i figured i should dedent the rest. it's using soft tabs , 2 spaces
17:47:06seydari can fix the ipaddr implementation, no prob.
17:47:18seydarso aftr i add the c constant, what do I do to access it?
17:48:05dbussinkseydar: well, you need to link it somewhere in the ruby code
17:49:24seydaryea, in platform.rake, but after that.
17:49:29dbussinkseydar: look for example at kernel/core/io.rb line 111 and the next couple of lines
17:50:26Ingmar leaves the room.
17:50:30Vagabonddbussink: oh yes, I recall the problem you mention
17:50:41Ingmar enters the room.
17:52:39dbussinkVagabond: any idea how it could be fixed?
17:53:07Vagabonddbussink: digging into it now
17:53:45seydark. thank you!
17:56:01dbussinkseydar: did you check whether your changes to the const generator work?
17:56:11seydarworking on it now
17:56:27dbussinkseydar: you can remove runtime/platform.conf and then rake build again
17:56:37seydarremove?!?!
17:56:43dbussinkthat will create a new runtime/platform.conf and the constant should be in that file then
17:56:59dbussinkruntime/platform.conf is created at build time
17:57:14dbussinkthat's not the same file as the platform.rake file of course :)
17:57:35seydaroh, ok.
17:58:07seydarwhy are syslog.h's constants uppercase but the others in rakelib/platform.rake in lowercase?
17:58:28dbussinkseydar: they are all uppercase
17:58:40dbussinkseydar: look at the constants, not at the structs
17:58:43seydarin rakelib/playform.rake?
17:59:02dbussinkseydar: line 101 in platform.rake
17:59:07seydaroooh crap. i was making a new StructGenerator
17:59:20dbussinkseydar: you probably need to create a log_constants somewhere
17:59:35dbussinkseydar: well, if you want a constant, a struct is not very useful ;)
17:59:50seydarnyah! i knew that! i was testing you!
18:00:13seydarso what kind of struct generator should I make for syslog.h?
18:01:31dbussinkseydar: does any of the functions you want to wrap with ffi use a struct?
18:01:41seydarno
18:01:52dbussinkthen you don't need a struct
18:02:04Vagabonddbussink: yeah, I'm not really having much luck figuring out why this ain't working
18:02:11seydarthen how does it know what header file to look at?
18:02:36dbussinkseydar: look down at the part where the constant definitions are evaluated
18:02:50seydark.
18:02:52Vagabondthe only thing I'm not seeing is where the actual library is told to load
18:02:54dbussinkseydar: from line 479 onward
18:03:09dbussinkVagabond: a require statement should do that
18:03:10seydardbussink: good. you pass the test
18:03:19seydari, uh, definitely knew that
18:03:21Vagabonddbussink: no, I mean the C lib
18:03:23dbussinkseydar: oh, that makes me feel all warm and fuzzu :P
18:03:38dbussinkVagabond: well, a require statement can also load on a .so file
18:03:45dbussinkload in
18:05:16Vagabondyeah, okay i see
18:05:27Vagabondbut why FFI can't see the functions still eludes me
18:05:41dbussinkwell, i think it doesn't get loaded properly
18:05:55dbussinkdue to some freebsd specific issue
18:06:14dbussinkbecause ffi works ok for the c library functions that it is used for
18:06:32srbaker enters the room.
18:07:16Vagabondwell, the .so for md5 isn't a ruby shared object, it's just a plain old C one
18:07:45Vagabondload handles that right?
18:07:56dbussinkyeah, it should
18:08:20dbussinkafaik that is
18:08:25seydardbussink: what do i do about constants wrapped around an #ifdef in the C code?
18:08:59Vagabonddbussink: my FFI experience is kinda stale, but that's not how I remember it working
18:09:02kevwil enters the room.
18:09:42dbussinkVagabond: i could be wrong though, but there is something different on freebsd, because it does work for for example openbsd
18:10:10Vagabondright
18:10:33VagabondI just don't know enough about the internals to even figure out where the breakdown is
18:10:48Vagabondlet me go see how FFI works these days
18:11:16VagabondI can probably help on the FreeBSD side, but the rbx side is all very different than the last time I was involved
18:12:13dbussinkseydar: what is the exact problem? what needs to be defined to satisfy the ifdef?
18:12:50seydardbussink: all the constants used in the syslog c-ext are wrapped in an #ifdef
18:13:08seydari don't want to break something by assuming the constants exist
18:13:10dbussinkseydar: what's the exact ifdef?
18:13:39seydar#ifdef LOG_PID; rb_module_function(LOG_PID....); #end
18:14:12dbussinkseydar: i don't get it, what is it your trying to do?
18:14:18wmoxam leaves the room.
18:14:29dbussinkseydar: rewrite the syslog stuff using ruby / ffi?
18:14:47seydaryes
18:14:59seydarand i don't want to assume a constant exists if it doesn't
18:15:38dbussinkseydar: well, just test it in ruby
18:15:53dbussinkseydar: because it will be nil here if the const generator doesn't find it
18:16:17seydarooh
18:16:21seydaroh thats a relief
18:16:22seydarthank!
18:16:28seydarmust write paper now
18:16:29seydar leaves the room.
18:24:03wmoxam enters the room.
18:24:31srbaker leaves the room.
18:24:38srbaker enters the room.
18:27:46srbaker leaves the room.
18:28:00srbaker enters the room.
18:37:01GMFlash enters the room.
18:39:29mernen leaves the room.
18:39:43benburkert enters the room.
18:42:09djwhitthttp://marvin.spcom.org:8010/waterfall
18:42:13djwhitta preview of things to come
18:42:52mae enters the room.
18:43:13kevwil leaves the room.
18:44:28dbussinkdjwhitt: waterfall has the association with the dreaded waterfall software engineering model ;)
18:44:45djwhitttrue
18:44:52djwhittI didn't write the software though
18:45:03dbussinkah, some existing system?
18:45:08djwhittit's running a copy of this http://buildbot.net/trac
18:45:30djwhittyeah, I started to, but then drbrain mentioned tinderbox thing for gems
18:45:45djwhittI looked at that, but it seemed like more pain than it was worth for what I was trying to accomplish
18:45:55djwhittbut it got me thinking that there were probably solutions to this problem out there already
18:46:40djwhitthttp://marvin.spcom.org:8010/one_line_per_build
18:46:59djwhittthere are other formats besides waterfall
18:47:49srbaker leaves the room.
18:48:40_ADS_ enters the room.
18:49:41lifo enters the room.
18:49:50be9 leaves the room.
18:50:12KirinDav leaves the room.
18:53:02dbussinkbut definitely looks useful
18:53:23djwhittyeah, my configs aren't quite there yet, but I have the basics working
18:58:04dodecaphonic enters the room.
19:00:26gnufied enters the room.
19:13:48_ADS_ enters the room.
19:13:50KirinDav enters the room.
19:14:32evanso, btw, we don't have an "ignore windows" attitude. we just don't have any windows programmers yet who are working on the project
19:15:19dbussinkwell, it's probably not high on our list
19:15:40dbussinkbut we really need someone to pick it up, because it's gonna be a big effort
19:16:23dbussinkevan: on something different, do you happen to have any idea why the digest stuff is failing on freebsd?
19:16:35Vagabonddbussink: zlib fails too, no?
19:16:48dbussinkyeah, everything in lib/ext
19:16:52evanfail how?
19:16:52dbussinkall the same problem
19:17:20evanlet me book up my freebsd image and look
19:17:38dbussinkffi can't find the functions
19:17:38dbussinkArgumentError: "Unable to find function 'rbx_Zlib_z_stream_Alloc' to bind to Zlib.z_stream_Alloc"
19:18:30dbussinkevan: i've been looking at openbsd, and it only has some really minor failures
19:18:46wycats leaves the room.
19:18:54evanit's probably a behavior of freebsd's dlsym()
19:19:24wycats enters the room.
19:21:20_ADS leaves the room.
19:22:18mae leaves the room.
19:22:40srbaker enters the room.
19:23:05_ADSevan: so on windows, are you hoping for a complete port to the MS development environent, or a hybrid solution using cygwin or MingW?
19:23:56evancomplete port
19:23:56_ADSI got as far as building rubinius.bin on cygwin, but it was segfaulting even before it got to main()
19:24:46VagabondI pity the poor guy who gets stuck doing the win32 stuff
19:24:47evanok, well, that mode should work too
19:25:03_ADSit seems to me the biggest issue with a port is all those makefiles for external libraries
19:25:36dbussinkevan: be9 wanted to test some stuff with cmake
19:25:37_ADSwell maybe not biggeest,
19:25:42_ADS but the first hurdle
19:27:10evan_ADS: if thats the biggest issue, this is going to be easy.
19:27:25evanall other makefiles we have are autoconf, so i'm sure someone has gotten autoconf working on windows
19:27:34dbussinkporting all the stuff in posix.rb is gonna be a lot more work
19:27:56evanyeah
19:28:02evanwell, we won't port it directly
19:28:03_ADSOk, that's true
19:28:09evanwe'll refactor functionality from core into platform
19:28:21evanand remove direct usage of Platform::POSIX
19:28:38dbussinkyeah, true, should all be abstracted
19:28:49dbussinkprobably the hierarchy rue suggested, looks sane to me
19:29:10evansure
19:29:24evanall though, i had a plan to have different platform() directories
19:29:52evanand at build time, the correct one would be chosen
19:29:54dbussinkand just include the correct one based on the platform?
19:29:59evanthe other ones wouldn't even be included.
19:32:58wifelette enters the room.
19:40:43aotearoa enters the room.
19:40:47jeremydurham leaves the room.
19:41:05aotearoa leaves the room.
19:42:43evanyep, thats in
19:42:48evanfreebsd uses RTLD_LOCAL by default
19:44:24benburkert leaves the room.
19:44:25dbussinkso probably an easy fix?
19:44:34evanyep
19:44:37evandoing it now
19:44:44Vagabondnice
19:46:56evanhrm... that didn't seem to fix it...
19:47:56dbussinkstrange, openbsd man page for truncate says that errno is set to EINVAL for negative values, but it actually doesn't do that
19:48:02evanah, there we go.
19:48:14evandlopen(NULL, ..) and dlsym(NULL, name)
19:48:21evanaren't the same thing
19:48:28evaner. rather.
19:48:38evandlsym(dlopen(NULL, ..), name) and dlsym(NULL, name)
19:49:58evanhrm.
19:50:21evanfreebsd's libdl seems to have quite different behavior than others
19:50:36mae enters the room.
19:52:10wifelette leaves the room.
19:53:33evanbingo
19:53:38evanRTLD_DEFAULT was the key
19:56:54dbussinkhmm, openbsd's truncate behavior is pretty different from that on other platforms
19:57:12dbussinkirb responds in the same way, so it's a behavior of the libc function
20:02:19joachimm leaves the room.
20:03:44Vagabondhah, I just realized that if I want to test on some of my more oddball hardware I'd need to retarget GNU lightning to MIPS and Alpha first
20:04:07Vagabondthat might be a bit more work than I'd anticipated ;)
20:04:29evanforget that
20:04:36geekounet leaves the room.
20:04:36evanwe're going to get rid of lightning soon.
20:04:47joachimm enters the room.
20:04:51dbussinkhow hard are the 64 bit ppc problems with it?
20:05:12evanlightning doesn't support longlong type at all.
20:05:19evanzippo.
20:05:21Vagabondin favor of what?
20:05:30dbussinkauch
20:06:14evanwell, i'm going to write a FFI adapter
20:06:14evanthat doesn't generate machine assembly
20:06:14evanso it will be slower, but work on all platforms that gcc works on
20:06:14evanthat will get us by for a while
20:06:22Vagabondah, okay
20:08:03Vagabondhell, if you ended up finding a replacement that generates asm, leaving in the slower one as a fallback would be great
20:08:12evanexactly
20:09:50dbussinkwhat is used on x86 right now?
20:11:06evana custom one rue wrote
20:11:35evanit just spits out assembly directly from some templates
20:12:19dbussinkah ok, so we're gonna keep that one?
20:12:24evanyep
20:12:33evanthat and the amd64 one
20:13:06Vagabondmaybe I can use rubinius as an excuse to learn MIPS asm
20:16:41boyscout1 commit by Evan Phoenix
20:16:42boyscout