中岡です。
本件ですが、GRXの川角さんより、
"localhost"だとダメだけど、"127.0.0.1"とすれば動作する
という情報を頂きました。
試して見たところ、私の環境でもうまく動きました。
OpenRTMの場合は、rtc.conf の
corba.nameservers: localhost
も、127.0.0.1 としなければいけないようです。
ただし原因は不明です。
Ubuntuの場合、8.04や8.10ではlocalhostでもうまく動いていました。
localhostで指定できないのも不便なので、
原因と対処法が分かればよいのですが。
Shin'ichiro Nakaoka さんは書きました:
> 産総研の中岡です。
>
> 本件OpenRTM-aistとも関連するかと思い、何か情報があればということで、
> こちらのMLに投稿させていただきます。
>
> それで、Ubuntu 9.04 にてOpenHRP3も含めていろいろ試しているのですが、
> どうもomniORB を使う C++ のコードから、ネームサーバが取得できません。
> 具体的には、ネームサーバ取得時に、
>
> obCORBA::Object_var =
> orb->string_to_object("corbaloc::localhost:2809:/NameService");
> namingContext = CosNaming::NamingContext::_narrow(obj);
>
> などとするかと思うのですが、2行目で _narrow するところで、CORBAの例外が
> 生じてしまいます。
>
> Ubuntu 9.04 の omniORB は 4.1.2 で、4.1.3 や 4.1.1 をソースからコンパイ
> ルして試してみたりもしたのですが、ダメでした。
> omniPython を使ってPythonインタプリタから同様のことをやってもダメです。
>
> それで、OpenRTM-aistはどうなっているのかと思い、ソースを見させてもらった
> ところだいたい同じことをやっていて、コンパイルして ConsoleIn, ConsoleOut
> を試してみたのですが、これらの実行ファイルの実行はできるものの、私が確認
> した限りではネームサーバには登録されていない模様でした。
>
> ちなみに、Javaのコードから(GrxUI等)は、ネームサーバの取得とアクセスがで
> きています。
>
> それでどうもよく分からないのですが、omniORBとUbuntu 9.04の何かしらの環境
> が組み合わさると、この症状がでるような気がします。
>
> 以上のような状況なのですが、どなたかご存知のことがありましたら、
> お知らせください。よろしくお願いいたします。
>
>
産総研の中岡です。
本件OpenRTM-aistとも関連するかと思い、何か情報があればということで、
こちらのMLに投稿させていただきます。
それで、Ubuntu 9.04 にてOpenHRP3も含めていろいろ試しているのですが、
どうもomniORB を使う C++ のコードから、ネームサーバが取得できません。
具体的には、ネームサーバ取得時に、
obCORBA::Object_var =
orb->string_to_object("corbaloc::localhost:2809:/NameService");
namingContext = CosNaming::NamingContext::_narrow(obj);
などとするかと思うのですが、2行目で _narrow するところで、CORBAの例外が
生じてしまいます。
Ubuntu 9.04 の omniORB は 4.1.2 で、4.1.3 や 4.1.1 をソースからコンパイ
ルして試してみたりもしたのですが、ダメでした。
omniPython を使ってPythonインタプリタから同様のことをやってもダメです。
それで、OpenRTM-aistはどうなっているのかと思い、ソースを見させてもらった
ところだいたい同じことをやっていて、コンパイルして ConsoleIn, ConsoleOut
を試してみたのですが、これらの実行ファイルの実行はできるものの、私が確認
した限りではネームサーバには登録されていない模様でした。
ちなみに、Javaのコードから(GrxUI等)は、ネームサーバの取得とアクセスがで
きています。
それでどうもよく分からないのですが、omniORBとUbuntu 9.04の何かしらの環境
が組み合わさると、この症状がでるような気がします。
以上のような状況なのですが、どなたかご存知のことがありましたら、
お知らせください。よろしくお願いいたします。