AdaCore / gnat-llvm

LLVM based GNAT compiler
179 stars 18 forks source link

Build fail on Fedora 40 ( and 39) #41

Closed YaoFei509 closed 4 months ago

YaoFei509 commented 4 months ago

make -C llvm-interface build gnatlib-automated make[1]: 进入目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” mkdir -p obj obj-tools/libgnat bin gnat_src/vast for f incd /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src; ls gen_il.ad? xutil.ad? -tmpl xoscons.adb xsnamest.adb`; \ do \ cp -p /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/$f obj-tools; \ done cd obj-tools && gnatmake -q -j0 xoscons xsnamest && ./xsnamest && \ mv -f snames.ns ../obj/snames.ads && mv -f snames.nb ../obj/snames.adb && \ gnatmake -g -q -j0 gen_il-main.adb -I../obj -Ilibgnat && ./gen_il-main && \ mv -f nmake.adb nmake.ads seinfo.ads sinfo-nodes.ads sinfo-nodes.adb einfo-entities.ads einfo-entities.adb ../obj for f in ../link.c s-pehage.adb s-pehage.ads s-rident.ads s-utf_32.adb s-utf_32.ads gnat.ads g-byorma.adb g-casuti.adb g-casuti.ads g-comlin.adb g-comlin.ads g-ctrl_c.adb g-ctrl_c.ads g-dirope.adb g-dynhta.adb g-dynhta.ads g-graphs.adb g-graphs.ads g-hesora.adb g-htable.adb g-io.adb g-io_aux.adb g-io_aux.ads g-lists.adb g-lists.ads g-os_lib.adb g-os_lib.ads g-regexp.ads g-sets.adb g-sets.ads g-spchge.adb g-speche.adb g-string.ads g-u3spch.adb; do \ ln -sf /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/libgnat/$f obj; \ done ./check_for_LLVM_aliasing_bug.sh using LLVM with the aliasing bug, will pessimize slightly the optimized code gprbuild -v -n -Pgnat_llvm -j0 \ -largs -L/usr/lib64 -lLLVM-18 -rdynamic -cargs:c++ -I/usr/include -std=c++17 -fno-exceptions -funwind-tables -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnat1drv.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_wrapper.adb Changing to object directory of "GNAT_LLVM_C": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/g++ -c -x c++ -g -I/usr/include -std=c++17 -fno-exceptions -funwind-tables -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MMD -MF llvm_wrapper.d -specs=/tmp/GPR.12430/GNAT-TEMP-000007.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc /usr/bin/gcc -c -x c -g -MMD -MF link.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/link.c /usr/bin/gcc -c -x c -g -MMD -MF targext.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/targext.c /usr/bin/gcc -c -x c -g -MMD -MF gcc_missing.d -specs=/tmp/GPR.12430/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_missing.c Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/gnat.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/g-os_lib.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000011.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnatvsn.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target_machine.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-types.ads /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/atree.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/back_end.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/checks.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000011.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/comperr.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/csets.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/debug.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000014.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/elists.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000013.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/errout.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000012.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/exp_cg.adb /usr/bin/gcc -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GPR.12430/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GPR.12430/GNAT-TEMP-000014.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/fmap.adb /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc:26:10: 致命错误:llvm/Support/AArch64TargetParser.h:没有那个文件或目录 26 | #include "llvm/Support/AArch64TargetParser.h" | ^~~~~~~~ 编译中断。 gnatllvm-gltype.ads:500:07: error: no candidate interpretations match the actuals: gnatllvm-gltype.ads:500:41: error: expected type "GL_Type" defined at gnatllvm.ads:228 gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499 gnatllvm-gltype.ads:500:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401 gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925 gnatllvm-glvalue.ads:846:07: error: "Is_Address_Compatible_Type" is undefined (more references follow) gnatllvm-types.ads:282:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401 gnatllvm-types.ads:282:41: error: found type "Node_Id" defined at types.ads:403

compilation of back_end.adb failed compilation of llvm_wrapper.cc failed

gprbuild: compilation phase failed make[1]: [Makefile:87:build] 错误 4 make[1]: 离开目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” make: *** [Makefile:2:all] 错误 2

`

YaoFei509 commented 4 months ago

In Ubuntu 23.10 x86_64 make -C llvm-interface build gnatlib-automated make[1]: 进入目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” mkdir -p obj obj-tools/libgnat bin gnat_src/vast for f incd /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src; ls gen_il.ad? xutil.ad? -tmpl xoscons.adb xsnamest.adb`; \ do \ cp -p /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/$f obj-tools; \ done cd obj-tools && gnatmake -q -j0 xoscons xsnamest && ./xsnamest && \ mv -f snames.ns ../obj/snames.ads && mv -f snames.nb ../obj/snames.adb && \ gnatmake -g -q -j0 gen_il-main.adb -I../obj -Ilibgnat && ./gen_il-main && \ mv -f nmake.adb nmake.ads seinfo.ads sinfo-nodes.ads sinfo-nodes.adb einfo-entities.ads einfo-entities.adb ../obj for f in ../link.c s-pehage.adb s-pehage.ads s-rident.ads s-utf_32.adb s-utf_32.ads gnat.ads g-byorma.adb g-casuti.adb g-casuti.ads g-comlin.adb g-comlin.ads g-ctrl_c.adb g-ctrl_c.ads g-dirope.adb g-dynhta.adb g-dynhta.ads g-graphs.adb g-graphs.ads g-hesora.adb g-htable.adb g-io.adb g-io_aux.adb g-io_aux.ads g-lists.adb g-lists.ads g-os_lib.adb g-os_lib.ads g-regexp.ads g-sets.adb g-sets.ads g-spchge.adb g-speche.adb g-string.ads g-u3spch.adb; do \ ln -sf /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/libgnat/$f obj; \ done ./check_for_LLVM_aliasing_bug.sh using LLVM with the aliasing bug, will pessimize slightly the optimized code gprbuild -v -n -Pgnat_llvm -j0 \ -largs -L/usr/lib/llvm-16/lib -lLLVM-16 -rdynamic -cargs:c++ -I/usr/lib/llvm-16/include -std=c++17 -fno-exceptions -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnat1drv.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_wrapper.adb Changing to object directory of "GNAT_LLVM_C": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/g++-13 -c -x c++ -g -I/usr/lib/llvm-16/include -std=c++17 -fno-exceptions -D_GNU_SOURCE -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MMD -MF llvm_wrapper.d -specs=/tmp/GNAT-TEMP-000007.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/llvm_wrapper.cc /usr/bin/gcc-12 -c -x c -g -MMD -MF link.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/link.c /usr/bin/gcc-12 -c -x c -g -MMD -MF targext.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/targext.c /usr/bin/gcc-12 -c -x c -g -MMD -MF gcc_missing.d -specs=/tmp/GNAT-TEMP-000009.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gcc_missing.c Changing to object directory of "Gnat_LLVM": "/home/yaofei/src/github/gnat-llvm/llvm-interface/obj/" /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/gnat.ads /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/obj/g-os_lib.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/gnatvsn.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm.ads /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm/adainclude/llvm-target_machine.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000004.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/atree.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000005.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/back_end.adb /usr/bin/gcc-13 -c -x ada -gnatA -g -gnatg -gnata -gnateE -gnatec=/tmp/GNAT-TEMP-000003.TMP -gnatec=/home/yaofei/src/github/gnat-llvm/llvm-interface/gnat.adc -gnatem=/tmp/GNAT-TEMP-000010.TMP /home/yaofei/src/github/gnat-llvm/llvm-interface/gnat_src/checks.adb gnatllvm-gltype.ads:500:07: error: no candidate interpretations match the actuals: gnatllvm-gltype.ads:500:41: error: expected type "GL_Type" defined at gnatllvm.ads:228 gnatllvm-gltype.ads:500:41: error: found type "Node_Id" defined at types.ads:403 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at line 499 gnatllvm-gltype.ads:500:41: error: ==> in call to "Is_Constr_Array_Subt_With_Bounds" at gnatllvm-glvalue.ads:925 gnatllvm-glvalue.ads:846:07: error: "Is_Address_Compatible_Type" is undefined (more references follow) gnatllvm-types.ads:282:41: error: expected type "GL_Value" defined at gnatllvm-glvalue.ads:401 gnatllvm-types.ads:282:41: error: found type "Node_Id" defined at types.ads:403

compilation of back_end.adb failed

gprbuild: compilation phase failed make[1]: [Makefile:87:build] 错误 4 make[1]: 离开目录“/home/yaofei/src/github/gnat-llvm/llvm-interface” make: *** [Makefile:2:all] 错误 2 `

ArnaudCharlet commented 4 months ago

The error on back_end.adb likely means you are not using matching GNAT (GCC) sources (a mismatch between gnat-llvm and gcc sources). The error on llvm_wrapper.cc is probably an incomplete LLVM install.