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

私はドッカーとゴランについて知りません。もしこの問題を解決できる解決策をご存知の方は私に共有してください。私の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ボックスで直接作業しているようです。これが私たちがしばしば出力を指定する理由です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
...

関連情報