##結論
動きました
##概要
macのOSをcatalinaにアップデートしたらROS2動かすまでにいろいろめんどくさかったのでメモ
##環境
- mac OS 10.15.1 Catalina
- ROS2 Dashing
- bash
##colcon buildが通らない
以下のようなエラーが出てcolcon buildが失敗します
admin$ colcon build --packages-select image_tools
Starting >>> image_tools
--- stderr: image_tools
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
---
Failed <<< image_tools [ Exited with code 1 ]
調べるとgitなど他のツールでも同様の症状が出るようです(そっちは試してなかった)
以下の記事にある解決策で解決可能です(多謝)
macOS CatalinaにしたらGitコマンドが動かなくなった
##ros2 runがセキュリティ云々で実行できない
ros2 runしようとすると、以下のようなエラーダイアログが出てきます
これがめちゃくちゃ鬱陶しくて、キャンセルしてもキャンセルしても出現しやがります。
こいつを出てこなくするためには
- このダイアログが出ている状態にする
-
ros2 run
を実行したターミナル画面を選択し、ctrl+Cを入力する - その後ダイアログに戻り、キャンセルする
あるいはros2 run
を実行したターミナルを終了してももちろんOKです
この現象が発生しないようにするためには、よくやるやり方でセキュリティ制約を解除してやれば良いです
りんごマーク
↓
システム環境設定
↓
セキュリティとプライバシー 「一般」タブ
↓
「このまま許可」を押す
(カギの解錠は不要です)
これをやった後にもう一度ros2 run
すると、今度は_rclpy.cpython...を「開く」できるようになるので開きます
・・・と他のプログラムも同様に引っかかります
・・・などなど
「セキュリティとプライバシー」ウィンドウを開きっぱなしにしておくと、引っかかった奴が逐一出てくるのでぽちぽちと次々許可していきます
・・・としていたのですが無限に出てきて一向に動く気配がないので一斉に許可できないか探しました。
ありました
Mac - すべてのアプリケーションの実行を許可 - PC設定のカルマ (多謝)
https://pc-karuma.net/macos-sierra-allow-apps-from-anywhere/
ここに書いてあるコマンドを入れると、「全てのアプリケーションを許可」項目が出現します。
これをすると動きました。やったね!
(これでもセキュリティ的にやばくなるの大丈夫なんかな)
##まとめ
やらないといけないこととして
- xcode関連のツールの再インストール
- セキュリティ関連の許可
かなという感じです
ちなみに、実行できませんダイアログで「ゴミ箱に入れる」をするとあとでだいぶめんどくさいことになります。ご注意ください