[openrtm-users 03093] pingの不達によるpkg_install_ubuntu.shの実行不能について

sase sase @ scc.ist.hokudai.ac.jp
2014年 8月 11日 (月) 16:02:41 JST


北海道大学の佐瀬です。
今年のサマーキャンプでは大変お世話になりました。

Ubuntu用の一括インストールスクリプトを利用してOpenRTMのインストールをしたところ、北海道大学内のネットワークではICMPが上位ルータでブロックされるためpingが不達となり、強制的に中断されてしまいます。
北大のOpenRTM入門者は同じ問題に直面することになりますので、メーリングリストにて報告させていただきます。


OS: Ubuntu 12.04.4 LTS 64bit

インストールスクリプトのダウンロード元
http://svn.openrtm.org/OpenRTM-aist/trunk/OpenRTM-aist/build/pkg_install_ubuntu.sh


上記ダウンロード元より入手したpkg_install_ubuntu.shに実行権限を付加し、下記コマンドを実行しました。

$ sudo sh ./pkg_install_ubuntu.sh

その後、しばらくすると下記メッセージとともにスクリプトが終了します。

Repository servers unreachable.,


スクリプトを読みますと、下記の部分で強制中断されているようです。


(pkg_install_ubuntu.shより抜粋)
#----------------------------------------
# 近いリポジトリサーバを探す
#----------------------------------------
check_reposerver()
{
    minrtt=65535
    nearhost=''
    for host in $reposervers; do
    rtt=`ping -c 1 $host | grep 'time=' | sed -e
's/^.*time=\([0-9\.]*\) ms.*/\1/' 2> /dev/null`
    if test "x$rtt" = "x"; then
        rtt=65535
    fi
    if test `echo "scale=2 ; $rtt < $minrtt" | bc` -gt 0; then
        minrtt=$rtt
        nearhost=$host
    fi
    done
    if test "x$nearhost" = "x"; then
    echo "Repository servers unreachable.", $hosts
    exit 1
    fi
    reposerver=$nearhost
}
(pkg_install_ubuntu.shより抜粋、以上)


当方はシェルスクリプトに親しんでおりませんので、スマートな解決方法がわかりませんでしたが、上記のcheck_reposerver呼び出し部をコメントアウトし、

#    check_reposerver

変数reposerverの初期化において www.openrtm.org をハードコードしました。

reposerver="www.openrtm.org"

これにより正常にインストールを行うことができました。

配布されているpkg_install_ubuntu.shでは、ICMPがブロックされるネットワーク環境でも実行可能となるように修正していただけると大変助かります。

よろしくお願いいたします。


More information about the openrtm-users mailing list