Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu24.04のdebパッケージ生成向け整備 #1154

Merged
merged 1 commit into from
Jul 8, 2024

Conversation

n-kawauchi
Copy link

close #1153

Identify the Bug

Link to #1153

Description of the Change

  • ROS2(jazzy)からのeprosima::fastcdr::Cdr変更に対応
    • 修正は2種類で、Issueに記載した変更内容
    • 修正対象は、transport/FastRTPS/CORBACdrDataPubSubTypes.cppとtransport/ROS2Transport/ROS2Serializer.h
    • この2つのファイルで修正箇所が合計16あったため、Ubuntu24.04以降と以前でファイルを分けた
    • 修正対象2つのファイルはUbuntu24.04向けに修正
    • 修正前のソースからUbuntu22.04以前用としてコピーファイルを作成
      transport/FastRTPS/CORBACdrDataPubSubTypes.cpp.ubuntu2204_earlier
      transport/ROS2Transport/ROS2Serializer.h.ubuntu2204_earlier
    • 一番トップのCMakeLists.txtを修正し、OSのコードネームから.cpp, .hファイルを切り替える
      • コードネームがfocalまたはjammyであれば、.ubuntu2204_earlierから正しい拡張子ファイルを生成する
        CORBACdrDataPubSubTypes.cpp.ubuntu2204_earlier -> CORBACdrDataPubSubTypes.cpp
        ROS2Serializer.h.ubuntu2204_earlier -> ROS2Serializer.h
  • Fluentbitの変更対応
    • Ubuntu22.04まではFluentbit1.9系がリリースされていたが、Ubuntu24.04ではv3.0.7のみがリリースされている
    • これに伴い、Dockerfile.devel-rtmでのFluentbitソースバージョンもv3.0.7とした
    • Dockerイメージ openrtm/devel-rtm:ubuntu24.04 を使ってOpenRTM-aistソースをビルドすると、エラーになる
      [ 68%] Building CXX object src/ext/transport/FastRTPS/CMakeFiles/FastRTPSTransport.dir/FastRTPSTransport.cpp.o
      In file included from /usr/local/include/ctraces/ctraces.h:31,
                       from /usr/local/include/fluent-bit/flb_input_trace.h:24,
                       from /usr/local/include/fluent-bit/flb_input.h:40,
                       from /usr/local/include/fluent-bit/flb_engine.h:25,
                       from /usr/local/include/fluent-bit/flb_output.h:38,
                       from /usr/local/include/fluent-bit.h:41,
                       from /root/OpenRTM-aist/src/ext/logger/fluentbit_stream/FluentBit.h:28,
                       from /root/OpenRTM-aist/src/ext/logger/fluentbit_stream/FluentBit.cpp:23:
      /usr/local/include/mpack/mpack.h:3278:19: error: conflicting declaration of C function 'void mpack_write(mpack_writer_t*, int16_t)'
       3278 | MPACK_INLINE void mpack_write(mpack_writer_t* writer, int16_t value) {
            |                   ^~~~~~~~~~~
      /usr/local/include/mpack/mpack.h:3274:19: note: previous declaration 'void mpack_write(mpack_writer_t*, int8_t)'
       3274 | MPACK_INLINE void mpack_write(mpack_writer_t* writer, int8_t value) {
            |                   ^~~~~~~~~~~
      /usr/local/include/mpack/mpack.h:3282:19: error: conflicting declaration of C function 'void mpack_write(mpack_writer_t*, int32_t)'
       3282 | MPACK_INLINE void mpack_write(mpack_writer_t* writer, int32_t value) {
            |                   ^~~~~~~~~~~
      
    • Fluentbit側の問題と判断し、とりあえずUbuntu24.04用debパッケージ生成時、Fluentbitは無効でビルドするようにした
      Dockerfile.packageの設定
    • Fluentbitのdebパッケージ名が変更になっていたので、openrtm2_install_ubuntu.shで対応
      • 1.9系 : td-agent-bit
      • 3.0系 : fluent-bit
      • この修正で、openrtm2_install_ubuntu.shのバージョンを 2.0.2.02 へ更新

Verification

  • Ubuntu20.04, 22.04, 24.04 の各環境で確認した
    • debパッケージ生成までできる
    • openrtm2_install_ubuntu.shを -c オプションで実行した場合のfluentbitパッケージインストール動作
  • Did you succeed the build?
  • No warnings for the build?
  • Have you passed the unit tests?

@n-kawauchi n-kawauchi requested a review from n-ando July 7, 2024 23:16
@n-kawauchi n-kawauchi self-assigned this Jul 7, 2024
@n-ando n-ando merged commit 47f92ea into OpenRTM:master Jul 8, 2024
4 of 8 checks passed
@n-kawauchi n-kawauchi deleted the add_ubuntu2404 branch July 15, 2024 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ubuntu24.04のdebパッケージ生成向け整備
2 participants