簡體   English   中英

如何在 Linux 上安裝 gprbuild - Centos7

[英]How to install gprbuild on Linux - Centos7

我最近在我的 Linux 機器(Centos7)上下載了 GNAT 社區。

在 /home/parallels/opt/GNAT/2019 中有一個文件夾 gprbuild,我的理解是要安裝它,我需要執行位於 gprbuild 中的 bootstrap.sh 腳本:/home/parallels/opt/GNAT/2019/ gprbuild/bootstrap.sh

我嘗試像這樣執行 bootstrap.sh 腳本......

[parallels@localhost gprbuild]$./bootstrap.sh

然后我收到此錯誤消息...

./bootstrap.sh: line 87: gnatmake: command not found

這是 bootstrap.sh 腳本...

# bootstrap.sh - a simple bootstrap for building gprbuild with xmlada

progname=bootstrap

prefix=/usr/local
bindir=/bin
datarootdir=/share
libexecdir=/libexec

srcdir=$PWD
xmlada_src=../xmlada

CC=${CC:-cc}
GNATMAKE=${GNATMAKE:-gnatmake}
CFLAGS=${CFLAGS:-$CFLAGS}
GNATMAKEFLAGS=${GNATMAKEFLAGS:--j0}

usage() {
    cat >&2 <<EOF
usage: $progname [options]

Options [defaults in brackets]:
  --prefix=DIR       installation prefix [$prefix]
  --bindir=DIR       user executables [PREFIX/bin]
  --libexecdir=DIR   program executables [PREFIX/libexec]
  --datarootdir=DIR  read-only arch.-independent data root [PREFIX/share]

  --srcdir=DIR       source code path [$PWD]

  --with-xmlada=DIR  xmlada source path [$xmlada_src]

  --build            build only but do not install
  --install          install only, skip build steps

Environment variables:
  CC                 specify C compiler [$CC]
  CFLAGS             set C and Ada compilation flags [$CFLAGS]
  DESTDIR            optional for staged installs
  GNATMAKE           specify gnatmake Ada builder [$GNATMAKE]
  GNATMAKEFLAGS      additional Ada builder flags [$GNATMAKEFLAGS]
EOF
exit 0
}

error() {
    printf -- "%s: $1" "$progname" "${@:2}" >&2
    exit 1
}

while :; do
    case $1 in
        --prefix=?*)      prefix=${1#*=} ;;
        --bindir=?*)      bindir=${1#*=} ;;
        --libexecdir=?*)  libexecdir=${1#*=} ;;
        --datarootdir=?*) datarootdir=${1#*=} ;;

        --srcdir=?*)      srcdir=${1#*=} ;;
        --with-xmlada=?*) xmlada_src=${1#*=} ;;
    --build)          MODE="build";;
    --install)        MODE="install";;

        -h|-\?|--help)    usage ;;

        *=*)              error '%s: Requires a value, try --help\n' "$1" ;;
        -?*)              error '%s: Unknown option, try --help\n' "$1" ;;
        *)                break # End of arguments.
    esac
    shift
done

set -e

inc_flags="-I$srcdir/src -I$srcdir/gpr/src -I$xmlada_src/sax -I$xmlada_src/dom \
-I$xmlada_src/schema -I$xmlada_src/unicode -I$xmlada_src/input_sources"

# Programs to build and install
bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
lib_progs="gprlib gprbind"

# Build
if [ "x"${MODE} == "x" ] || [ ${MODE} == "build" ];
then
    command $CC -c $CFLAGS "$srcdir"/gpr/src/gpr_imports.c

    for bin in $bin_progs; do
        command $GNATMAKE $inc_flags "$bin"-main -o "$bin" $CFLAGS $GNATMAKEFLAGS -largs gpr_imports.o
    done

    for lib in $lib_progs; do
        command $GNATMAKE $inc_flags "$lib" $CFLAGS $GNATMAKEFLAGS -largs gpr_imports.o
    done
fi;

# Install

if [ "x"${MODE} == "x" ]  || [ ${MODE} == "install" ];
then
    mkdir -p "$DESTDIR$prefix$bindir"
    mkdir -p "$DESTDIR$prefix$libexecdir"/gprbuild
    mkdir -p "$DESTDIR$prefix$datarootdir"/gprconfig
    mkdir -p "$DESTDIR$prefix$datarootdir"/gpr

    install -m0755 $bin_progs -t "$DESTDIR$prefix$bindir"
    install -m0755 $lib_progs -t "$DESTDIR$prefix$libexecdir"/gprbuild
    install -m0644 "$srcdir"/share/gprconfig/*.xml -t "$DESTDIR$prefix$datarootdir"/gprconfig
    install -m0644 "$srcdir"/share/gprconfig/*.ent -t "$DESTDIR$prefix$datarootdir"/gprconfig
    install -m0644 "$srcdir"/share/_default.gpr "$DESTDIR$prefix$datarootdir"/gpr/_default.gpr
fi

有人告訴我,我需要在安裝 gprbuild 之前安裝 xmlada,然后我在其他地方讀到我需要安裝 gprbuild 才能安裝 xmlada!

我在嘗試安裝 xmlada 時遇到了類似的問題,xmlada 文件夾中的 shell 腳本稱為 install-sh,當我嘗試安裝它時,我被告知沒有指定輸入文件...

[parallels@localhost xmlada]$ ./install-sh
./install-sh: no input file specified.

我知道這確實是兩個問題,但我覺得我必須這樣解釋,因為我不確定首先需要安裝哪個庫,以及如何實際安裝它們。

任何幫助將不勝感激。 我希望你們周末過得愉快..:)

謝謝,勞埃德

只需安裝 gcc-ada,或在 package 管理器中搜索 gcc-ada(可能會更改其名稱),此 package 中有 gnat* 命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM