Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
ugexe | im gonna try and install a new build of windows 11 arm and see if that somehow fixes it. luckily VMWare fusion now has a single click thing to download and install windows 11 arm | 00:24 | |
hmm i wonder if i had installed stuff on the x86 toolchain even though it was windows arm | 02:31 | ||
i know im using the arm toolchain this time and i cant even install 2023.04 due to libatomicops not supporting this architecture (which lends itself to the theory i was using x86 toolchain before) | 02:33 | ||
it does look like there might be some changes to upstream libatomicop related to windows specific arm stuff | 02:37 | ||
02:50
discord-raku-bot left,
discord-raku-bot joined
|
|||
ugexe | if i just switch to using upstream v7.8.0 (since merging into the MoarVM/atomic_ops has a bunch of conflicts) it at least compiles further | 02:56 | |
but now dyncall is failing presumably because it think im on x86. which i think might be because strawberry perl is x86 only still (and we get the architecture from perl for some build things) | 02:57 | ||
hmm, it looks like the latest version of dyncall has additional arm64 options as well | 03:11 | ||
it looks like it might be worth looking at updating both dyncall and libatomic_ops | 03:12 | ||
MasterDuke | i don't think libatomic_ops is actually required if you have a new enough compiler? wasn't it made part of the c11 spec? | 03:49 | |
right. what if you pass the `--c11-atomics` option to Configure.pl? | 03:50 | ||
we're using dyncall v1.1, looks like v1.4 is the newest | 04:01 | ||
ugexe | i was just looking at the c11 atomics actually | 04:11 | |
but it seems like build/Makefile.in still includes the paths to libatomicops | |||
MasterDuke | huh. if you remove them? | 04:12 | |
ugexe | pastebin.com/raw/rMwU60Pz that is what my Makefile looks like. I'm not seeing where all the other "atomic" references would be coming from in Makefile.in though | 04:15 | |
MasterDuke | yeah... | 04:19 | |
ugexe | if i delete all the atomic ops references in there it then errors at github.com/MoarVM/MoarVM/blob/62c7...moar.h#L75 | ||
pastebin.com/raw/Kn2LMdn5 | |||
MasterDuke | but that should only be hit if you didn't do `--c11-atomics`? | 04:20 | |
ugexe | rakubrew build moar-blead --configure-options="--gen-moar=HEAD --c11-atomics" | 04:21 | |
that is what i used | |||
but i think it is supposed to be enabled by default now anyway | |||
MasterDuke | no, it's not the default | 04:22 | |
don't you need something like `--moar-options=--c11-atomics`? | |||
i don't konw rakubrew | |||
oh, you were explicitly building moarvm | 04:23 | ||
no, --gen-moar is an nqp/rakudo option... | |||
ugexe | yeah i think you're right. and looking at HEAD I see indeed it isn't the default anymore | 04:24 | |
pastebin.com/raw/Ve0BdEXQ | 04:34 | ||
devblogs.microsoft.com/cppblog/c11...preview-2/ | 04:36 | ||
the probe doesn't find it. that output (with --c11-atomics) makes it seem like maybe it some unfinished version of c11 atomic support from that blog? | |||
pastebin.com/raw/qxjmZnXM this is the vcruntime_c11_stdatomic.h file from the error | 04:38 | ||
MasterDuke | ugh. windows... | 04:45 | |
well, i gotta get some sleep. later... | 04:46 | ||
Geth | MoarVM: ugexe++ created pull request #1774: Enable c11 atomics on msvc 17.8+ |
06:57 | |
ugexe | dunno if that'll break msvc older than 17.8+, but CI should show that | ||
07:04
xiaomiao left,
xiaomiao joined
|
|||
ugexe | i think dyncall will have to be updated before i can progress any further | 07:10 | |
08:27
samcv left,
samcv joined
09:39
sena_kun joined
10:59
sena_kun left
13:04
Util left,
Util joined
|
|||
ugexe | How would we make github.com/MoarVM/MoarVM/blob/62c7...up.pm#L420 use 'armasm64' if using an ARM architecture? | 13:53 | |
the current entry, ml / ml64, is x86 only | 13:54 | ||
14:45
sena_kun joined
|
|||
ugexe | Is there anything special about MoarVM/dyncall or is it just a direct copy of the dyncall svn? | 16:06 | |
16:35
jgaz left
|
|||
MasterDuke | the last couple commits related to 3rdparty/dyncall say they're just updating to upstream revisions with no local changes | 16:47 | |
e.g., a1a187f003ca85929d4a1485d89cf372d782dc7d | 16:48 | ||
17:22
xiaomiao left
17:26
xiaomiao joined
|
|||
ugexe | i haven't had any luck trying to update it :( | 17:48 | |
it'd be nice if MoarVM/dyncall had a github action to automatically mirror the dyncall hg repo, and then have dependabot send updates for the moarvm dyncall submodule | |||
that wouldnt work if we have custom changes though | 17:50 | ||
17:51
xiaomiao left
18:03
xiaomiao joined
|
|||
patrickb | we don't. It's a 1:1 copy. | 18:33 | |
MasterDuke | ugexe: you mean updating dyncall doesn't fix building on windows arm? or you haven't been able to actually update dyncall? | 19:02 | |
ugexe | I haven't been able to update it, but i was trying to merge the changes (resulting in lots of conflicts) instead of just cloning it (which it sounds like i could do) | 19:03 | |
github.com/ugexe/dyncall I created a GitHub action in this repo that mirrors the dyncall mercurial repo on a schedule. Maybe we should use it for MoarVM/dyncall | 19:04 | ||
it retains all the release tags and everything | |||
MasterDuke | i just built with dyncall 1.4 | 19:09 | |
ugexe | nice, its probably worth pushing | 19:12 | |
nine | Does libffi work instead of dyncall? | 19:23 | |
--c11-atomics should have become default years ago. I e.g. have built the openSUSE packages with that enabled for at least 2 years. | 19:24 | ||
ugexe | it is the default if the probe succeeds | 19:27 | |
nine | IIRC libffi also would be a better default than dyncall. It has better platform support and AFAIK no downsides | ||
ugexe | there is nothing built into the build system for building with libffi is there? afaik i would have to figure out how to build and install libffi first | 19:36 | |
which, on this somewhat rare ARM Windows, almost certainly means more pain | 19:37 | ||
nine | Yeash, looks like it does support Windows on ARM, but has to be built from source in general | 19:42 | |
ugexe | after updating dyncall to 1.4 i get a little further but it still doesnt quite work even when i set the asm compiler to armasm64. i guess i'll have to try libffi | 20:32 | |
i tried, but i dont think i'm going to end up figuring out how to build libffi on windows. i followed their instructions but i dont think they are quite valid for windows | 20:53 | ||
i was hoping i could just install it with winget or chocolatey, but nope | 21:03 | ||
23:32
sena_kun left
|