FreeBSD의 Gmake: exec: 'clang': $PATH에서 실행 파일을 찾을 수 없습니다.

FreeBSD의 Gmake: exec: 'clang': $PATH에서 실행 파일을 찾을 수 없습니다.

PfSense 2.4.5에 Filebeat(elasticsearch 로그 전달)를 설치하려고 합니다. 나는 다음 지침을 따랐습니다.https://blog.securitybits.io/2019/12/beats-7.5.0-on-pfsense-2.4.4/make 단계에서 문제가 발생합니다.

# cd filebeat/
# gmake
go build -ldflags "-X github.com/elastic/beats/libbeat/version.buildTime=2020-05-18T08:05:30Z -X github.com/elastic/beats/libbeat/version.commit=6a23e8f8f30f5001ba344e                                        4e54d8d9cb82cb107c"
# github.com/elastic/beats/vendor/github.com/DataDog/zstd
exec: "clang": executable file not found in $PATH
# github.com/elastic/beats/vendor/github.com/elastic/gosigar
exec: "clang": executable file not found in $PATH
gmake: *** [../libbeat/scripts/Makefile:121: filebeat] Error 2

나는 docker와 golang에 대해 잘 모릅니다. 혹시 이 문제를 해결할 수 있는 해결책을 아시는 분은 저에게 공유해주세요. 내 pfSense 상자에 파일비트가 정말 필요합니다. 매우 감사합니다

답변1

배워야 할 첫 번째이자 가장 중요한 교훈은 오류 메시지에 따라 조치를 취하는 것입니다. 다른 질문을 한 지 14시간도 채 지나지 않았습니다.답변오류 메시지에 직접 표시됩니다. 커뮤니티에서는 기꺼이 도와드리며 초보자도 매우 환영합니다. 그러나 우리는 당신을 위해 최소한의 노력을 기울일 것입니다.

어떤 부분이 이해가 안 되는지, 어떤 부분을 직접 시도해 왔는지 설명하는 것이 중요합니다. "파일비트가 필요합니다"만으로는 충분하지 않습니다. 무료 일반 지원 채널이 아닌 귀하의 문제를 이해하는 데 도움을 드리게 되어 기쁘게 생각합니다.

주어진 첫 번째 오류에 집중해 보세요.

exec: "clang": executable file not found in $PATH

모른다면 명령을 배우십시오그 중 (1). 그러면 파일이 검색됩니다 $PATH.

$ which clang
/usr/bin/clang

표시되는 오류 메시지에 따라 아무 것도 찾지 못할 수도 있습니다. 그러나 이것은 중요한 테스트입니다. 아마도 gmake다른 환경과 다른 환경에서일 것입니다 $PATH.

그럼 어떻게 생겼는지 확인해 볼게요 $PATH.

$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:/home/johndoe/bin

우리가 배워야 할 다음 도구는그 중 (1). 이는 귀하의 $PATH.

$ whereis clang
clang: /usr/bin/clang /usr/share/man/man1/clang.1.gz /usr/src/usr.bin/clang

그래도 찾지 못한다면 clang전혀 설치되지 않은 것 같습니다. 이는 최신 FreeBSD 시스템(2015년에 출시된 10.x)에 기본적으로 설치됩니다. 이로 인해 귀하는 귀하가 지정한 지침을 따르지 않고 있다고 믿게 되었습니다. 내 생각에는 제한된 도구 세트가 설치된 pfsense 상자에서 직접 작업하고 있는 것 같습니다. 이것이 바로 우리가 종종 output 을 지정하는 이유입니다 uname -a.

완전한 시스템을 검색하면 한 단계 더 나아갈 수 있습니다. 구경하다포지셔닝(1)

$ locate clang
/usr/bin/clang
/usr/bin/clang++
/usr/bin/clang-cpp
/usr/bin/clang-tblgen
/usr/lib/clang
/usr/lib/clang/8.0.1
...

그리고찾기(1)

$ find /usr -name "clang"
/usr/bin/clang
...

관련 정보