ほんとにしょーもないネタなんですが、ROSをshでインストールしたらcatkin_makeができなくって1時間ぐらいごちゃごちゃした挙句、なんか解決した話です。
適当なROSっぽい画像が無くってアイキャッチはESP32。
問題が起こった経過
ROSの環境構築といくつかのパッケージをインストールする作業を自動化したかったので、シェルスクリプトを作りました。
スクリプトは無事に動いてroscoreもちゃんと起動したんですが、そのあと手動でいくつかのパッケージをcatkin_wsに放り込みcatkin_makeしようとしたところ……catkin_makeができません。
make中にエラーが出てきてなんちゃら……ではなく、そもそも”catkin_”まで入力した後tabを連打しても出てくるリストの中にcatkin_makeが無いんですね。
catkin_create_pkgなんかはあるのに……。
とにかくこんなパターンは初めてだったので、調べて以下の記事を見つけました。
同じように、
$ sudo apt install catkin
とかやってみましたが、結果は上述のサイトと同じように、
パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 インストールすることができないパッケージがありました。おそらく、あり得 ない状況を要求したか、(不安定版ディストリビューションを使用しているの であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移 動されていないことが考えられます。 以下の情報がこの問題を解決するために役立つかもしれません: 以下のパッケージには満たせない依存関係があります: catkin : 依存: python-catkin-pkg しかし、インストールされようとしていません E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
となっただけです。
そもそも私、ROSセットアップ用に作ったシェルの中でcatkin_make叩いてるんですよ!
しかもそれは普通に通ってるんですよ!
というわけでcatkinが正しくセットアップされていない可能性は低いんじゃないかという状況でした。
$ sudo aptitude install catkin
もやってみましたが、ROSを消し飛ばすという解決法しか提案してくれません。
AnacondaとROSが競合するのは稀によく聞くな話ですが、Anaconda使ってないのでそれも関係ないでしょう。
状況まとめ
というわけで、状況をまとめると以下のようになります。
- ROSをシェルスクリプトでインストールした
- シェルスクリプト実行時にはcatkin_makeできている
- catkin_makeがコマンド不明扱い
- catkin_create_pkgなど、いくつかのcatkinコマンドは存在する
- apt install catkinはエラー
- aptitudeもダメ
- Anacondaは関係ない
たぶん重要なのは上3つくらいです。
解決法
で、色々やってもダメだったので「とりあえずやってみっかー」ぐらいの気持ちで何も期待せずに再起動しました。
そしたら治りました。
え、まさかなんかパス通ってなかった系なんでしょうか??
でもshだと通ってましたよね……?
なんだかよく分かりませんが治ったんでヨシとします。
困ったら再起動。
再起動です。
コメント