LoginSignup
4
1

More than 3 years have passed since last update.

MacにROS2をインストールして、デモ実行で大量のエラーが表示されるときの対処法

Posted at

1. はじめに

MacにROS2をインストールする際に、インストールは特に問題なく終わったのですが、デモを実行した時に大量のエラーが出て動かなかった時に対処した方法を備忘録として残しておきます。

2. 環境

Mac : Mojave 10.14.6
ROS2 : Dashing

3. インストール

インストールはROS2のインストールドキュメントの通りに行いました。

4. 症状

インストール後の動作確認として以下のコマンドを実行したところで、エラーが発生しました。

実行コマンド
$ ros2 run demo_nodes_cpp talker
エラーメッセージの一部
The C extension '/Users/"ユーザー名"/ros2_install/ros2-osx/lib/python3.7/site-packages/rclpy/_rclpy.cpython-37m-darwin.so' fai
led to be imported while being present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/#im
port-failing-even-with-library-present-on-the-system' for possible solutions                                             
dyld: Library not loaded: /usr/local/opt/poco/lib/libPocoFoundation.63.dylib                                             
  Referenced from: /Users/"ユーザー名"/ros2_install/ros2-osx/lib/librosidl_typesupport_c.dylib                                
  Reason: image not found 

「/usr/local/opt/poco/lib/libPocoFoundation.63.dylib」がロードできないと言われているので、確認してみると、libPocoFoundation.63.dylibはなく、「/usr/local/opt/poco/lib/libPocoFoundation.64.dylib」がありました。
とりあえず以下のコマンドでシンボリックリンクを貼ったところ怪しいメッセージは出つつもデモが動作しました。

シンボリックを貼るコマンド
$ ln -s libPocoFoundation.64.dylib libPocoFoundation.63.dylib
再度デモを実行した時の状態
$ ros2 run demo_nodes_cpp talker                                                                                    
Failed to load entry point 'test': No module named 'yaml'                                                                
Failed to load entry point 'launch': No module named 'yaml'                                                              
Failed to load entry point 'send_goal': No module named 'yaml'                                                           
Failed to load entry point 'list': No module named 'yaml'                                                                
Failed to load entry point 'load': No module named 'yaml'                                                                
Failed to load entry point 'standalone': No module named 'yaml'                                                          
Failed to load entry point 'types': No module named 'yaml'                                                               
Failed to load entry point 'unload': No module named 'yaml'                                                              
Failed to load entry point 'delete': No module named 'yaml'                                                              
Failed to load entry point 'get': No module named 'yaml'                                                                 
Failed to load entry point 'set': No module named 'yaml'                                                                 
Failed to load entry point 'create': No module named 'catkin_pkg'                                                        
Failed to load entry point 'create_key': No module named 'lxml'                                                          
Failed to load entry point 'create_keystore': No module named 'lxml'                                                     
Failed to load entry point 'create_permission': No module named 'lxml'                                                   
Failed to load entry point 'distribute_key': No module named 'lxml'                                                      
Failed to load entry point 'generate_artifacts': No module named 'lxml'                                                  
Failed to load entry point 'generate_policy': No module named 'lxml'                                                     
Failed to load entry point 'list_keys': No module named 'lxml'                                                           
Failed to load entry point 'call': No module named 'yaml'                                                                
Failed to load entry point 'echo': No module named 'yaml'                                                                
Failed to load entry point 'pub': No module named 'yaml'                                                                 
[INFO] [talker]: Publishing: 'Hello World: 1'                                                                            
[INFO] [talker]: Publishing: 'Hello World: 2'                                                                            
[INFO] [talker]: Publishing: 'Hello World: 3'   

完全な対症療法でとりあえず動きましたが、原因はなんなのか良くわかっていないので、気が向いたら調べてみようと思います。Ubuntu18.04ではサクッと動いたのに・・・。

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1