私は「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/bin
PATH環境変数に含まれていないからだと思いますが、本ではこれを追加する方法については何も言いません。
英語は私の母国語ではありません。
ベストアンサー1
これはツールチェーン構築の最初のステップであるため、環境はホストオペレーティングシステムに大きく依存します。
章で2.2 ホストシステムの要件2つのスクリプトがあります。
version-check.sh
- lfsに重要なすべてのパッケージの印刷バージョンlibrary-check.sh
- gmp、mpfr、mpcライブラリの確認
両方を実行し、本に提供されているバージョンと比較して結果を確認しましたか?
あなたが得るエラーは次のとおりです。
次の主なプログラムが存在しないか古すぎます:gawk
それは簡単です。ホストオペレーティングシステムが古すぎますgawk
。
編集:更新していただきありがとうございます。したがって、gawk
ホストOSのバージョンは大丈夫です。しかし、問題はまだホストOSです。奇妙な理由から、一部のパッケージには一般ユーザー(lfs)がアクセスできないため、ホストOSはシステム要件を満たしていません。 lfs側では修正する部分はありません。ホストOSを回復する必要があります。たぶんこのパッケージを再インストールする必要がありますか?