Build error
ArneVogel opened this issue · 3 comments
ArneVogel commented
Hi,
I get a error when building Wizard. Virgil is installed and in my path. I also get an error when building without parallelization (see very bottom).
About my system: I am running on linux. Virgil and Wizard are both up to date from the git.
Thanks in advance
$ v3c -version
Aeneas III-6.1418
Build Data: x86-linux 2021-08-06 19:01:30 by titzer@magic-carpet
$ make -j
./build.sh spectest x86-linux
./build.sh wizeng x86-linux
./build.sh unittest x86-linux
./build.sh objdump x86-linux
./build.sh spectest x86-64-linux
./build.sh wizeng x86-64-linux
./build.sh unittest x86-64-linux
./build.sh objdump x86-64-linux
./build.sh spectest jvm
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
make: *** [Makefile:65: bin/spectest.x86-linux] Error 1
make: *** Waiting for unfinished jobs....
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
make: *** [Makefile:68: bin/wizeng.x86-linux] Error 1
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
make: *** [Makefile:71: bin/objdump.x86-linux] Error 1
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
[src/engine/compiler/MacroAssembler.v3 @ 4:39] ParseError: "{" expected
type MasmAddr(base: Reg, offset: int) #unboxed {
^
[src/engine/compiler/RegSet.v3 @ 28:23] ParseError: "{" expected
type Reg(index: byte) #unboxed { }
^
[src/engine/compiler/SinglePassCompiler.v3 @ 698:43] ParseError: "{" expected
type SpcReg(reg: Reg, regClass: RegClass) #unboxed { }
^
[src/engine/x86-64/X86_64Target.v3 @ 119:37] ParseError: "{" expected
type TargetCode(spc_entry: Pointer) #unboxed { }
^
[src/engine/compiler/MacroAssembler.v3 @ 4:39] ParseError: "{" expected
type MasmAddr(base: Reg, offset: int) #unboxed {
^
[src/engine/compiler/RegSet.v3 @ make: *** [Makefile:39: bin/spectest.jvm] Error 1
28:23] ParseError: "{" expected
type Reg(index: byte) #unboxed { }
^
[src/engine/compiler/SinglePassCompiler.v3 @ 698:43] ParseError: "{" expected
type SpcReg(reg: Reg, regClass: RegClass) #unboxed { }
^
[src/engine/x86-64/X86_64Target.v3 @ 119:37] ParseError: "{" expected
type TargetCode(spc_entry: Pointer) #unboxed { }
^
cp: cannot stat 'bin/wizeng.x86-64-linux': No such file or directory
warning: could not serialize interpreter into bin/wizeng.x86-64-linux, may be slower
rm: cannot remove 'bin/wizeng.x86-64-linux.genint': No such file or directory
make: *** [Makefile:81: bin/wizeng.x86-64-linux] Error 1
[src/engine/compiler/MacroAssembler.v3 @ 4:39] ParseError: "{" expected
type MasmAddr(base: Reg, offset: int) #unboxed {
^
[src/engine/compiler/RegSet.v3 @ 28:23] ParseError: "{" expected
type Reg(index: byte) #unboxed { }
^
[src/engine/compiler/SinglePassCompiler.v3 @ 698:43] ParseError: "{" expected
type SpcReg(reg: Reg, regClass: RegClass) #unboxed { }
^
[src/engine/x86-64/X86_64Target.v3 @ 119:37] ParseError: "{" expected
type TargetCode(spc_entry: Pointer) #unboxed { }
^
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
make: *** [Makefile:62: bin/unittest.x86-linux] Error 1
[src/engine/compiler/MacroAssembler.v3 @ 4:39] ParseError: "{" expected
type MasmAddr(base: Reg, offset: int) #unboxed {
^
[src/engine/compiler/RegSet.v3 @ 28:23] ParseError: "{" expected
type Reg(index: byte) #unboxed { }
^
[src/engine/compiler/SinglePassCompiler.v3 @ 698:43] ParseError: "{" expected
type SpcReg(reg: Reg, regClass: RegClass) #unboxed { }
^
[src/engine/x86-64/X86_64Target.v3 @ 119:37] ParseError: "{" expected
type TargetCode(spc_entry: Pointer) #unboxed {
$ make
./build.sh spectest x86-linux
[src/engine/v3/V3Target.v3 @ 37:26] ParseError: "{" expected
type TargetCode(v: void) #unboxed { }
^
make: *** [Makefile:65: bin/spectest.x86-linux] Error 1
titzer commented
This is because the Virgil repo has a stable binary of the Virgil compiler checked in that doesn't support the #unboxed annotation. You simply need to run make
in the Virgil repo for the compiler to bootstrap itself so the latest version is active.
ArneVogel commented
Thanks that fixed it for me. Should I update the build instructions?
titzer commented
Sure, thanks.