ROS2のインストールで手段を選ばない場合

※現状、2019/9/29 Hollo worldのビルドでビルドエラーがでて停止中。

#ROSをWindows10 Homeに入れようとした
前回のエントリーでWindows10にROSを入れようとしましたが、実行してもエラーも出さずに終了してしまうためお手上げです。
実行するOSは何でもいいのですが、Windowsに対して見落としていた色々があったので、メモを残しておきます。

#Docker for WindowsがWindows10 Homeでは動かない
Docker for Windowsをインストールしようとすると、
>Docker for Windowsには、64ビットWindows 10 Pro、EnterpriseおよびEducation（1511年11月の更新、ビルド10586以降）およびMicrosoft Hyper-Vが必要です。前提条件の完全なリストについては、インストールする前に知っておくべきことを参照してください。

とコメントが出てきます。
Windows10上でLinux Kernelベースのコンテナを動かすには、Hyper-Vがないとダメなようです。
Hyper-Vがない場合、Oracle VM VirtualBoxを使うことになります。
Dockerコンテナを使っているのに、仮想マシンのLinuxのコンテナを使ってじゃないと動かないのであれば、潔く仮想マシンを使うべきかもしれません。
Dockerコンテナを使ってみましたが、（私のやる気のなさもあり）インストールしても動きが微妙です。

というわけで、普通にWindows10に仮想マシンを作ってUbuntuをインストールしました。

#ROS2インストール

教科書はこちら

[ROS2ではじめよう次世代ロボットプログラミング](https://www.amazon.co.jp/ROS2%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86-%E6%AC%A1%E4%B8%96%E4%BB%A3%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E8%BF%91%E8%97%A4-%E8%B1%8A/dp/4297107422/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr=)

2-3 ROS2のインストールからそのまんまやっていきます。
一度、Jetson-nanoでやっているので慣れはありますが、Windows10の上のUbuntuで動くかどうかやってみます。

すると、あっさりサンプルまで動きますね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328520/ba90cb31-15fe-4ea6-a97c-5672fe5919fc.png)


#Hellow Worldが動かない
調子に乗って、サンプルをgithubからとってきて動かすと、エラーが発生。


```
--- stderr: hello_world                                       
/home/ros2/get-started-ros2/ros2/hello_world/src/listener.cpp: In constructor ‘Listener::Listener(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/listener.cpp:36:27: warning: ‘std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr, std::shared_ptr<PublisherT>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = Listener::Listener(const string&)::<lambda(std_msgs::msg::String_<std::allocator<void> >::SharedPtr)>&; Alloc = std::allocator<void>; SubscriptionT = rclcpp::Subscription<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’ is deprecated: use create_subscription(const std::string &, const rclcpp::QoS &, CallbackT, ...) instead [-Wdeprecated-declarations]
       topic_name, callback);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/listener.cpp:18:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:139:1: note: declared here
 Node::create_subscription(
 ^~~~
In file included from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:18:0:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_no_main.cpp: In lambda function:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_no_main.cpp:39:27: warning: ‘void rclcpp::Publisher<MessageT, Alloc>::publish(const std::shared_ptr<const _Tp>&) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]’ is deprecated: publishing an unique_ptr is prefered when using intra process communication. If using a shared_ptr, use publish(*msg). [-Wdeprecated-declarations]
         pub_->publish(msg_);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/callback_group.hpp:24:0,
                 from /opt/ros/dashing/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/dashing/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/dashing/include/rclcpp/executor.hpp:33,
                 from /opt/ros/dashing/include/rclcpp/executors/multi_threaded_executor.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:21,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:16:
/opt/ros/dashing/include/rclcpp/publisher.hpp:137:3: note: declared here
   publish(const std::shared_ptr<const MessageT> & msg)
   ^~~~~~~
In file included from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:18:0:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_no_main.cpp: In constructor ‘Talker::Talker(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_no_main.cpp:43:62: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
     pub_ = create_publisher<std_msgs::msg::String>(topic_name);
                                                              ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:16:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
In file included from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:19:0:
/home/ros2/get-started-ros2/ros2/hello_world/src/listener_no_main.cpp: In constructor ‘Listener::Listener(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/listener_no_main.cpp:36:27: warning: ‘std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr, std::shared_ptr<PublisherT>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = Listener::Listener(const string&)::<lambda(std_msgs::msg::String_<std::allocator<void> >::SharedPtr)>&; Alloc = std::allocator<void>; SubscriptionT = rclcpp::Subscription<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’ is deprecated: use create_subscription(const std::string &, const rclcpp::QoS &, CallbackT, ...) instead [-Wdeprecated-declarations]
       topic_name, callback);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_listener_composition.cpp:16:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:139:1: note: declared here
 Node::create_subscription(
 ^~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp: In lambda function:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp:41:27: warning: ‘void rclcpp::Publisher<MessageT, Alloc>::publish(const std::shared_ptr<const _Tp>&) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]’ is deprecated: publishing an unique_ptr is prefered when using intra process communication. If using a shared_ptr, use publish(*msg). [-Wdeprecated-declarations]
         pub_->publish(msg_);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/callback_group.hpp:24:0,
                 from /opt/ros/dashing/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/dashing/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/dashing/include/rclcpp/executor.hpp:33,
                 from /opt/ros/dashing/include/rclcpp/executors/multi_threaded_executor.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:21,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp:20:
/opt/ros/dashing/include/rclcpp/publisher.hpp:137:3: note: declared here
   publish(const std::shared_ptr<const MessageT> & msg)
   ^~~~~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp: In constructor ‘Talker::Talker(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp:44:62: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
     pub_ = create_publisher<std_msgs::msg::String>(topic_name);
                                                              ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service.cpp:20:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp: In lambda function:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp:42:27: warning: ‘void rclcpp::Publisher<MessageT, Alloc>::publish(const std::shared_ptr<const _Tp>&) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]’ is deprecated: publishing an unique_ptr is prefered when using intra process communication. If using a shared_ptr, use publish(*msg). [-Wdeprecated-declarations]
         pub_->publish(msg_);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/callback_group.hpp:24:0,
                 from /opt/ros/dashing/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/dashing/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/dashing/include/rclcpp/executor.hpp:33,
                 from /opt/ros/dashing/include/rclcpp/executors/multi_threaded_executor.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:21,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp:19:
/opt/ros/dashing/include/rclcpp/publisher.hpp:137:3: note: declared here
   publish(const std::shared_ptr<const MessageT> & msg)
   ^~~~~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp: In constructor ‘Talker::Talker(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp:45:62: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
     pub_ = create_publisher<std_msgs::msg::String>(topic_name);
                                                              ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_with_service_param.cpp:19:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp: In lambda function:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp:39:27: warning: ‘void rclcpp::Publisher<MessageT, Alloc>::publish(const std::shared_ptr<const _Tp>&) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]’ is deprecated: publishing an unique_ptr is prefered when using intra process communication. If using a shared_ptr, use publish(*msg). [-Wdeprecated-declarations]
         pub_->publish(msg_);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/callback_group.hpp:24:0,
                 from /opt/ros/dashing/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/dashing/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/dashing/include/rclcpp/executor.hpp:33,
                 from /opt/ros/dashing/include/rclcpp/executors/multi_threaded_executor.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:21,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp:19:
/opt/ros/dashing/include/rclcpp/publisher.hpp:137:3: note: declared here
   publish(const std::shared_ptr<const MessageT> & msg)
   ^~~~~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp: In constructor ‘Talker::Talker(const string&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp:43:62: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
     pub_ = create_publisher<std_msgs::msg::String>(topic_name);
                                                              ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker.cpp:19:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/listener_component.cpp: In constructor ‘hello_world::ListenerComponent::ListenerComponent(const rclcpp::NodeOptions&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/listener_component.cpp:43:26: warning: ‘std::shared_ptr<SubscriptionT> rclcpp::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr, std::shared_ptr<PublisherT>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = hello_world::ListenerComponent::ListenerComponent(const rclcpp::NodeOptions&)::<lambda(std_msgs::msg::String_<std::allocator<void> >::SharedPtr)>&; Alloc = std::allocator<void>; SubscriptionT = rclcpp::Subscription<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<typename rclcpp::subscription_traits::has_message_type<CallbackT>::type, AllocatorT>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’ is deprecated: use create_subscription(const std::string &, const rclcpp::QoS &, CallbackT, ...) instead [-Wdeprecated-declarations]
       "chatter", callback);
                          ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/listener_component.cpp:18:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:139:1: note: declared here
 Node::create_subscription(
 ^~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp: In lambda function:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp:49:27: warning: ‘void rclcpp::Publisher<MessageT, Alloc>::publish(const std::shared_ptr<const _Tp>&) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]’ is deprecated: publishing an unique_ptr is prefered when using intra process communication. If using a shared_ptr, use publish(*msg). [-Wdeprecated-declarations]
         pub_->publish(msg_);
                           ^
In file included from /opt/ros/dashing/include/rclcpp/callback_group.hpp:24:0,
                 from /opt/ros/dashing/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/dashing/include/rclcpp/memory_strategy.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/dashing/include/rclcpp/executor.hpp:33,
                 from /opt/ros/dashing/include/rclcpp/executors/multi_threaded_executor.hpp:24,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:21,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp:19:
/opt/ros/dashing/include/rclcpp/publisher.hpp:137:3: note: declared here
   publish(const std::shared_ptr<const MessageT> & msg)
   ^~~~~~~
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp: In constructor ‘hello_world::TalkerComponent::TalkerComponent(const rclcpp::NodeOptions&)’:
/home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp:53:61: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<std_msgs::msg::String_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
     pub_ = create_publisher<std_msgs::msg::String>("chatter");
                                                             ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/ros2/get-started-ros2/ros2/hello_world/src/talker_component.cpp:19:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
---
Finished <<< hello_world [31.4s]

Summary: 7 packages finished [1min 45s]
  2 packages had stderr output: hello_world libcreate

```

エラーコード長いよ。
gtestがインストールできていないみたいなので、インストールを試みますが、うまく動きません。