Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-05-31

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
17:43 _ilbot joined #moarvm
18:56 japhb_ joined #moarvm
19:00 TimToady joined #moarvm
19:12 jnthn joined #moarvm
19:12 pmichaud joined #moarvm
19:12 * pmichaud joins the channel
19:12 pmichaud omg, so many people here already!
19:12 masak joined #moarvm
19:12 jnthn And plenty of ops, to kick me if I do something crazy :)
19:12 japhb_ Mostly just the people coming from the dark side of the moon
19:13 * japhb_ watched Iron Sky last night, so it's on his brane
19:13 japhb_ Wow, did I just manage to make the fastest Godwin's Law reference ever?
19:13 TimToady so, what's this channel about, anyway?
19:13 diakopter btw it's logged already
19:14 masak moritz++
19:14 masak was kicked by diakopter: masak
19:14 diakopter hee
19:14 diakopter hm, now how do I undo that
19:14 pmichaud "first kick!"  .oO( is that like "first post!"? )
19:15 masak joined #moarvm
19:15 masak I'll try to behave better from now on...
19:15 jnthn http://6guts.wordpress.com/2013/05/31/moa​rvm-a-virtual-machine-for-nqp-and-rakudo/
19:16 Topic for #moarvm is now http://6guts.wordpress.com/2013/05/31/moa​rvm-a-virtual-machine-for-nqp-and-rakudo/
19:16 * masak goes into publishing mode too
19:17 jnthn So, the post looks right? :)
19:17 Topic for #moarvm is now is https://github.com/jnthn/moarvm
19:17 kbenson1 joined #moarvm
19:17 Topic for #moarvm is now https://github.com/jnthn/moarvm
19:17 jnthn diakopter: wrong url :P
19:18 Topic for #moarvm is now https://github.com/moarvm/moarvm
19:24 [Coke] joined #moarvm
19:25 TimToady jnthn's post has made planetsix
19:26 japhb_ Posted on HN too now, I hear
19:26 FROGGS joined #moarvm
19:26 FROGGS \o/
19:27 japhb_ See, now *that's* a proper first comment.  :-)
19:31 nwc10 joined #moarvm
19:33 FROGGS I hereby officially request a commit bit :o)
19:33 diakopter NEVER
19:33 diakopter oh wait..
19:33 japhb_ heh
19:33 jnthn .oO( I'm so glad we have diakopter here to encourage contributors... )
19:33 * FROGGS stopped in the middle of starting to cry
19:34 jnthn FROGGS: Hm, what's your github id?
19:34 FROGGS my nick
19:34 FROGGS <---
19:34 jnthn oh, duh
19:34 jnthn I was typing a username into the repo name box
19:34 jnthn And wondering why it didn't autocomplete...
19:35 jnthn FROGGS, [Coke]: you now have commit bits
19:35 [Coke] ... or you could do that. :P
19:35 nwc10 whatever generates the Makefile, it needs to use a tab and not 4 spaces for the "test" target
19:36 dukeleto joined #moarvm
19:36 dukeleto o/
19:36 TimToady \o
19:36 dukeleto TimToady: fancy seeing you here :)
19:36 pmichaud o/
19:36 [Coke] nwc10: was just fixing that.
19:36 * dukeleto is on a plane headed to YAPC::NA
19:37 * dukeleto is happy to hear about MoarVM
19:37 FROGGS jnthn: thanks!
19:37 [Coke] too slow.
19:38 [Coke] nwc10: jonathan just fixed it.
19:38 jnthn oops, sorry :)
19:38 [Coke] jnthn: you want commit updates to come to this channel?
19:38 jnthn [Coke]: I was just about to task if anyone knew how to do that.
19:38 [Coke] I can do it on the github side. need dalek to join here.
19:39 [Coke] er, you can do it on the github side (i'm a member, not an admin)
19:40 jnthn [Coke]: What do I need to do?
19:40 FROGGS it is an irc service hook
19:41 FROGGS maybe steal the post url from rakudo
19:41 [Coke] not irc, but aye.
19:41 [Coke] one moment.
19:41 FROGGS ohh, so not irc :o)
19:42 [Coke] go to moarvm project. click on settings. service hooks . webhook urls
19:42 [Coke] add something like http://feather3.perl6.nl:50​00/dalek?t=freenode,moarvm
19:45 jnthn Added
19:47 [Coke] working on getting it to build on darwin. (cheating and assuming it's basically linux. :)
19:48 FROGGS failed to build ubuntu: https://gist.github.com/FR​OGGS/60d9fab7bc21d6c18d12
19:48 FROGGS just wanted to say, no need for an instant fix :o)
19:48 FROGGS (since I really have to write the slides now)
19:49 eternaleye joined #moarvm
19:50 jnthn FROGGS: That looks like something APR related
19:50 nwc10 ho ho ho, APR loves me:
19:50 nwc10 typedef  off64_t           apr_off_t;
19:50 nwc10 not found the *fix* to that bug on Google yet
19:50 FROGGS jnthn: is there something I can try?
19:51 FROGGS $ apr-config --version
19:51 FROGGS 1.4.6
19:51 PerlJam joined #moarvm
19:51 dukeleto is moar on Travis yet?
19:51 dukeleto PerlJam: hola
19:51 PerlJam I just joined to tell you guys are *crazy*  ... but in a good way  :-)
19:52 FROGGS indeed, they are
19:52 FROGGS minutes ago I had to explain the history of perl 6 just to explain my excitement :o)
19:52 FROGGS to my wife *
19:52 eternaleye A very good way indeed - looking forward to a future with moar p6 :P
19:53 nwc10 Ah, OK, why is it picking clang?
19:54 diakopter it is?
19:54 jnthn Good question. It looks like it's picking up clang ahead of gcc.
19:54 diakopter oh yeah.
19:54 * jnthn wonders how deliberate that is
19:54 diakopter cuz it's faster
19:54 masak "a future with moar p6" \o/
19:54 nwc10 this isn't a great idea, as I'm pretty sure I don't trust the clang I've got installed on Wheezy
19:54 jnthn diakopter: It's not faster for those it doesn't work out for... :)
19:54 diakopter heh.
19:54 jnthn Any objection to defaulting to gcc?
19:54 diakopter yes, it should check version >3
19:54 diakopter 3.2
19:54 diakopter no
19:55 * nwc10 tries removing clang and trying again
19:55 diakopter updated my talk to reflect it: http://www.yapcna.org/yn2013/talk/4734
19:55 FROGGS nwc10: a week ago some guy had a Perl 5 XS problem where it picked up clang too instead of gcc, maybe there is some ENV var of Perl 5 Config item?
19:55 dukeleto oy
19:56 dukeleto the problem is pervasive
19:56 dukeleto Parrot thought it was smart by using the $Config values of Perl 5 to figure various things out
19:56 dukeleto THIS IS A HORRIBLE IDEA
19:56 nwc10 perl 5's config will tell you about the compiler used to build Perl 5. So if that was clang, it will think it wants clang
19:56 dukeleto Please MoarVM, don't do that.
19:57 jnthn dukeleto: We're not doing that, afaik.
19:57 dukeleto jnthn: yay!
19:57 dukeleto :)
19:57 jnthn Certainly, the thing I'm currently looking at doesn't attempt to do that.
19:57 dukeleto I see that the build system for moar is "interesting" :)
19:57 jnthn It's "boring" :)
19:57 diakopter :)
19:58 * masak .oO( It's "moaring" )
19:58 dukeleto jnthn: ah. I guess it is interesting to me because I haven't ever used some of those "boring" things :)
19:58 jnthn I don't want it to become too clever if we can avoid it, 'cus I'm not sure we want it to depend on Perl 5 forever. But for now that's the pragmatic option.
19:58 nwc10 I sure don't want anything to depend on Perl 5 forever
19:58 dukeleto jnthn: awesome. Great to see all this.
19:58 * [Coke] nearly has things working on OS X.
19:59 * jnthn is greatly relieved at the initial positive reaction :)
19:59 FROGGS of course, that is what I dreamed of
20:00 [Coke] tryign to run in nqp-cc . it requires a parrot nqp. I duplicate the one I have lying around, put it in nqp-cc/nqp, then run Configure.pl --gen-nqp . it attempt to talk to the github server and then says:
20:00 [Coke] error: pathspec '2013.05-148-g76f3e34' did not match any file(s) known to git.
20:00 eternaleye jnthn: Considering how much work you've been putting in, and how cool your posts about the JVM have been, I think the initial response is the only one that makes sense. "Hey, the guy who's been doing lots of awesome VM work for months is making a VM!"
20:02 eternaleye jnthn: If it had been announced in another blog it may have actually gotten a different response, but I suspect it would still be positive.
20:02 jnthn [Coke]: That's odd. I took the output straight form "nqp --version" of one I knew worked...
20:02 [Coke] doing a --fetch tags, jic.
20:02 eternaleye But a large part of it is that you've built up significant credit as a cool guy with cool ideas.
20:03 dukeleto git tags are fetched by default
20:03 dukeleto [Coke]: but yes, if you haven't fetch recently, you won't have that tag
20:03 PerlJam eternaleye: not just cool ideas but *working code*
20:04 dukeleto jnthn: i am interested to help with FFI/NCI/etc in Moar. Let me know when the time is right for that.
20:04 [Coke] I don't often fetch. normall I pull --rebase
20:04 moritz [Coke]: that fetches too
20:04 dukeleto [Coke]: "git pull --rebase" = "git fetch && git rebase"
20:04 dukeleto [Coke]: but thanks for playing!
20:04 jnthn dukeleto: The stuff I started and arnsholt++ has been carrying on is the right direction...
20:04 jnthn dukeleto: That is, for NQP on Parrot
20:05 jnthn dukeleto: Most notably, the fact that it uses 6model reprs.
20:05 dukeleto jnthn: ok, i will look at that when my priority stack looks less like a mountain
20:05 jnthn The choice of dyncall vs. libffi is off to the side of that, really. It's the 6model integration that really matters.
20:06 dukeleto jnthn: yep
20:06 dukeleto jnthn: the library that we do ffi with is somewhat arbitrary and not that important
20:06 dukeleto libffi seems to have a lot more platforms supported and gets many pull requests per week. That is what makes it attractive to me.
20:06 jnthn dukeleto: Yeah. I've been very happy with dyncall so far.
20:07 jnthn Well, at the time I looked, dyncall seemed the more active one and to support plenty.
20:07 jnthn But I don't feel strongly. If whoever works on it does it with libffi, provided it works out fine on our key platforms, I'm fine.
20:07 [Coke] jnthn: in 2013.05-148-g76f3e34, it's tag dash number of commits dash a commit hash ?
20:08 jnthn yes
20:08 jnthn oh...I just wonder if...
20:08 [Coke] so https://github.com/perl6/nqp/commit/g76f3e34 should go somewhere?
20:08 jnthn ...my NQP is from the rak-jvm-support branch.
20:08 jnthn Sure should...
20:08 [Coke] 404.
20:08 jnthn oh, maybe you need fully qualified
20:09 jnthn oh, without the g too
20:09 moritz [Coke]: without the leading g, maybe
20:09 moritz anyway, I get the same error
20:09 [Coke] moritz: 404
20:09 jnthn Does git show 76f3e34 work?
20:09 moritz no
20:09 [Coke] fatal: ambiguous argument '76f3e34': unknown revision or path not in the working tree.
20:09 moritz jnthn: is that an unpushed commit?
20:09 [Coke] Use '--' to separate paths from revisions
20:09 masak the 'g' in 'git describe' output means 'Git'.
20:09 jnthn moritz: d'oh d'oh d'oh
20:10 jnthn Sorry all
20:10 masak it's not part of the commit SHA1.
20:10 moritz masak: I thought it meant "go away" :-)
20:10 masak haha
20:11 jnthn I've now pushed.
20:11 jnthn [Coke], moritz: give it another try
20:11 moritz jnthn: it's cloning again
20:12 [Coke] that seems better.
20:13 [Coke] er, you pushed to nqp or moar? ;)
20:13 [Coke] nqp, aye?
20:13 dukeleto the "g" seperates the number of commits (to the left) and the sha1 (to the right)
20:13 dukeleto Also, it is the next letter after "f"
20:13 jnthn [Coke]: nqp
20:14 dukeleto and "g" is not in hexadecimal. Also it stands for "Git" and "good $deity are you freaking kidding me?"
20:14 nwc10 OK, with gcc, the Raspberry Pi can build MoarVM
20:15 nwc10 however, it will now take a few hours to build a native Parrot and NQP for the cross compiler...
20:15 diakopter wat.
20:15 dukeleto nwc10: that is awesome to hear
20:16 diakopter nwc10: meanwhile, try ./moarvm --dump foo.moarvm
20:16 diakopter oh wait, there's no .moarvm out there
20:16 diakopter jnthn, want to upload a few?
20:16 nwc10 how *new* a parrot do I need?
20:16 diakopter it does it for you
20:16 masak the RASPBERRY PI builds MoarVM?
20:16 masak \o/
20:16 diakopter ./Configure.pl --gen-nqp
20:16 nwc10 diakopter: I have one from Nov 2012.
20:16 nwc10 it will take 2 hours to build fresh current
20:16 diakopter scrap it
20:16 [Coke] ok. in nqp-cc, I configured. next step: "run nqp"... there was no install, aye? I have to run it in situ in the build dir?
20:17 jnthn [Coke]: Ah, yes.
20:17 nwc10 the Raspberry Pi builds most things. Albeit slowly :-)
20:17 jnthn [Coke]: Feel free to update the README to include the path where it puts it
20:17 [Coke] ok. sadly:
20:17 PerlJam so ... when I 'perl Configure.pl && make' on my ubuntu box, it says "undefined reference to `uuid_generate'"
20:17 [Coke] 💈  ./nqp/nqp nqp-moar-cc.nqp -e "say('Hello, MoarVM')"
20:17 [Coke] ... no output.
20:18 nwc10 oh, hangon, how portable is the moarvm byetcode?
20:18 jnthn nwc10: Portable.
20:18 jnthn nwc10: Nothing machine specific.
20:18 jnthn I hope. :)
20:18 diakopter I think we made it detect endian-ness, right?
20:18 jnthn diakopter: Well, it detects it, but the spec has it one way.
20:19 jnthn diakopter: That is, it decodes it.
20:19 diakopter yeah
20:19 nwc10 jnthn: OK, let us test that...
20:20 jnthn [Coke]: Aww
20:21 [Coke] (cd nqp && ./nqp -e 'say(3)') -> segfault
20:21 * [Coke] does a git clean and tries again.
20:22 * jnthn wonders where it's failing
20:23 jnthn You can also try: nqp nqp-moar-cc.nqp --stagestats -e "say('hello')"
20:23 jnthn The final line should be soemthing like "Stage moar       :   0.000"
20:24 diakopter you're a millisecond
20:25 jnthn At least we know Moar's startup time isn't too bad yet :P
20:25 jnthn I'm not sure what the timer resolution is, though.
20:25 [Coke] that version segfaults on a fresh build.
20:26 jnthn [Coke]: Segfaults at which point?
20:26 [Coke] just dies if invoked from outside the build dir, cd to build dir, ./nqp ... segf
20:26 [Coke] simply "./nqp" in nqp-cc/nqp causes a segfault.
20:26 jnthn eek
20:26 jnthn Wonder if it's finding other pieces in the path?
20:27 jnthn But shouldn't do that really...
20:27 diakopter I had it do that
20:27 diakopter had to wipe out c:\Parrot\
20:27 [Coke] Pretty sure it used a pre-installed parrot to build.
20:28 diakopter not good
20:28 tgt joined #moarvm
20:29 `patch` joined #moarvm
20:30 [Coke] should be fine, though, unless this branch is requiring a specific version of parrot.
20:30 diakopter `patch`: howdy
20:30 [Coke] but probably not worth fixing.
20:31 `patch` diakopter: hi!
20:32 tadzik joined #moarvm
20:32 tadzik hello hello
20:33 colomon joined #moarvm
20:33 tadzik #perl6 is suprisingly calm, so I suspect this may be the excited channel :)
20:33 colomon \o/
20:33 colomon no clogging here yet?
20:33 diakopter yes clogs
20:34 PerlJam http://irclog.perlgeek.de/moarvm
20:34 colomon PerlJam++
20:34 [Coke] colomon: you should be able to build on darwin now. haven't made gotten nqp-cc to work yet, but close.
20:34 PerlJam moritz++ (that was like the first thing I checked too :)
20:34 colomon [Coke]: trying now
20:35 colomon (backlogging) FROGGS, I also had to explain the history of the VMs to my wife.  It's just that kind of day...
20:36 FROGGS colomon: a good day as it turns out
20:37 Topic for #moarvm is now https://github.com/moarvm/moarvm http://irclog.perlgeek.de/moarvm/today
20:37 tadzik NQP revision 2013.05-148-g76f3e34 required (currently 2013.05-3-g0255fc8)
20:37 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
20:37 tadzik that sounds weird
20:37 moritz tadzik: different branches
20:38 tadzik oh!
20:38 tadzik so what branch do I need, rak-jvm-support?
20:38 jnthn yeah, I thought it wouldn't matter since you end up on the sha-1
20:38 [Coke] I would just do --gen-nqp --gen-parrot for now
20:38 jnthn But anyways, those branches get merged soon. :)
20:39 jnthn I got some flying to do before that, though...
20:39 [Coke] (no point in making the "get nqp & parrot" step awesome if it's going away.
20:39 tadzik I fly tomorrow to
20:39 tadzik * too
20:39 tadzik and will have power on the plane, probably :)
20:40 FROGGS [Coke]: I'm a bit confused, do I need to pass --gen-nqp/--gen-parrot to MoarVM's Configure.pl?
20:41 jnthn FROGGS: No, to the one in the nqp-cc directory
20:41 FROGGS ahh
20:42 FROGGS does that now
20:42 tadzik heh, nqp just segfaulted for me in parallel build :)
20:44 pmichaud https://twitter.com/MoarVM​/status/340569306553274368
20:45 pmichaud (retweetable)
20:45 tadzik retweeted
20:45 tadzik does MoarVM has a mascot?
20:45 jnthn Not yet :)
20:45 tadzik like http://www.reactionimage.org​/img/gallery/5816489306.jpg
20:46 nwc10 Yep. Portable
20:46 nwc10 nick@raspberrypi ~/Perl/MoarVM $ ./moarvm temp.moarvm Hello, MoarVM
20:46 nwc10 naughty terminal
20:46 jnthn \o/
20:46 nwc10 at least, I can build all the *.moarvm files on x86_64 and ship them to a 32 bit ARM
20:46 nwc10 still all little endian
20:47 nwc10 Why is it ModuleLoader.class ?
20:47 nwc10 anyway, win
20:47 nwc10 the Raspberry Pi is still building parrot
20:47 jnthn nwc10: Um.
20:47 diakopter jnthn: I told you about that artifact :P
20:47 jnthn nwc10: So the story is that I was trying to make things work on Moar without revealing its existence ;)
20:48 jnthn And I was too lazy to actually make an nqp fork :)
20:48 jnthn I'll clear that up at some point soon.
20:48 jnthn It really is a MoarVM bytecode file
20:48 nwc10 If I can find a big endian machine that I have access to "tomorrow" I'll try a bit more "portabiltly"
20:48 nwc10 yes, I figured that after looking at it in les
20:48 jnthn tadzik: Isn't that a bit boaring? :P
20:49 nwc10 I think that your "magic number" could be more exciting:
20:49 nwc10 http://en.wikipedia.org/wiki/Port​able_Network_Graphics#File_header
20:49 jnthn Well, it gets the \r\n trick at least
20:50 pmichaud .mbc ?  .mvm ?
20:50 jnthn pmichaud: At the moment they come out as .moarvm.
20:50 pmichaud right.
20:50 [Coke] 3 test failures on darwin.
20:50 pmichaud that's just too long for me :)
20:51 jnthn pmichaud: OK, let's make it something you like :)
20:51 jnthn [Coke]: Paste welcome :)
20:51 diakopter pmichaud.metamodelonaruntimevirtualmachine
20:51 PerlJam mvm
20:51 [Coke] https://gist.github.com/coke/5687886
20:51 jnthn [Coke]: Was that on make test or make nqptest?
20:51 [Coke] make test.
20:51 pmichaud I'm just tossing out ideas, none of them strike me as "right".  .mvm seems to be not used except for some obscure movie format
20:51 [Coke] (in nqp-cc)
20:51 jnthn ah, make test
20:52 * jnthn wonders if the socket ones fail due to some proxy thing
20:52 jnthn The float one is worth looking into
20:52 [Coke] (proxy) could be.
20:53 nwc10 do the socket tests try to connect to the world?
20:53 [Coke] updated, one failure in nqptest also
20:54 nwc10 something "more exiting" would be invalid UTF-8, to see if it gets mangled as a replacement character. Or suchlike
20:54 jnthn nwc10: yes
20:55 nwc10 one octet in the range 128-255 ought to be good enough to mess with things
20:55 jnthn [Coke]: What happens if you run that test in isolation?
20:55 [Coke] https://gist.github.com/coke/5687886
20:56 jnthn Weird
20:57 FROGGS jnthn: I think I know what is wrong on my box: "checking uuid.h presence... no"
20:57 FROGGS err, no
20:57 jnthn FROGGS: Hm, so I wonder why it then complains about it...
20:57 FROGGS checking uuid/uuid.h presence... y
20:59 [Coke] jnthn: even better. if I print out $x.bar before the test, it prints "BARBAR" and then test 2 passes (t/nqp/57-construction.t)
20:59 FROGGS "checking for library containing uuid_generate... -luuid" -> "3rdparty/apr/misc/unix/rand.c:75: undefined reference to `uuid_generate'"
21:00 FROGGS this happens in 3rdparty/apr/.libs/libapr-1.a
21:00 FROGGS do uuid needs to be statically linked?
21:01 jnthn FROGGS: Hm, perhaps so. I'm wondering why it works on other systems if that's missing, though...
21:04 * [Coke] wishes someone would give chromatic a hug.
21:04 jnthn [Coke]: Very odd. Platform is...OSX, 32-bit or 64-bit?
21:04 cognominal joined #moarvm
21:11 tadzik heh. Seeing "t/moar/6model.t" made me think of Test::Moar
21:14 tadzik oh joy. I jave t/nqp/16-ternary.t segfaulting... unless ran under gdb
21:15 tadzik I managed to get https://gist.github.com/tadzik/5688065 from valgrind
21:16 jnthn eek, it crashed in the bytecode assembler.
21:17 tadzik I'll try to get a debugging nqp build
21:17 tadzik if that'd help
21:17 tadzik maybe a moar debug would be more appropriate
21:17 tadzik but it's already -g, apparently
21:18 bronco_creek joined #moarvm
21:19 jnthn tadzik: Well, it lacks line numbers, but there's only one place it makes the call in question anyway
21:19 tadzik ah, ok
21:19 jnthn hm, though it could be handy to have the exact line in the top frame
21:20 tadzik jnthn: https://gist.github.com/tadzik/5688096 nqp-cc compiled with -ggdb
21:20 tadzik has some line numbers
21:20 jnthn Thanks
21:21 tadzik thank _you_
21:21 jnthn Hm. Unfortunately, it explodes *inside* the ResizableStringArray code
21:21 FROGGS jnthn: using the dynamic lib of apr works btw
21:22 jnthn oh, I wonder...
21:22 FROGGS All tests successful.
21:22 FROGGS \o/
21:22 jnthn FROGGS: for make test and make nqptest?
21:22 FROGGS and the speed feels almost perl5ish
21:22 tadzik jnthn: so, nqp debugging build?
21:22 FROGGS make test
21:22 jnthn tadzik: moment
21:22 FROGGS make nqptest is running right now
21:23 cognominal reading about libiuv in jnthn blog. Is there an intended convergence between v8/node and moarvm/rakudo-star or is it just an evolutionary thing?
21:23 cognominal I wish I could use npm modules from rakudo
21:24 jnthn cognominal: Mostly just that libuv seems to do a lot of stuff right.
21:25 jnthn cognominal: Not a connection with node, just making use of libuv :)
21:27 FROGGS jnthn: make nqptest passes too
21:28 jnthn tadzik: Try the commit I just pash
21:28 jnthn FROGGS: yay
21:28 jnthn FROGGS: What did you have to do to get it to work?
21:28 labster joined #moarvm
21:30 FROGGS jnthn: https://gist.github.com/FROGGS/60​d9fab7bc21d6c18d12#comment-838539
21:30 jnthn Hm, ok
21:31 jnthn Wonder if that can be folded into the configure system somehow
21:31 FROGGS jnthn: I see the line where it wants the .a in the config
21:31 FROGGS jnthn: is the static lib preferable?
21:32 FROGGS I mean, dlls are always a bit icky when you have another version installed system wide
21:33 jnthn FROGGS: I *think* the history may be that I did it the static way to get soemthing working on Windows, and then we ended up with the same on Linux.
21:35 tadzik jnthn: yep, seems to have helped :)
21:35 jnthn \o/
21:38 FROGGS jnthn: should I patch it to use the dll for: [ ] gcc only   [ ] clang only   [ ] both   ?
21:38 jnthn FROGGS: imho, which you can verify that it works on
21:39 FROGGS can't test clang I suppose, so I leave that as it is
21:46 dukeleto joined #moarvm
21:54 FROGGS ahhh, hold on
21:55 FROGGS jnthn: the apr-1.lib on windows is just an importlib, right?
21:55 [Coke] x86_64
22:00 colomon [Coke]: having difficulty building on darwin?
22:00 colomon [Coke]: let me try that again.  I am having difficultly building on darwin...
22:03 colomon [Coke]: first level works, but nqp-cc build fails.
22:03 [Coke] colomon: use a fresh nqp & parrot.
22:03 [Coke] perl Configure --gen-nqp --gen-parrot
22:04 colomon [Coke]: I did ... both --gen-nqp and --gen-parrot?
22:04 [Coke] if you pick up an old parrot or nqp, it seems to be very unhappy
22:04 colomon I only did --gen-nqp, I think.
22:04 colomon hmmm...
22:04 [Coke] both, yes, assuming you have  parrot available in your path.
22:04 [Coke] Yes, that failed for me as well, using an existing parrot.
22:05 colomon trying again...
22:06 [Coke] and see the backlog for a gist with things that fail for me
22:06 [Coke] (in make test & nqptest)
22:08 eternaleye jnthn: If you want good debuginfo, I'd recommend -ggdb3 -gdwarf-4 and then use objcopy/strip to split the debuginfo into a separate file.
22:08 eternaleye jnthn: Especially since using objcopy to split it out lets you compress said debug info with zlib.
22:08 eternaleye jnthn: Even with -O2 I get damn good backtraces.
22:11 colomon [Coke]: configure failed for me this time.  may turn off perlbrew, I get troubles in Rakudo with it as well.
22:12 raiph joined #moarvm
22:16 colomon hmmm, it's doing a lot of something....
22:16 FROGGS in absence of dalek, I push two commits (build on linux/gcc)
22:17 jnthn eternaleye: Thanks, good to know.
22:18 japhb joined #moarvm
22:18 eternaleye jnthn: Yeah. -gdwarf-4 sets it to use version 4 of the DWARF format, but because of the way commandlines are parsed you can't set the debug *level* in the same option. So you then use -ggdb3 to set it to maximum detail.
22:20 tomyan joined #moarvm
22:22 colomon [Coke]: I get near total failures on make test
22:22 colomon Reason: Incompatible library version: moarvm requires version 5.0.0 or later, but libapr-1.0.dylib provides version 4.0.0
22:24 japhb_ And ... there's the flip side of the dylib/static debate
22:25 jnthn grmbl
22:25 masak hm. maybe there should be a build FAQ somewhere, with collected learnings from people who discover stuff while building.
22:25 jnthn I love how a -1.0 provies 4.0 :)
22:26 * colomon appears to have three difference versions of libapr on his system...  apr-1, apr-1.0, apr-1.0.3.8
22:26 FROGGS colomon: that is the same library
22:26 FROGGS and same version
22:26 colomon ah
22:27 FROGGS like perl5.10.1 is a perl5.10 is a perl5
22:27 colomon none of which is really 5.0.0, I suppose
22:27 FROGGS you have 1.3.8
22:27 FROGGS I have 1.4.6 or so
22:28 colomon I'm still on OS X 10.6.8 or so
22:28 FROGGS if it says that it requires 5.0.0 then I guess it was compiled against the 5.0.0 headers, but was linked then against the system lib with the lower version
22:28 * colomon finally realizes he can build MoarVM on his Linux box
22:29 colomon or not.
22:29 colomon 3rdparty/apr/include/apr_general.h:28:17: fatal error: apr.h: No such file or directory
22:29 colomon curse you, apr!
22:29 FROGGS :/
22:29 FROGGS that is pretty weird
22:30 FROGGS but you dont have a space in path?
22:30 colomon FROGGS: nope
22:30 FROGGS hmmm
22:30 colomon think I just don't have APR on that box
22:31 FROGGS hmm, that apr.h gets created
22:31 FROGGS there is a 3rdparty/apr/include/apr.h.in (and an apr.h on my box now)
22:32 japhb_ colomon, did you remember to configure before making?
22:32 jnthn APR gets bundled in the repo, so it should be using that one
22:32 FROGGS there should be noe
22:32 FROGGS *no makefile before configuring
22:32 japhb_ Yeah, that's why I'm confused how he got that.
22:32 japhb_ FROGGS, Yeah, I thought of that just after I pressed enter.
22:32 FROGGS must be an error before that step
22:33 colomon I must just be special
22:33 FROGGS *g*
22:33 colomon starting over from the git clone
22:33 FROGGS looks like the debuggathons won't be boring :P
22:33 colomon perl Configure.pl --gen-parrot --gen-nqp
22:33 colomon Unknown option: gen-parrot
22:33 colomon Unknown option: gen-nqp
22:33 colomon Welcome to MoarVM!
22:34 FROGGS wrong directory
22:34 colomon so that is correct?
22:34 FROGGS these option need to go to nqp-cc/
22:34 japhb_ colomon, The top level Configure.pl is just for MoarVM itself.
22:34 FROGGS and dont need args
22:34 japhb_ After building MoarVM, go into the cross-compiler directory (under tools/) and do the line you did above.
22:35 FROGGS I'm going to bed now, will get to the airport in about 8 hours :/
22:35 FROGGS gnight
22:35 diakopter oh boy, another high-volume irc channel I won't have time to backlog
22:35 * colomon has 18 hours to the airport
22:36 colomon okay, after I do perl Configure.pl, when I do make is when I get the
22:36 colomon 3rdparty/apr/include/apr_general.h:28:17: fatal error: apr.h: No such file or directory
22:36 colomon message
22:37 diakopter what dir are you in after that error
22:37 colomon root MoarVN
22:37 colomon VM
22:37 diakopter wee-uhd.
22:39 colomon do you guys have an apr.h 3rdparty?
22:39 colomon *in your
22:39 diakopter it bundles apr source right now
22:40 diakopter there must've been a problem configuring/building apr during the moar configure
22:40 colomon there's no report of it..
22:40 colomon Configuring APR ....................................... OK
22:40 colomon but yeah, it kind of seems like that, doesn't it?
22:41 diakopter yeah, we need to test how that turns out.
22:41 colomon tell me what to do
22:41 diakopter sounds like you're up to the challenge :P
22:41 * colomon will have to help put his son to bed in a few minutes, mind you...
22:45 colomon when I go in 3rdparty/apr and run ./ocnfigure by hand, I get
22:46 colomon rm: cannot remove `libtoolT': No such file or directory
22:46 colomon not sure if that was a failure or not.
22:46 colomon still no apr.h
22:46 diakopter wtf
22:47 diakopter are you in cygwin?
22:47 colomon nope, Ubuntu
22:47 colomon 12.10, even
22:49 diakopter sorry, we don't support linux older than 1 week
22:50 colomon afk # bedtime
22:56 diakopter that was a joke.. :p
22:59 bronco_creek joined #moarvm
23:03 BrowserUk joined #moarvm
23:31 BrowserUk Is there a description of the MoarVM anywhere? (eg. stack or register based? Reentrant? CRT memory management or custom? Runloop: table-driven gotos or calls? Size of the builtin opcode list? Etc.)
23:31 eternaleye BrowserUk: If it exists, it's probably in https://github.com/MoarVM/MoarVM/tree/master/docs
23:32 dukeleto joined #moarvm
23:33 jnthn Also the full op list is in src/core/oplist
23:34 eternaleye jnthn: One thing I wonder is whether VCGC/MCGC would work as a future direction regarding GC
23:34 jnthn Largely driven by what nqp:: wnats
23:34 eternaleye jnthn: Those have the benefit of not requiring pauses in order to do collection
23:35 jnthn Yeah. They have drawbacks too, so the current one is parallel rather than concurrent.
23:36 jnthn (One drawback being implementation complexity.)
23:36 eternaleye jnthn: Mm, true.
23:36 jnthn As a huge generalization, pause time and throughput are trade-offs.
23:36 dukeleto testing
23:36 eternaleye jnthn: And thinking back to Parrot, pluggable GC seems... unlikely :P
23:37 jnthn Pluggable GC has JIT as a pre-requisite.
23:37 eternaleye dukeleto: Looks like it's working.
23:37 jnthn At least, if you don't want to hose performance.
23:38 dukeleto eternaleye: thanks :)
23:38 jnthn I mean, you can use the JIT to emit the correct write barriers for the active GC, to the switching overhead vanishes on any hot path code.
23:38 jnthn *so
23:38 colomon diakopter: not my bedtime, Henry's
23:39 colomon diakopter: so we have two bugs?  apr's configure fails (maybe?) and MoarVM's Configure.pl doesn't notice?
23:39 jnthn For now, though, I'd rather focus on getting one GC that works nicely. It's already generational, which helps make most pauses shorter.
23:40 jnthn OK, I really should sleep...flight for YAPC::NA tomorrow
23:40 colomon o/
23:41 jnthn 'night
23:41 colomon see you tomorrow, maybe?
23:41 jnthn colomon: Maybe. masak and I land at 7pm or so.
23:41 colomon 90 minutes after me.
23:41 jnthn colomon: Sunday is perhaps more likely. Will see.
23:41 jnthn :)
23:41 colomon Sunday for sure, I hope!
23:41 tomyan joined #moarvm
23:41 BrowserUk What is your reaction if I say that your VM opcode list is completely wrong?
23:42 jnthn BrowserUk: "fine, but then the nqp:: opcode list is completley wrong too" :)
23:42 diakopter BrowserUk: it's not meant to be optimizable at that level, if that's what you're thinking
23:43 jnthn Well, it's meant to not lose the 6model-meaningful operations.
23:43 masak I think "completely wrong" needs to be qualified somehow. :)
23:44 masak if it runs stuff, surely it does something right.
23:44 eternaleye jnthn: You know, since the AST is called "MAST" I can't help but think the appropriate name for a parsing function is "Chew"
23:44 diakopter BrowserUk: wrong for what purpose/goal/priorities?
23:44 dukeleto BrowserUk: completely wrong implies there is a completely right, which there isn't :)
23:44 eternaleye Because it MASTicates the input.
23:44 jnthn ;)
23:45 masak *groan*
23:46 BrowserUk Hm. Better reaction than I expected.
23:46 diakopter this isn't perlmonks :P
23:47 dukeleto BrowserUk: we are immune to trolling here, so you will have to get by on technical prowess :)
23:47 TimToady do we have a hugbot here yet?
23:48 masak we totally should.
23:48 * dukeleto waxes his trolling trophies
23:48 dukeleto TimToady: we surely need one
23:50 BrowserUk Okay. Its gone midnight here, so I'll write up what I mean and come back tomorrow. (And I ain't rolling ;)
23:50 masak BrowserUk++
23:50 BrowserUk Night all.
23:50 masak o/
23:50 jnthn 'night
23:51 BrowserUk left #moarvm
23:51 jnthn OK, really sleep... :)
23:51 jnthn &
23:59 colomon huh.  I just built the apr included with MoarVM, despite not having an apr.h.
23:59 diakopter yes, it's supposed to build that

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary