スクラップエラーのLinux "この重要なプログラムが存在しないか古すぎます:gawk"

スクラップエラーのLinux

私は「Linux from Scratch」の本のバージョン8.0に従い、セクション(5.7.Glibc-2.25)に達しました。設定しようとすると、glibc次のエラーが発生します。

次の主なプログラムが存在しないか古すぎます:gawk

gawk端末に書き込むと、次の結果が表示されます。

Command 'gawk' is available in '/usr/local/bin/gawk'
The command could not be located because '/usr/local/bin' is not included in the PATH environment variable.
gawk: command not found

この本の前半の31ページの4.5節には、次のように記載されています。

ここで .bashrc ファイルを作成します。

cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF

私はやった。

修正する:

version-check.shスクリプトの実行本のセクション2.2ユーザーlfsが提供したように:

bash, version 4.3.46(1)-release  
/bin/sh -> /bin/bash
Binutils: (GNU Binutils for Ubuntu) 2.27
version-check: line 10: bison: command not found
/usr/bin/yacc -> /usr/bin/bison
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.25
diff (GNU diffutils) 3.3
find (GNU findutils) 4.7.0-git
version-check: line 22: gawk: command not found
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
g++ (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
(Ubuntu GLIBC 2.24-3ubuntu1) 2.24
grep (GNU grep) 2.25
gzip 1.6
Linux version 4.8.0-41-generic (buildd@lgw01-18) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #44-Ubuntu SMP Fri Mar 3 15:27:17 UTC 2017
m4 (GNU M4) 1.4.17
GNU Make 4.1
GNU patch 2.7.5
Perl version='5.22.2';
sed (GNU sed) 4.2.2
tar (GNU tar) 1.29
version-check: line 42: makeinfo: command not found
xz (XZ Utils) 5.1.0alpha
g++ compilation OK

ただし、ルートと同じスクリプトを実行すると、次のようになります。

bash, version 4.3.46(1)-release
/bin/sh -> /bin/bash
Binutils: (GNU Binutils for Ubuntu) 2.27
bison (GNU Bison) 2.3
/usr/bin/yacc -> /usr/bin/bison
bzip2,  Version 1.0.6, 6-Sept-2010.
Coreutils:  8.25
diff (GNU diffutils) 3.3
find (GNU findutils) 4.7.0-git
GNU Awk 4.0.1
/usr/bin/awk -> /usr/bin/gawk
gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
g++ (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005
(Ubuntu GLIBC 2.24-3ubuntu1) 2.24
grep (GNU grep) 2.25
gzip 1.6
Linux version 4.8.0-41-generic (buildd@lgw01-18) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #44-Ubuntu SMP Fri Mar 3 15:27:17 UTC 2017
m4 (GNU M4) 1.4.17
GNU Make 4.1
GNU patch 2.7.5
Perl version='5.22.2';
sed (GNU sed) 4.2.2
tar (GNU tar) 1.29
texi2any (GNU texinfo) 6.3
xz (XZ Utils) 5.1.0alpha
g++ compilation OK

私の考えは/usr/local/binPATH環境変数に含まれていないからだと思いますが、本ではこれを追加する方法については何も言いません。

英語は私の母国語ではありません。

ベストアンサー1

これはツールチェーン構築の最初のステップであるため、環境はホストオペレーティングシステムに大きく依存します。

章で2.2 ホストシステムの要件2つのスクリプトがあります。

  • version-check.sh- lfsに重要なすべてのパッケージの印刷バージョン
  • library-check.sh- gmp、mpfr、mpcライブラリの確認

両方を実行し、本に提供されているバージョンと比較して結果を確認しましたか?

あなたが得るエラーは次のとおりです。

次の主なプログラムが存在しないか古すぎます:gawk

それは簡単です。ホストオペレーティングシステムが古すぎますgawk

編集:更新していただきありがとうございます。したがって、gawkホストOSのバージョンは大丈夫です。しかし、問題はまだホストOSです。奇妙な理由から、一部のパッケージには一般ユーザー(lfs)がアクセスできないため、ホストOSはシステム要件を満たしていません。 lfs側では修正する部分はありません。ホストOSを回復する必要があります。たぶんこのパッケージを再インストールする必要がありますか?

おすすめ記事