github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:36
Kaeipi left,
Kaeipi joined
01:03
dogbert17 joined
01:06
dogbert11 left
01:09
sxmx left
01:22
Merfont joined,
Kaeipi left
01:24
Geth left,
tbrowder left,
BinGOs left
01:30
Geth joined,
tbrowder joined,
BinGOs joined
03:57
leont left
05:17
evalable6 left,
linkable6 left,
linkable6 joined
05:18
evalable6 joined
06:30
frost-lab joined
08:34
domidumont joined
09:03
zakharyas joined
09:07
domidumont left
09:08
sena_kun joined
10:05
domidumont joined
|
|||
MasterDuke | hm, so 3rdpart/gmp/gmp.h only exists after gmp is built | 10:24 | |
Geth | MoarVM: timgates42++ created pull request #1406: docs: fix simple typo, instruciton -> instruction |
10:27 | |
MoarVM: 88cf264bcb | (Tim Gates)++ | src/spesh/args.c docs: fix simple typo, instruciton -> instruction There is a small typo in src/spesh/args.c. Should read `instruction` rather than `instruciton`. |
|||
MoarVM: 0323c7bce1 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/spesh/args.c Merge pull request #1406 from timgates42/bugfix_typo_instruction docs: fix simple typo, instruciton -> instruction |
|||
MasterDuke | so how does a normal build succeed when building moar before gmp? | 10:29 | |
jnthn | Leftover previous build? | 10:32 | |
Did `make clean` get updated to clean it up also? | |||
MasterDuke | i did a `make realclean` and then even went to 3rdparty/gmp and did `git clean -xdf`. there was no 3rdparty/gmp/gmp.h anymore | 10:35 | |
jnthn | System gmp? | 10:36 | |
(it falls back to a system version of the header, which is close enough) | 10:37 | ||
MasterDuke | i guess. so i just need to force gmp to be built first? | 10:38 | |
i do have a /usr/include/gmp.h | 10:39 | ||
jnthn | Yes | 10:48 | |
Maybe this explains the Windows issue :) | |||
nine | So the question is no longer "does it work with system gmp" but "does it actually work with the bundled gmp" ;) | 10:49 | |
MasterDuke | ugh, i hate trying to figure out build stuff. i now have it saying it's building gmp before moar, but it doesn't actually | ||
well, ldd of libmoar isn't pointing at my system gmp unless i do --has-gmp | 10:50 | ||
jnthn | Yes, I think the question is actually "does the unholy alliance of my system gmp headers and the gmp I've built work together" :) | ||
MasterDuke | gist.github.com/MasterDuke17/fbd76...0e2c12ea7f | 10:52 | |
why does it start compiling moarvm files before actually doing the gmp build? | 10:53 | ||
jnthn | > /dev/null | 10:56 | |
MasterDuke | and i guess the linux/mac vm in our CI also have a system gmp installed | ||
jnthn | Maybe there's an error and it's getting sent there? :) | ||
Though they should really go on stderr...and cause it to terminate the build :S | |||
MasterDuke | if i copy that string of commands gist.github.com/MasterDuke17/fbd76...le1-txt-L5 and manually run it, it does build gmp. but why is the make doing it later? | 11:01 | |
jnthn | Are you `make -j` or something? | 11:02 | |
So it's doing some kind of parallel build? | |||
MasterDuke | i usually do, but i haven't been to test exactly that | 11:03 | |
jnthn | I'm out of guesses if it's not that | 11:06 | |
MasterDuke | oh wait. -j1 does in fact built gmp first | 11:08 | |
nine | So you're missing dependencies in the Makefile | ||
MasterDuke | i've manually edited the Makefile so the `moar` target looks like `moar: $(THIRDPARTY) $(MAIN_OBJECTS) libmoar.so` (the `$(THIRDPARTY) ` is new) | 11:09 | |
and `THIRDPARTY = 3rdparty/cmp/libcmp.a 3rdparty/dyncall/dyncall/libdyncall_s.a 3rdparty/dyncall/dyncallback/libdyncallback_s.a 3rdparty/dyncall/dynload/libdynload_s.a 3rdparty/gmp/libgmp.a 3rdparty/libatomicops/src/libatomic_ops.a 3rdparty/ti nymt/libtinymt.a 3rdparty/sha1/libsha1.a 3rdparty/libuv/libuv.a` | 11:10 | ||
nine | With that make may run everything in parallel, except for the very last step of linking moar | ||
Which may be just fine? | |||
MasterDuke | no, it's the actual compiling of moar that visual studio complains about since it can't find a gmp.h, which is only generated after gmp is built | 11:11 | |
jnthn | Depends if the header file (or others) get generated | ||
MasterDuke | so gmp at least needs to happen first | ||
nine | So moar.h needs a dependency on gmp.h | 11:14 | |
MasterDuke | let's see what github.com/MoarVM/MoarVM/pull/1402...ada7e778b0 does | 11:24 | |
ugh, appveyor complains `NMAKE : fatal error U1073: don't know how to make '3rdparty\gmp\libgmp.a'` | 11:28 | ||
but maybe that's not unexpected? it's at least trying to build it first, now we just have to figure out how to actually build gmp on windows | 11:29 | ||
no wait. that means it doesn't know about the target, not that executing the target failed... | 11:32 | ||
nine | And how should it? There's no rule for creating that file in the Makefile | 11:33 | |
MasterDuke | there is on that branch | 11:34 | |
nine | where? | ||
MasterDuke | github.com/MoarVM/MoarVM/pull/1402...dR698-R700 | 11:35 | |
so i have this in my Makefile locally | |||
3rdparty/gmp/libgmp.a: | |||
$(MSG) building $@... | |||
$(CMD)cd 3rdparty/gmp && sh .bootstrap && CC='$(CC)' CFLAGS='$(CFLAGS)' ./configure --enable-shared=no --with-pic && $(MAKE) && cp .libs/libgmp.a . && cd .. | |||
does the order of the targets in the file matter for nmake? does `3rdparty/gmp/libgmp.a:` need to move before `$(MAIN_OBJECTS) $(OBJECTS):`? | 11:37 | ||
nine | in general no | 11:38 | |
The list is a list of requirements. All of them have to be satisfied before the target can be built | 11:39 | ||
So order does not matter as such | |||
MasterDuke | didn't think so... | ||
same error in azure | 11:40 | ||
nine | FWIW it works here, even if I move /usr/include/gmp.h out of the way | ||
with make -j19 | |||
MasterDuke | before the most recent commit? or with it? | 11:41 | |
nine | with it | ||
So, what does the generated Makefile on Windows look like? | 11:42 | ||
MasterDuke | don't know | ||
nine | I think getting hold of a copy with reveal the issue quite quickly :) | ||
You could just add a "cat Makefile" to the build process at an appropriate place to get it into the build log | 11:43 | ||
or the Windows equivalent | |||
Oh, it's even easier! should be 3rdparty/gmp/gmp.lib on Windows, not libgmp.a | 11:44 | ||
Look at the Configure.pl output | |||
MasterDuke | doh | ||
timotimo | is the file really called .bootstrap | 11:47 | |
and i guess windows wouldn't be able to `sh .bootstrap` anyway? | 11:48 | ||
MasterDuke | yep | ||
nine | MasterDuke: it's not just the extension. There's also no "lib" prefix on Windows | 11:52 | |
jnthn | Windows builds often have their separate set of things you need to invoke | 11:53 | |
MasterDuke | github.com/MoarVM/MoarVM/pull/1402...fa9bf84624 | ||
think that's the right way | 11:54 | ||
ah ha. not success, but a better failure ci.appveyor.com/project/samcv/moar...ou65qi#L93 | 11:55 | ||
nine | indeed....so the next question is: what to run instead of .bootstrap? | 11:56 | |
MasterDuke | stackoverflow.com/questions/471131...it-windows maybe just run configure and make? | 11:58 | |
nine | gmplib.org/manual/Notes-for-Particular-Systems | ||
12:05
travis-ci joined
|
|||
travis-ci | MoarVM build passed. Elizabeth Mattijsen 'Merge pull request #1406 from timgates42/bugfix_typo_instruction | 12:05 | |
travis-ci.org/MoarVM/MoarVM/builds/750195047 github.com/MoarVM/MoarVM/compare/9...23c7bce1dc | |||
12:05
travis-ci left
|
|||
MasterDuke | this is where i start to bow out in hopes that somebody who knows how to build things on windows can take over | 12:05 | |
lizmat | whee! the power of fixing misspellings :-) | ||
jnthn | MasterDuke: Aren't we using a fork of gmp that builds on Windows, and doesn't it have instructions? | 12:06 | |
12:06
zakharyas left
|
|||
jnthn | Yes, see github.com/ShiftMediaProject/gmp/t...master/SMP | 12:07 | |
MasterDuke | it adds a visual studio project aiui github.com/ShiftMediaProject/gmp/t...master/SMP | ||
jinx | |||
jnthn | haha | 12:08 | |
Yeah, so I guess that has to be built, but then it mentions some other dependency too :S | 12:09 | ||
MasterDuke | but do we want to *require* visual studio to build moarvm? doesn't our current windows build just use nmake and such, not build via VS projects? | 12:11 | |
so do we need to figure out both? | |||
jnthn | Hmmm, does it require the IDE or just the toolchain? | 12:12 | |
12:12
lizmat_ joined
|
|||
MasterDuke | don't know, does github.com/ShiftMediaProject/gmp/b...pveyor.yml help? | 12:13 | |
i haven't used VS in probably 20 years, so not sure how much help i can be | 12:14 | ||
12:14
lizmat left
12:15
lizmat_ is now known as lizmat
|
|||
cog | Hi, in tile_pattern.file I don't understand the purpose of symbols with $ sigils. I thought pattern for immediate value but that does not seem the case in (define: (guard void $before $after) void) | 12:38 | |
Probably the generated tile_patternm.h will help me to understand | 12:41 | ||
12:51
leont joined
13:08
Altai-man joined
13:11
sena_kun left
13:18
zakharyas joined
13:21
frost-lab left
13:51
zakharyas left
|
|||
[Coke] | (windows build) let me know if you need a test run on something other than master. | 15:08 | |
yes, we don't require VS | 15:10 | ||
(but I'm using the VS x64 command prompt to do the build) | |||
MVM_Sset_running_threadds_context - void function returning a value | 15:13 | ||
MVM_set_running_threadds_context - void function returning a value | |||
... still a typo. :) | 15:14 | ||
anyone want a capture of all the widows compiler warnings? (There's a lot, but many dupes) | 15:16 | ||
*windows. wow. typing is hard today | |||
15:30
zakharyas joined
|
|||
MasterDuke | [Coke]: i assume that's just from master? can you try github.com/MoarVM/MoarVM/pull/1402 ? are you up for trying to adopt suggestions from gmplib.org/manual/Notes-for-Particular-Systems and/or github.com/ShiftMediaProject/gmp/b...pveyor.yml ? | 15:48 | |
[Coke] | is there an easy way to do that from rakudo's configure, or should I do a 3-stage build? | 15:55 | |
MasterDuke | do what? | ||
[Coke] | any configure options needed on that moarvm branch? | 15:56 | |
MasterDuke | oh, nope | 15:57 | |
[Coke] | "do what" == build. I'll just build your moarvm separately and then build on top of it if it works. | ||
MasterDuke | it won't build as is on windows, it needs something done. exactly what i don't know | 15:58 | |
[Coke] | is it expected that "updating submodules" is slow? | 15:59 | |
configure gave a warning about libzstd but completed | 16:01 | ||
MasterDuke | i think the slow updating modules is just a windows thing, but i'm not sure | 16:03 | |
yeah, configure should be fine | |||
[Coke] | building, no issues yet... | 16:04 | |
MasterDuke | that's kind of surprising... | 16:05 | |
[Coke] | .. it's building libtonmath? | 16:07 | |
MasterDuke | must not be on my branch then | 16:09 | |
did this? github.com/TeamPorcupine/ProjectPo...ll-Request | 16:10 | ||
[Coke] | (branch) DOH | 16:12 | |
MasterDuke | heh | 16:13 | |
[Coke] | trying again. :) | 16:14 | |
aaahahaha | 16:19 | ||
build dies immediately with "sh is not recognized...' | |||
MasterDuke | yeah, right now it does this github.com/MoarVM/MoarVM/pull/1402...f92f95cR26 | 16:22 | |
[Coke] | OK. I'm at $dayjob, but will see if I can find an answer this evening. | ||
MasterDuke | could you try manually running just the configure and make part? i.e., not doing the `sh .bootstrap` at all | 16:23 | |
thanks | |||
[Coke] | removing && sh .boot.... gives an error about 'CC' is not recognized... (doesn't like that shell syntax, guessing) | 16:25 | |
and there's no .\configure | 16:26 | ||
and .bootstrap is calling things that don't exist on windows | 16:27 | ||
so your note before about just running configure: doesn't exist. | 16:28 | ||
the link from earlier doesn't show how to generate it. (unless I have to install cygwin) | 16:29 | ||
MasterDuke | yeah, interesting | ||
16:43
squashable6 left,
squashable6 joined
17:09
sena_kun joined
17:11
Altai-man left
17:44
lucasb joined
18:21
domidumont left
18:27
MasterDuke left
19:02
Merfont left,
Merfont joined
19:19
vrurg left
19:20
zakharyas left
19:58
vrurg joined
20:52
vrurg left
20:58
zakharyas joined
21:08
Altai-man joined
21:10
sena_kun left
21:38
MasterDuke joined
21:39
Altai-man left
21:54
vrurg joined
|
|||
[Coke] | so there's an MPIR fork of GMP that includes build stuff for windows. | 22:00 | |
22:00
zakharyas left
|
|||
[Coke] | Looking at GMP build instructions, I don't see anything in core that really fits with our build system. it's basically "install enough *nix so you can generate ./configure" | 22:02 | |
could we always build windows with the old math lib? | 22:08 | ||
or is the goal to throw that one out? | |||
MasterDuke | we could do that. but gmp is so much faster i'd prefer to switch over completely | 22:30 | |
the mpir fork is quite a bit outdated i believe. the smp fork we're using is current with upstream releases | |||
[Coke]: were you able to pull anything useful from github.com/ShiftMediaProject/gmp/b...pveyor.yml ? | 22:31 | ||
[Coke] | I don't know what to do with that file, nope. | 22:33 | |
would require a deeper dive than I've been able to do today | 22:34 |