|
00:21
vendethiel joined
04:25
llfourn joined
04:54
vendethiel joined
09:05
domidumont joined
09:07
patrickz joined
09:10
domidumont joined
09:55
virtualsue joined
10:31
dalek joined
11:06
vendethiel joined
12:13
virtualsue joined
12:26
leont joined
12:43
dalek joined
13:21
colomon joined
13:25
colomon joined
14:03
geekosaur joined
|
|||
| flussence | has anyone here ever successfully built rakudo+moar with --has-libffi? | 14:39 | |
|
15:23
kjs_ joined
16:11
zakharyas joined
16:23
vendethiel joined
|
|||
| hoelzro | o/ #moarvm | 16:30 | |
| flussence: I have | |||
| flussence | I can't get it to work on gentoo :( both moar and rakudo assume ffi.h is /usr/include/ffi.h | 16:32 | |
| hoelzro | flussence: have you tried CFLAGS=-I/lib/ffi/location perl Configure.pl --has-ffi ? | ||
| it probably won't compile the probe if -lffi isn't in your compiler's default search path, though | 16:33 | ||
| sadly, Configure.pl's probe doesn't respect LDFLAGS (although it may now) | |||
| flussence | I've put a makefile patch for that on moarvm's github issues, can't find anywhere appropriate to do the same for rakudo though. | ||
| (anywhere in Makefile-Moar*.in, that is) | 16:34 | ||
|
16:53
mohij joined
17:34
TimToady joined
18:41
brrt joined
|
|||
| brrt | ping konobi | 18:46 | |
|
19:10
mojca joined
|
|||
| mojca | does moarvm with jit work on 32-bit platforms at all? | 19:11 | |
| flussence | nope | 19:13 | |
| brrt | no | 19:20 | |
| what kind of platform are you looking for? | |||
| ugh, my designed tile thingy is 152 bytes large even when leaving out the list pointers :-( | 19:29 | ||
|
19:38
llfourn joined
|
|||
| mojca | i386-darwin | 19:38 | |
| in Configure.pl I see "if ($Config{archname} =~ m/^x86_64|^amd64|^darwin(-thread)?(-multi)?-2level/) { ... then enable jit" | |||
| but for darwin there doesn't seem to be any distinction between 32-bit and 64-bit | |||
| timotimo | brrt: too big for a cache line or what's the matter? | 19:39 | |
| brrt | just big and ugly | ||
| timotimo | hmm | ||
| brrt | mojca, oh, wow | ||
| yes, that piece of code is Stupid, and my fault too | |||
| i didn't know any better way to detect the architecture in perl | 19:40 | ||
| i still don't, for that matter | |||
| mojca | but I checked the configure parameters and there is no really straightforward variable that I could see | ||
| leont | archname is not a very portable concept | ||
| brrt | no, it isn't | ||
| mojca | I have some very complex code to detect whether a mac is 64-bit capable | 19:41 | |
| brrt | mojca, the JIT works on amd64 posix and windows architectures, and nothing else | ||
| mojca | ok, moderately complex | ||
| leont | perl5's configure takes it from uname (at least on Unixy systems) | ||
| brrt | hmmm | ||
| that's something, yes | |||
| but, not correct either | |||
| because it disregards architecture | 19:42 | ||
| mojca | no problem, I don't think the user who was hit by this really cares about JIT, it would only be helpful if it didn't throw a bus error | ||
| brrt | eh, wait, let me restate that | ||
| well, it's something that has to be reworked one day or another | |||
| mojca | on OS X probably the most reliable way would be to check for compiler flags | ||
| sorry, not flags, defines | |||
| brrt | leont: we shouldn't assume target and host architecture are equal, and we do | 19:43 | |
| python setuputils also makes that mistake | |||
| mojca | what's the best quick solution to disable jit before the configure "bug" gets fixed? | ||
| leont | True | ||
| brrt | --no-jit | ||
| mojca | ok | ||
| oh, wait, one more thing | |||
| brrt | ask away :-) | 19:44 | |
| mojca | what if a user builds universal binaries? | ||
| brrt | hahahahaha | ||
| no | |||
| mojca | also --no-jit just to be on the safe side? | ||
| brrt | probably yes | ||
| mojca | I can certainly build universal binaries | ||
| brrt | i can't and never tried... | ||
| mojca | but I'm not sure if I can run them :) | ||
| brrt | if you make a universal binary, does it include two architecture shared objects | 19:45 | |
| leont | Basically, yes | ||
| brrt | hmm | ||
| leont | In theory, ELF supports that too, just no one implemented it much beyond proof of concept, because why would you? | 19:46 | |
| geekosaur | arch i386 somecommandhere | ||
| er | |||
| brrt | then basically, architecture-dependent compiler definitions could be made to do config, and we'd never care about a Configure.pl script at all | ||
| geekosaur | arch -32 or arch -64 | ||
| brrt | because it'd then be the job of the compiler to get the configuration right | 19:47 | |
| well, with some exceptions like cgoto support | |||
| stuff that would have to be probed for | |||
| mojca | I opened a new ticket: github.com/MoarVM/MoarVM/issues/324 | 19:50 | |
| Just curious, is powerpc supported? | 19:51 | ||
| I'm not asking about JIT of course | |||
| flussence | people have built on arm, so I don't see why not... | 19:52 | |
| mojca | Just for information: LuaJIT works on i386-darwin, but I believe there is specific code that has to be written for perl | ||
| Maybe I'll try the ppc just for fun | |||
| nwc10 | Power 8 worked last I tested it, 32 and 64 bit, but some tests failed | 19:53 | |
| brrt | i think powerpc is supported in principle | ||
| nwc10 | IIRC jnthn fixed what he thought might have been the cause of those | ||
| mojca | ok, thank you | ||
| nwc10 | but I've not had a chance | ||
| to retest | |||
| brrt | luajits support for powerpc or not is basically separate from moarvm :-) | ||
| we don't actually share any luajit code beyond the build process | |||
| and couldn't, even if we wanted | |||
| mojca | luajit on powerpc-darwin is broken | ||
| I can compile luajit with some patches, but then random code crashes | 19:54 | ||
| (even though most of it works; but those crashes make it useless) | |||
| also, isn't it slightly wrong to use $Config{archname} or $Config{anyotherthing} to determine the architecture of the binary we are building? | 19:59 | ||
| I can imagine that one could easily use x86_64 perl to build MoarVM for PPC for example | 20:00 | ||
| [Coke] | hey, we got a failure report for moarvm on os x 10.6 | 20:14 | |
| nwc10 | and it wasn't from me :-) | ||
| [Coke] | mojca++ again. :) | 20:15 | |
| nwc10 | also, apologies in advance. My client might be here, but I'm not hugely around currently. | 20:16 | |
| brrt | mojca, yes, it is terribly wrong; but the question is, what would be a better strategy | 20:21 | |
| i do know the answer, by the way | |||
| compile a binary that invokes the compiler with the correct flags, based on what your compiler thinks is the right thing... except that doesn't work for cross-builds either | 20:22 | ||
| aargh | |||
| mojca | in a way one should probably treat every Mac OS X compilation as "cross-compilation" just in case | ||
| brrt | probably, yes | ||
| mojca | not in the sense that one should expect --host and --target flags | ||
| I'm not sure what your compilation chain does | 20:24 | ||
| but in my opinion the proper way to determine the architecture on OS X would be to actually run the compiler and grep for some defines; something similar that autoconf does (I'm not saying I like autoconf) | 20:25 | ||
| brrt | Configure.pl builds a Makefile from build/Makefile.in, based on probing and args from the environment, and the makefile than builds all the things | 20:26 | |
| mojca | then again ... if this is just for JIT, running the compiler would be a bit of an overkill | ||
| brrt | nah, we already probe for other stuff | ||
| it's a completely valid approach | |||
| mojca | on mac one could theoretically set "export CXX=powerpc-apple-darwin10-g++-4.0" | 20:27 | |
| I didn't check whether that name exactly is a valid compiler name | 20:28 | ||
| but one would get powerpc binaries by calling that compiler | |||
| and most things would work out of the box | |||
| though usually one would use export CXXFLAGS="-arch ppc" to achieve the same | |||
| brrt | any binary name is valid, i think | ||
| mojca | valid in the sense of "actually existing in the wild" | 20:29 | |
| (shipped by Apple) | |||
| anyway, the name itself doesn't actually matter | |||
|
20:29
virtualsue joined
|
|||
| brrt | no.. you can always do make CC=powerpc-apple-darwin10-g++-4.0 | 20:30 | |
| mojca | the problem is that 10.6 would return "i386" when asked for uname, but it would build x86_64 binaries by default | ||
| brrt | hmm | ||
| that's ugly | |||
| mojca | well, on ARM I don't know how to distinguish between armhf and armel; and on MIPS I don't know how to distinguish between mips and mipsel either | 20:31 | |
| without actually running the compiler | |||
| the uname output is equal on both variants, but binaries are incompatible | |||
| and I'm still fighting with that problem in our distribution of some other binaries; the only luck we have is that there are practically no users of those archs | 20:32 | ||
| brrt should do an experiment probably with that | |||
| mojca | what's the best place to ask a few simple questions about panda? #perl6? | 20:34 | |
| [Coke] | sdtimes.com/christmas-perl-arrives/ - that article seems confused. | 20:36 | |
| ww | |||
|
20:39
llfourn joined
|
|||
| brrt | mojca, yes, that's the right place | 20:51 | |
| you should ask tadzik | |||
|
20:55
vendethiel joined
|
|||
| tadzik | hm? | 21:02 | |
| oh, panda, yes | |||
| mojca | tadzik, I tried to create a package for panda for macports, but failed because I don't quite understand how it's supposed to work | 21:04 | |
| by default it installs files to a completely weird location | |||
| and if I move it, it breaks with "/opt/local/bin/panda: line 2: syntax error near unexpected token `('" | 21:05 | ||
| "/opt/local/bin/panda: line 2: `sub MAIN(:$name is copy, :$auth, :$ver, *@, *%) {'" | |||
| but I should probably move the discussion to #perl6? | |||
| maybe that error is because perl6 in shebang doesn't work | 21:06 | ||
| tadzik | oh? | 21:07 | |
| timotimo | src/6model/reprs/NFA.c:442:17: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 6 has type ‘MVMint64’ [-Wformat=] | 21:09 | |
| fprintf(stderr,"%c with %ds target %lx offset %lld\n",cp,(int)numcur, (long)target, offset); | |||
| ^- what could cause this? a "strange" platform? | |||
| tadzik | overexcited compiler, imho :) | 21:10 | |
| well, or a platform where long long int is not a 64bit int | |||
| timotimo | well, it's only a debug statement | 21:12 | |
|
21:38
llfourn joined
22:24
colomon joined
22:39
llfourn joined
22:50
zakharyas joined
23:17
colomon joined
23:29
virtualsue joined
23:41
llfourn joined
|
|||