[openrtm-users 00860] Re: Ubuntu9.04におけるネームサーバ取得の不具合について

Ando Noriaki n-ando @ aist.go.jp
2009年 7月 7日 (火) 17:17:09 JST


中岡様

安藤です

ちょっと調べてみたのですが、Ubuntu 9.04 のデフォルトの /etc/hosts
の以下の行が悪さをしているようです。

::1     localhost ip6-localhost ip6-loopback

ipv6が無効なのに、ipv6のlocalhostを探しに行っている?ためか
localhostではローカルのネームサーバに接続できませんね。

対処としては、

1. /etc/hosts のipv6用のlocalhostの行をコメントアウトする
2. rtc.conf で指定するネームサーバのアドレスを
 - 127.0.0.1
 - 実際のホストのアドレス
 に変更する。

のいずれかの方法があります。
でも、他のネットワークを利用するコマンドなどでは、
localhostでちゃんと127.0.0.1につなぎに行くので、
omniORBのipv6周りの処理の問題ではないかと思いますが。

ちなみに、ざっと見てみた感じでは、Ubuntuは8.10までは
デフォルトでipv6が有効になっていますね。
そのために今まで発覚しなかったのかもしれません。


2009/07/07 11:58 に Shin'ichiro Nakaoka<s.nakaoka @ aist.go.jp> さんは書きました:
>
> 産総研の中岡です。
>
> 本件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の何かしらの環境
> が組み合わさると、この症状がでるような気がします。
>
> 以上のような状況なのですが、どなたかご存知のことがありましたら、
> お知らせください。よろしくお願いいたします。
>
>
> --
> 中岡 慎一郎 <s.nakaoka @ aist.go.jp>
> 産業技術総合研究所 知能システム研究部門
> ヒューマノイド研究グループ
> Phone: 029-861-5161  Fax: 029-861-5444
>
>



-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                  知能システム研究部門 統合知能研究グループ
                  〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                  TEL: 029-861-5981 FAX: 029-862-6631
                  n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内