前提・実現したいこと
Mac初心者です。
Macでは「pip install pyrealsense2」は対応していないようで難航しています。
補足情報に載せているサイトを参考に、Macでもpyrealsense2を使おうとサイトの内容通りにするとエラーが発生しました。
コマンドの意味などを確認しながら進めていきましたが、ここで詰んでいます。
エラーが発生したため、その後のコマンドも通りません。
どうかお力をお貸しください。
発生している問題・エラーメッセージ
-- Configuring incomplete, errors occurred!
以下に再度試した際の画面状態の写真を載せます。
試したこと
librealsenseがgit clone出来ているかlsコマンドで確認した。
エラーが発生した後のコマンドを入力して、先に進めるか試してみた。
補足情報(FW/ツールのバージョンなど)
git cloneで落とし込んだファイル> https://github.com/IntelRealSense/librealsense
引用テキスト> https://qiita.com/comachi/items/14b358568365bc5ee474
エラーメッセージに
「Could NOT find OpenSSL」
とありますけど、お使いのMacにopensslは入ってますか?
ご指摘ありがとうございます。「which openssl」を実行すると「usr/bin/openssl」と返ってきました。また、「openssl version」を実行すると「OpenSSL 1.1.1K」と返ってくるので入っていると思います。
エラーメッセージに
「try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR」
とありますので、openssl関連のいろいろが入ってるところの一番てっぺんのディレクトリパスを、「OPENSSL_ROOT_DIR」という変数に設定すれば、見つけてくれるみたいです
たとえば、「/usr/local/ssl」の下に「include」とか「lib」とか「bin」とかのディレクトリがあって、それらの中にヘッダファイルとかライブラリとかいろいろ入っている場合は、おそらく「/usr/local/ssl」をその変数に設定するのだと思います
cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl
みたいに
> 「which openssl」を実行すると「usr/bin/openssl」
/usr/bin ということは、それはおそらくOS同梱のやつですよね
その場合は、どこを設定するのだろう?
/usr/lib に、ファイル名に libssl とか付いてるライブラリファイルはありますか?
/usr/include に、ディレクトリ名に openssl とか付いてるディレクトリはありますか?
もしそれらがあるなら、/usr を変数に設定したらいけるかも??
https://stackoverflow.com/questions/16248775/cmake-not-able-to-find-openssl-library
のAnswerの中に、Macでは
brew install openssl
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib
で直った、というのがありますね
ただし、コメント見ると「OPENSSL_LIBRARIES」の指定は要らないみたいですが
色々と教えていただきありがとうございます。
進展があり次第投稿致します。
opensslを/usr/local/opt/openssl@1.1/bin/opensslに置き、再度挑戦したところやはり上の画像と同じ内容のエラーを出しました。
その後アドバイス通り「cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl」を実行してみましたが、これにもエラーが出ました。エラー内容は以下の通りです。
「CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.
CMake Error: The source directory "/Users/✖︎✖︎✖︎✖︎" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.」
エラー内容からするとCMakeLists.txtがホームディレクトリに含まれないようだとのことですので、確認したところCMakeLists.txtは「~/librealsense」の下にありました。この場合どういった対処をすれば良いのでしょうか。
cmakeは、実行した結果をファイルに保存して、次回以降も使います
それによって、PC内の環境を調べる時間を節約するのですが、何かが足りない状態でcmakeを実行したら、その足りない状態の環境が保存されるので、それ以降に何かを追加してもそれが反映されないかもしれません
以前cmakeを実行した時にcmakeによって作成されたものを全部削除してから、cmakeを再実行することをお勧めします
どれがcmakeが作成したものかがよく分からなければ、今作業しているディレクトリツリーは全削除して、ネットから落としたソースアーカイブを展開するところからやり直した方が早いかも
ただし、自分で何かやったこと(ファイル修正したとか)があるなら、それは後で参照できるように、別の場所に保管してください
cmakeはそんな仕様になっていたのですね。教えてくださりありがとうございます。
と言うことは私の場合は「~/librealsense/build」においてcmakeを何度も行ってしまったので、buildディレクトリの内容を一度削除すれば良いのでしょうか。それともlibrealsenseから削除するべきでしょうか。
buildだけ削除でも大丈夫かもしれませんが、分からないです
一旦buildだけ削除して、buildを作るところからやり直してみて、それでもダメならlibrealsenseを全削除したら、いかがでしょうか
繰り返しますけど、他から足したファイルがあるとか、アーカイブ展開以降に何か自分でやってたことがあるなら、それをもう一度再現できるようにしておいてくださいね
削除したので分からなくなった~、とかならないように
わかりました。本当にいろいろと教えていただきありがとうございます。
試してみます。
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl
は、上記をそのまま実行するのではなく、cmake実行時にそれを追加する、という意味です
現状、下記の実行時にエラーが出てますよね
cmake .. -DBUILD_EXAMPLES=true…
上記では省略して書いてますが、実際は後ろにいろいろ付いて長い行になってますよね
そこに「-DOPENSSL_ROOT_DIR=…」をさらに追加してください
成功しました!
結局のところlibrealsenseからディレクトリを削除し、git cloneでダウンロードするところから再開しました。buildまで作ったのち、以下の内容を実行したところ成功しました。
cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -DBUILD_PYTHON_BINDINGS=true -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DPYTHON_EXECUTABLE:FILEPATH=/Users/✖︎✖︎✖︎✖︎/.pyenv/shims/python3 -G "Unix Makefiles"
jbpb0さんをベストアンサーにしたいので、なんでも良いので回答に書いてもらえればと思います。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー