Ada gprbuild 在初始化时挂起

Ada gprbuild hangs on initialization

我不知道为什么我的 gprbuild 突然卡住了。这是复制我所看到的内容的一种非常简单的方法:

mkdir test
mkdir build
printf 'with Ada.Text_IO; use Ada.Text_IO;\nprocedure Main is begin Put_Line ("Hello, World!"); end Main;' > test/main.adb
printf 'project Test is\n    for Source_Dirs use ("test");\n    for Object_Dir use "build";\n    for Exec_Dir use ".";\n    for Main use ("main.adb");\n    package Builder is\n        for Executable ("main.adb") use "host";\n    end Builder;\nend Test;' > test.gpr
gprbuild -Ptest # This hangs forever

执行后的文件内容:

test/main.adb

with Ada.Text_IO; use Ada.Text_IO;
procedure Main is begin Put_Line ("Hello, World!"); end Main;

test.gpr

project Test is
    for Source_Dirs use ("test");
    for Object_Dir use "build";
    for Exec_Dir use ".";
    for Main use ("main.adb");
    package Builder is
        for Executable ("main.adb") use "host";
    end Builder;
end Test;

结果是没有任何输出,必须使用 ^C 终止进程。

我用 -v 标志再次 运行 它,发现它挂在 gprconfig --batch -o /some/directory/src/build/GNAT-TEMP-000001.TMP --target=x86_64-linux --config=ada,, 上。 env的结果是:

HADOOP_LOG_DIR=/tmp/hadoop/log
LANG=en_CA.utf8
DISPLAY=:0
COLORTERM=truecolor
LCLIMPORTDIR=/usr/share/splint/imports
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
HADOOP_SLAVES=/etc/hadoop/slaves
TERMINAL=xfce4-terminal
XDG_VTNR=1
XDG_SESSION_ID=c1
USER=user
GRADLE_HOME=/usr/share/java/gradle
PWD=/home/user
HOME=/home/user
HADOOP_CONF_DIR=/etc/hadoop
SPARK_HOME=/opt/apache-spark
arch=x86_64
MAIL=/var/spool/mail/user
VISUAL=gvim
WINDOWPATH=1
TERM=xterm-termite
SHELL=/bin/bash
VTE_VERSION=4803
HADOOP_PID_DIR=/tmp/hadoop/run
XDG_SEAT=seat0
SHLVL=3
WINDOWID=71303171
LOGNAME=user
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/home/user/.Xauthority
ANT_HOME=/usr/share/apache-ant
LARCH_PATH=/usr/share/splint/lib
PATH=/home/user/bin:/usr/lib/hardening-wrapper/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/android-sdk/platform-tools:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/user/.gem/ruby/2.4.0/bin
_=/usr/bin/env

我想知道我的 GPR 安装是否有问题?或者我的环境变量。

原来问题出在我的 PATH 中太多了。 gprbuild 正在查看所有目录并尝试一些长 运行 命令以查看它们是否是正确的编译器。

感谢让-弗朗索瓦·法布尔的建议。