apollo icon indicating copy to clipboard operation
apollo copied to clipboard

Can not run "common_component_example" successfully when build with cmake myself

Open YelaShady opened this issue 2 years ago • 3 comments

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.

System information

-Vmware Linux Ubuntu 20.04 -Build CyberRt only with Cmake -V6.0

Steps to reproduce the issue:

  • Please use bullet points and include as much details as possible:

Supporting materials (screenshots, command lines, code/script snippets):

Hi, I clone the Apollo project(v6.0) and build the cyber_rt module with cmake,but I found the example "common_component_example" run failed. I dbg it and found that when the writer want to publish it's channel change msg,it can not send the fully message:

   bool Manager::Publish(const ChangeMsg& msg) {...
  apollo::cyber::transport::UnderlayMessage m;
    RETURN_VAL_IF(!message::SerializeToString(msg, &m.data()), false);
     return publisher_->write(reinterpret_cast<void*>(&m));}

Here the msg will be serialized by protobuf to data member of undelaymessage ,but the serialized data contails "\0" and the fast-rtps(or fast-dds) may be not support send "\0" message data, here is the evidence: [https://github.com/eProsima/Fast-DDS/issues/2689#issuecomment-1132705252] [https://github.com/eProsima/Fast-DDS/issues/2786] So, How to solve this problem?Does I missed anything such as any correct config?

YelaShady avatar Jul 02 '22 02:07 YelaShady

there're two question to be check

  1. does fast-rtps support send \0
  2. cmake support for cyber or apollo

daohu527 avatar Jul 02 '22 03:07 daohu527

fast-rtps need patch

minhanghuang avatar Aug 06 '22 05:08 minhanghuang

which patch? you mean docker/build/installers/FastRTPS_1.5.0.patch?

daohu527 avatar Aug 06 '22 13:08 daohu527

fast-rtps need patch

I used the patch tool, but this situation still occurs, but my platform is risc-v. Do I need to modify the patch file? Looking forward to your reply, thank you

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.

System information

-Vmware Linux Ubuntu 20.04 -Build CyberRt only with Cmake -V6.0

Steps to reproduce the issue:

* **Please use bullet points and include as much details as possible**:

Supporting materials (screenshots, command lines, code/script snippets):

Hi, I clone the Apollo project(v6.0) and build the cyber_rt module with cmake,but I found the example "common_component_example" run failed. I dbg it and found that when the writer want to publish it's channel change msg,it can not send the fully message:

   bool Manager::Publish(const ChangeMsg& msg) {...
  apollo::cyber::transport::UnderlayMessage m;
    RETURN_VAL_IF(!message::SerializeToString(msg, &m.data()), false);
     return publisher_->write(reinterpret_cast<void*>(&m));}

Here the msg will be serialized by protobuf to data member of undelaymessage ,but the serialized data contails "\0" and the fast-rtps(or fast-dds) may be not support send "\0" message data, here is the evidence: [https://github.com/eProsima/Fast-DDS/issues/2689#issuecomment-1132705252] [https://github.com/eProsima/Fast-DDS/issues/2786] So, How to solve this problem?Does I missed anything such as any correct config?

I have also encountered the same situation. Have you finally resolved the problem? Looking forward to your reply, thank you very much

cherishTMYY avatar May 25 '23 12:05 cherishTMYY

fast-rtps need patch

I used the patch tool, but this situation still occurs, but my platform is risc-v. Do I need to modify the patch file? Looking forward to your reply, thank you

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.

System information

-Vmware Linux Ubuntu 20.04 -Build CyberRt only with Cmake -V6.0

Steps to reproduce the issue:

* **Please use bullet points and include as much details as possible**:

Supporting materials (screenshots, command lines, code/script snippets):

Hi, I clone the Apollo project(v6.0) and build the cyber_rt module with cmake,but I found the example "common_component_example" run failed. I dbg it and found that when the writer want to publish it's channel change msg,it can not send the fully message:

   bool Manager::Publish(const ChangeMsg& msg) {...
  apollo::cyber::transport::UnderlayMessage m;
    RETURN_VAL_IF(!message::SerializeToString(msg, &m.data()), false);
     return publisher_->write(reinterpret_cast<void*>(&m));}

Here the msg will be serialized by protobuf to data member of undelaymessage ,but the serialized data contails "\0" and the fast-rtps(or fast-dds) may be not support send "\0" message data, here is the evidence: [https://github.com/eProsima/Fast-DDS/issues/2689#issuecomment-1132705252] [https://github.com/eProsima/Fast-DDS/issues/2786] So, How to solve this problem?Does I missed anything such as any correct config?

I have also encountered the same situation. Have you finally resolved the problem? Looking forward to your reply, thank you very much

cherishTMYY avatar May 25 '23 12:05 cherishTMYY