Open barracuda156 opened 2 months ago
Can you check if a 2024.07 nqp + 143b5059c6fe9e5c8181bde40693995fb8c94dd0 moarvm also fails to build in a similar way? That is the first commit in moarvm after the 2024.07 release
@timo Looks like:
---> Extracting nqp-2024.07.tar.gz
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/nqp/nqp-2024.07.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -
---> Configuring nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07" && /opt/local/bin/perl Configure.pl --prefix=/opt/local --prefix=/opt/local --backends=moar --with-moar=/opt/local/bin/moar
Unhandled exception: Lookup by name of unknown REPR: P6op
at src/vm/moar/ModuleLoader.nqp:497 (src/vm/moar/stage0/ModuleLoader.moarvm:<mainline>)
from <unknown>:1 (src/vm/moar/stage0/ModuleLoader.moarvm:<loa)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Found /opt/local/bin/moar version 2024.07-2-g143b5059c, which is new enough.
Unhandled exception: Lookup by name of unknown REPR: P6op
at src/vm/moar/ModuleLoader.nqp:497 (src/vm/moar/stage0/ModuleLoader.moarvm:<mainline>)
from <unknown>:1 (src/vm/moar/stage0/ModuleLoader.moarvm:<loa)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 132.
Use of uninitialized value in concatenation (.) or string at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 138.
Use of uninitialized value in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 165.
Redundant argument in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/tools/lib/NQP/Config/NQP.pm line 165.
Use of uninitialized value $var_text in split at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07/3rdparty/nqp-configure/lib/NQP/Macros.pm line 604.
Cleaning up ...
You can now use 'make' to build NQP.
After that, 'make test' will run some tests and
'make install' will install NQP.
---> Building nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07" && /usr/bin/make -j6 -w all
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07'
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating gen/moar/stage1/nqpmo.nqp
+++ Compiling gen/moar/stage1/ModuleLoader.moarvm
+++ Generating gen/moar/stage1/NQPCORE.setting
+++ Generating gen/moar/stage1/QASTNode.nqp
+++ Generating gen/moar/stage1/QRegex.nqp
+++ Generating stage 1 nqp-config.nqp
+++ Generating gen/moar/stage1/MASTNodes.nqp
+++ Generating gen/moar/stage1/QAST.nqp
Unhandled exception: Lookup by name of unknown REPR: P6op
at src/vm/moar/ModuleLoader.nqp:497 (src/vm/moar/stage0/ModuleLoader.moarvm:<mainline>)
from <unknown>:1 (src/vm/moar/stage0/ModuleLoader.moarvm:<loa)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
make: *** [gen/moar/stage1/ModuleLoader.moarvm] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07'
Command failed: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.07" && /usr/bin/make -j6 -w all
Exit code: 2
Error: Failed to build nqp: command execution failed
Just in case, I checked if 2024.07 nqp
builds with 2024.07 MoarVM
, and yes, it does. So no issues with the toolchain.
can you also share the output from moar configure and make steps? i'm trying to reproduce your trouble with a ppc and a ppc64 big endian container based on adelie linux (just the first thing I found) and while on the 64bit ppc i can successfully build a rakudo, i've still got some moarvm build trouble to resolve on the 32bit one, so i'm not getting close to to trying to build nqp yet
I am away from the hardware for tonight, but I have used our existing portfiles. MoarVM is here: https://github.com/macports/macports-ports/blob/master/lang/MoarVM/Portfile
MacPorts is a bit tricky to run on Linux, but this should be reproducible without MacPorts.
I only run build on MacOS though. No idea about the current MoarVM status on BSD and Linux. On MacOS I had no trouble to build MoarVM itself (the latest release), but that’s it.
good news, I can reproduce the issue on both 32bit ppc big endian and 32bit x86. It looks like the in situ strings support isn't working with 32bit systems. Now I, or anyone really, should be able to debug and fix this without much hassle on a boring and common x86 or x86_64 machine!
Please try if the latest commit to moarvm helps: https://github.com/MoarVM/MoarVM/commit/f14712b6b9
Please try if the latest commit to moarvm helps: https://github.com/MoarVM/MoarVM/commit/f14712b6b9
Thank you, I will try today and update you.
@timo I have built MoarVM 2024.08 with https://github.com/MoarVM/MoarVM/commit/f14712b6b9 applied on top and tried to build nqp
2024.08:
---> Extracting nqp-2024.08.tar.gz
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/nqp/nqp-2024.08.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -
---> Configuring nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /opt/local/bin/perl Configure.pl --prefix=/opt/local --prefix=/opt/local --backends=moar --with-moar=/opt/local/bin/moar
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Found /opt/local/bin/moar version 2024.08, which is new enough.
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 132.
Use of uninitialized value in concatenation (.) or string at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 138.
Use of uninitialized value in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 165.
Redundant argument in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 165.
Use of uninitialized value $var_text in split at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/3rdparty/nqp-configure/lib/NQP/Macros.pm line 604.
Cleaning up ...
You can now use 'make' to build NQP.
After that, 'make test' will run some tests and
'make install' will install NQP.
---> Building nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /usr/bin/make -j6 -w all
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08'
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating gen/moar/stage1/nqpmo.nqp
+++ Compiling gen/moar/stage1/ModuleLoader.moarvm
+++ Generating gen/moar/stage1/NQPCORE.setting
sh: gen/moar/stage1/NQPCORE.setting: No such file or directory
+++ Generating gen/moar/stage1/QASTNode.nqp
sh: gen/moar/stage1/nqpmo.nqp: No such file or directory
+++ Generating gen/moar/stage1/QRegex.nqp
make: *** [gen/moar/stage1/nqpmo.nqp] Error 1
make: *** Waiting for unfinished jobs....
make: *** [gen/moar/stage1/NQPCORE.setting] Error 1
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
make: *** [gen/moar/stage1/ModuleLoader.moarvm] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08'
Command failed: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /usr/bin/make -j6 -w all
Exit code: 2
@timo Any update on the issue? Would be nice to have it working.
I can't reproduce the failure that you're seeing.
Could you run this from nqp's source directory?
lldb -O "breakpoint set -n MVM_oops" -o "run" -- moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm --bootstrap --show-config
I'm just assuming you have lldb but not gdb, since mac. Otherwise, this instead:
gdb -ex="run" -iex="break MVM_oops" --args moar --libpath=src/vm/moar/stage0 src/vm/moar/stage0/nqp.moarvm --bootstrap --show-config
and give "y" for the "future shared library load" question, and another "y" or "n" if it asks about debugservers or anything.
then when it hits the breakpoint in MVM_oops enter bt
in LLDB or bt -full
in GDB.
then up
until you're in a frame where "tc=blah" shows something other than "unavailable" or "optimized out" and
call MVM_dump_bytecode(tc)
This is probably not going to give us terribly much info, but it will be a start ...
ping @barracuda156 do you have time to look more into this soon?
@timo Thanks for reminding. Will try tonight. BTW, only GDB is available, and rather old one, but it still works.
hey @barracuda156 can you check with this moarvm commit i just pushed? https://github.com/MoarVM/MoarVM/commit/e380dbabd6
I'm not sure it would actually ever trigger in a regular build, but when it goes wrong it can give the same error message as you got.
@timo Thank you for an update. I rebuilt MoarVM 2024.08 with two patches applied – https://github.com/MoarVM/MoarVM/commit/f14712b6b9 and https://github.com/MoarVM/MoarVM/commit/e380dbabd6 – however still get the failure with nqp
:
---> Extracting nqp-2024.08.tar.gz
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/nqp/nqp-2024.08.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -
---> Configuring nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /opt/local/bin/perl Configure.pl --prefix=/opt/local --prefix=/opt/local --backends=moar --with-moar=/opt/local/bin/moar
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Found /opt/local/bin/moar version 2024.08, which is new enough.
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in substitution (s///) at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 130.
Use of uninitialized value in quotemeta at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 132.
Use of uninitialized value in concatenation (.) or string at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 138.
Use of uninitialized value in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 165.
Redundant argument in sprintf at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/tools/lib/NQP/Config/NQP.pm line 165.
Use of uninitialized value $var_text in split at /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08/3rdparty/nqp-configure/lib/NQP/Macros.pm line 604.
Cleaning up ...
You can now use 'make' to build NQP.
After that, 'make test' will run some tests and
'make install' will install NQP.
---> Building nqp
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /usr/bin/make -j6 -w all
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08'
+++ Preparing MOAR build directories
++++++ Building MOAR backend
+++ Generating gen/moar/stage1/nqpmo.nqp
+++ Compiling gen/moar/stage1/ModuleLoader.moarvm
+++ Generating gen/moar/stage1/NQPCORE.setting
+++ Generating gen/moar/stage1/QASTNode.nqp
+++ Generating gen/moar/stage1/QRegex.nqp
+++ Generating stage 1 nqp-config.nqp
+++ Generating gen/moar/stage1/MASTNodes.nqp
+++ Generating gen/moar/stage1/QAST.nqp
MoarVM oops: MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
Requested synthetic 83 when only 1 have been created.
at src/vm/moar/ModuleLoader.nqp:477 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:470 (src/vm/moar/stage0/ModuleLoader.moarvm:)
from src/vm/moar/ModuleLoader.nqp:465 (src/vm/moar/stage0/ModuleLoader.moarvm:load_setting)
from <unknown>:1 (src/vm/moar/stage0/nqp.moarvm:<dependencies+deserialize>)
make: *** [gen/moar/stage1/ModuleLoader.moarvm] Error 1
make: *** Waiting for unfinished jobs....
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08'
Command failed: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_nqp/nqp/work/nqp-2024.08" && /usr/bin/make -j6 -w all
Exit code: 2
Error: Failed to build nqp: command execution failed
Did I miss some needed commit?
I think you got all the interesting commits.
Can you see if you can build moar with the --asan
flag passed to Configure.pl, and then ASAN_OPTIONS=detect_leaks=0
in your environment to prevent every call to moar exiting with nonzero and aborting the build. You may or may not have to install some extra stuff. Likely a libasan or libasan-dev package, whatever it may be called
@timo AFAIK, those gcc targets are not supported either outside of x86 or at least on PowerPC (on riscv64 they also do not build).
2024.07 has build fine.