toppers / asp3_in_zig

TOPPERS/ASP3 Kernel written in Zig Programming Language
15 stars 4 forks source link

Compile Error occured in Zig 0.9 #16

Open ykominami opened 3 years ago

ykominami commented 3 years ago

2021/10/20現在、 https://ziglang.org/download/ から入手できるzig 0.9.0-dev系の以下の最新版のzigでWIn10 WSL2のdebian上でmakeを実行すると、 Compiler Errorが発生します。 Zig7.1、 Zig8.0、Zig 8.1では発生しませんでした。

https://ziglang.org/builds/zig-linux-x86_64-0.9.0-dev.1433+4a76523b9.tar.xz

エラーメッセージは以下の通りです。

$ make ruby ../tecsgen/tecsgen.rb ../sample/sample1.cdl -R -I. -I../include -I../target/ct11march/arm_gcc/common -I../arch/gcc -I.. -I../sample -I./gen -I../tecs_kernel --cpp "arm--DTARGET_ARCH_ARM=6 -DTOPPERS_USE_QEMU -I. -I../include -I../target/ct11mpcore_gcc -c/common -I../arch/gcc -I.. -I../sample -I./gen -I../tecs_kernel -D TECSGEN -E" -g ./ge tecsgen version 1.8.RC10 /home/ykominami/repo/asp3_in_zig/tecsgen/tecslib/core/componentobj.rb:7973: warning: Initable dir /mnt/c/Users/ykomi/cur/athrill/athrill/bin/linux in PATH, mode 040777 ../tecs_kernel/kernel.cdl:56:49: warning: W3003 p_exinf pointer level mismatch 1 warning ruby ../cfg/genTecsCfg.rb \ --api-table ../kernel/kernel_api.def gen/tecsgen.cfg [genTecsCfg.rb] Generated gen/tecsgen_cfg.zig make[1]: Entering directory '/home/ykominami/repo/asp3_in_zig/OBJ-ARM' zig build-obj -femit-bin=objs/sample1_cfg.o -O ReleaseSafe --cache-dir zig-cache --mainfunction-sections -target arm-freestanding-eabi -mcpu mpcore -DTARGET=\"ct11mpcore_gcc.\" -DTECSGENDIR=\"OBJ-ARM/gen\" -DTARGET_ARCH_ARM=6 -DTOPPERS_USE_QEMU -I. -I../incet/ct11mpcore_gcc -I../arch/arm_gcc/common -I../arch/gcc -I.. -I../sample -I./gen -I../sample/sample1_cfg.zig ../sample/sample1_cfg.zig:9:42: error: @import operand must be a string literal const tecs = @import("../" ++ TECSGENDIR ++ "/tecsgen_cfg.zig"); ^ ../sample/sample1_cfg.zig:22:33: error: use of undeclared identifier 'CfgData' fn configuration(comptime cfg: *CfgData) void { ^ ../sample/sample1_cfg.zig:73:24: error: use of undeclared identifier 'CfgData' comptime var cfg = CfgData{}; ^ make[1]: [Makefile:469: objs/sample1_cfg.o] Error 1 make[1]: Leaving directory '/home/ykominami/repo/asp3_in_zig/OBJ-ARM' make: [Makefile:244: all] Error 2

hiroakitakada commented 3 years ago

報告ありがとうございます。 zig 0.9.0-dev系では,@importの仕様に変更があったらしく,現在のASP3 in Zigはコンパイルできません。ASP3 in Zigの実装方針の基本に関わる問題なので,対応方法を根本的に再検討する必要があります。

hiroakitakada commented 3 years ago

もう少し詳しいことは,TOPPERS開発者会議で報告します。