Skip to content

ネームサーバーをマネージャで起動するプラグインの追加#1201

Merged
n-ando merged 3 commits intoOpenRTM:masterfrom
Nobu19800:feature/nmplugin
Oct 27, 2025
Merged

ネームサーバーをマネージャで起動するプラグインの追加#1201
n-ando merged 3 commits intoOpenRTM:masterfrom
Nobu19800:feature/nmplugin

Conversation

@Nobu19800
Copy link

Identify the Bug

ネームサーバーとマネージャは別々のプロセスとして起動する必要があるため、一部環境で運用が難しい場合がある。

Description of the Change

ネームサーバーの機能を動的ライブラリとして実装し、マネージャでロードできるようにした。

以下はrtc.confの記述例。

manager.modules.load_path: bin/vc16/
manager.modules.preload: OpenrtmNamesPlugin.dll
corba.args: -ORBendPoint giop:tcp::2809

Verification

  • Did you succeed the build?
  • No warnings for the build?
  • Have you passed the unit tests?

@Nobu19800 Nobu19800 requested a review from n-ando October 17, 2025 05:45
@Nobu19800 Nobu19800 self-assigned this Oct 17, 2025
n-ando
n-ando previously approved these changes Oct 20, 2025
@n-kawauchi
Copy link

n-kawauchi commented Oct 20, 2025

@Nobu19800 さん、動作確認手順を教えて下さい。
(間違って n-miyamoto さんにメンションしてしまったため訂正しました。
 間違えてしまい、申し訳ございませんでした。)

Ubuntu24.04環境で確認しています。デフォルトのomniNamesは停止させた状態です。
手動でopenrtmNamesは起動しておりません。

rtc.confは以下を用意してConsoleOutを起動しました。

logger.enable: YES
logger.log_level: VERBOSE

manager.modules.load_path: /usr/lib/x86_64-linux-gnu/
manager.modules.preload: libOpenrtmNamesPlugin.so
corba.args: -ORBendPoint giop:tcp::2809

RTCは問題なく起動しているように見えますが、ログを見るとERRORが発生しています。

Oct 20 05:49:45.349 TRACE: ModuleManager: load(fname = libOpenrtmNamesPlugin.so, init_func = libOpenrtmNamesPluginInit)
Oct 20 05:49:45.349 TRACE: ModuleManager: load(fname = libOpenrtmNamesPlugin.so)
Oct 20 05:49:45.350 TRACE: ModuleManager: load(filename = libOpenrtmNamesPlugin.so, filepath = , language = )
Oct 20 05:49:45.350 TRACE: ModuleManager: findFile(libOpenrtmNamesPlugin.so, /usr/lib/x86_64-linux-gnu/)
Oct 20 05:49:45.350 TRACE: ModuleManager: fileExist(/usr/lib/x86_64-linux-gnu/libOpenrtmNamesPlugin.so)
Oct 20 05:49:45.350 TRACE: ModuleManager: fileExist(/usr/lib/x86_64-linux-gnu/libOpenrtmNamesPlugin.so)
Oct 20 05:49:45.350 TRACE: ModuleManager: symbol(/usr/lib/x86_64-linux-gnu/libOpenrtmNamesPlugin.so, libOpenrtmNamesPluginInit)
Oct 20 05:49:45.350 DEBUG: ModuleManager: Finding function symbol: libOpenrtmNamesPluginInit in /usr/lib/x86_64-linux-gnu/libOpenrtmNamesPlugin.so
Oct 20 05:49:45.350 ERROR: ModuleManager: Specified symbol libOpenrtmNamesPluginInit not found.
Oct 20 05:49:45.350 ERROR: manager: Symbol not found: libOpenrtmNamesPluginInit
  :
Oct 20 05:49:45.353 INFO: ConsoleOut0: 1 execution context was created.
Oct 20 05:49:45.354 DEBUG: ConsoleOut0: onInitialize() succeeded.

@Nobu19800
Copy link
Author

Nobu19800 commented Oct 23, 2025

@n-kawauchi さん
共有ライブラリの先頭にlibが付くことを見落としていました。OpenrtmNamesPlugin.soを生成するように修正しましたのでこれで試してください。

また、インストールディレクトリを変更しました。

manager.modules.load_path: ext/vc16/naming
manager.modules.preload: OpenrtmNamesPlugin.dll
corba.endpoints: :2809

Copy link

@n-kawauchi n-kawauchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ubuntu24.04環境で動作OKを確認しました。

デフォルトのomniNamesは停止させ、手動でopenrtmNamesは起動しておりません。

rtc.confは以下を用意してConsoleOutを起動しました。

logger.enable: YES
logger.log_level: VERBOSE

manager.modules.load_path: /usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/
manager.modules.preload: OpenrtmNamesPlugin.so
corba.endpoints: :2809

RTCのログも問題ありませんでした。

Oct 24 02:32:13.621 TRACE: ModuleManager: load(fname = OpenrtmNamesPlugin.so, init_func = OpenrtmNamesPluginInit)
Oct 24 02:32:13.621 TRACE: ModuleManager: load(fname = OpenrtmNamesPlugin.so)
Oct 24 02:32:13.621 TRACE: ModuleManager: load(filename = OpenrtmNamesPlugin.so, filepath = , language = )
Oct 24 02:32:13.621 TRACE: ModuleManager: findFile(OpenrtmNamesPlugin.so, /usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/)
Oct 24 02:32:13.621 TRACE: ModuleManager: fileExist(/usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/OpenrtmNamesPlugin.so)
Oct 24 02:32:13.621 TRACE: ModuleManager: fileExist(/usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/OpenrtmNamesPlugin.so)
Oct 24 02:32:13.622 TRACE: ModuleManager: symbol(/usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/OpenrtmNamesPlugin.so, OpenrtmNamesPluginInit)
Oct 24 02:32:13.622 DEBUG: ModuleManager: Finding function symbol: OpenrtmNamesPluginInit in /usr/lib/x86_64-linux-gnu/openrtm-2.1/naming/OpenrtmNamesPlugin.so
  :
Oct 24 02:32:13.625 INFO: ConsoleOut0: 1 execution context was created.
Oct 24 02:32:13.627 DEBUG: ConsoleOut0: onInitialize() succeeded.

@n-ando n-ando merged commit e1e7294 into OpenRTM:master Oct 27, 2025
3 of 8 checks passed
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.

3 participants