![스크랩 오류의 Linux "이 중요한 프로그램이 없거나 너무 오래되었습니다: gawk"](https://linux55.com/image/107615/%EC%8A%A4%ED%81%AC%EB%9E%A9%20%EC%98%A4%EB%A5%98%EC%9D%98%20Linux%20%22%EC%9D%B4%20%EC%A4%91%EC%9A%94%ED%95%9C%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%B4%20%EC%97%86%EA%B1%B0%EB%82%98%20%EB%84%88%EB%AC%B4%20%EC%98%A4%EB%9E%98%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20gawk%22.png)
나는 "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 호스트 시스템 요구사항두 가지 스크립트가 있습니다:
version-check.sh
- lfs에 중요한 모든 패키지의 인쇄 버전library-check.sh
- gmp, mpfr 및 mpc 라이브러리 확인
두 가지를 모두 실행하고 책에 제공된 버전과 비교하여 결과를 확인했습니까?
당신이 얻는 오류는 다음과 같습니다.
다음 주요 프로그램이 없거나 너무 오래되었습니다: gawk
그것은 간단합니다. 호스트 운영 체제가 너무 오래되었습니다 gawk
.
편집: 업데이트해 주셔서 감사합니다. 따라서 gawk
호스트 OS의 버전은 괜찮습니다. 그러나 문제는 여전히 호스트 OS입니다. 이상한 이유로 일부 패키지는 일반(lfs) 사용자가 액세스할 수 없으므로 호스트 OS가 시스템 요구 사항을 충족하지 않습니다. lfs 쪽에서는 수정할 부분이 없습니다. 호스트 OS를 복구해야 합니다. 어쩌면 이 패키지를 다시 설치해야 할까요?