◆ Trema 0.4.7インストール失敗とバージョン指定インストール
[2014/6/8 16:30追記:
インストール失敗はすでに https://github.com/trema/trema/issues/366 にて報告されている現象でした。
ここに記載があるように事前に RubyGems を更新する作業をしたところ Trema 0.4.7 のインストールに成功しました。以下の手順になります:
sudo gem install update-rubygems
sudo update_rubygems
sudo gem install trema
2014/6/9 00:15追記:
上記の方法で成功はしたものの Warning がやたら出たりしてまだ少し変。RubyGems のバージョンが 2.2.2 になっていたので、以下のようにして 1.8.x のままにした方が良さそう。 :
sudo gem install update-rubygems -v 1.8.25
あとでもう少し確認します。
]
[2014/06/11 追記:
インストール方法を整理して 「◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】」を書きました。
]
パソコンの入れ替えがあって OpenFlow フレームワーク Trema のテスト環境を新規に作ろうとしたら Trema のインストールに失敗してはまったのでここに記録を残しておきます。
最新の 0.4.7 でだめなら一つ前の 0.4.6 を入れられないかと調べてみたら gem コマンドには --version オプションがあってバージョン指定ができるんですね。
0.4.6 にしたら無事インストール成功しました。
■現象発生環境
OS: Lubuntu 13.04 Desktop (i386, 32bit)
Trema: 0.4.7 … インストール失敗
0.4.6 … インストール成功
■現象発生時のインストール画面とエラー箇所
以下の通り:
$ sudo gem install trema
Fetching: bundler-1.6.2.gem (100%)
Fetching: gli-2.10.0.gem (100%)
Fetching: Platform-0.4.0.gem (100%)
Fetching: open4-1.3.4.gem (100%)
Fetching: POpen4-0.1.4.gem (100%)
Fetching: rake-10.3.2.gem (100%)
Fetching: paper_house-0.6.2.gem (100%)
Fetching: bindata-2.1.0.gem (100%)
Fetching: pio-0.7.0.gem (100%)
Fetching: json-1.8.1.gem (100%)
Building native extensions. This could take a while...
Fetching: rdoc-4.1.1.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: trema-0.4.7.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing trema:
ERROR: Failed to build gem native extension.
"/usr/bin/ruby1.9.1" -rubygems /var/lib/gems/1.9.1/gems/rake-10.3.2/bin/rake RUBYARCHDIR=/var/lib/gems/1.9.1/gems/trema-0.4.7/ruby RUBYLIBDIR=/var/lib/gems/1.9.1/gems/trema-0.4.7/ruby
rake aborted!
Bundler::GemspecError: There was a RuntimeError while loading trema.gemspec:
can't modify frozen String from
/var/lib/gems/1.9.1/gems/trema-0.4.7/trema.gemspec:7:in `block in <main>'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler.rb:393:in `rescue in eval_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler.rb:382:in `eval_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler.rb:353:in `block in load_gemspec_uncached'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/shared_helpers.rb:52:in `chdir'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/shared_helpers.rb:52:in `chdir'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler.rb:348:in `load_gemspec_uncached'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler.rb:338:in `load_gemspec'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/gem_helper.rb:31:in `initialize'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/gem_helper.rb:13:in `new'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/gem_helper.rb:13:in `install_tasks'
/var/lib/gems/1.9.1/gems/bundler-1.6.2/lib/bundler/gem_tasks.rb:2:in `<top (required)>'
/var/lib/gems/1.9.1/gems/trema-0.4.7/Rakefile:760:in `<top (required)>'
(See full trace by running task with --trace)
Gem files will remain installed in /var/lib/gems/1.9.1/gems/trema-0.4.7 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/trema-0.4.7/./gem_make.out
赤字で示したところがエラー発生個所。trema.gemspec の7行目で問題起きています。ソースコードから7行目を見てみると以下の通り:
gem.version = Trema::VERSION
この Trema::VERSION はというと、ruby/trema/version.rb で定義されていました。0.4.7 で VERSION の記述のしかたがfreeze 指定に変更されていることが影響していそうです:
Trema 0.4.7 の場合の VERSION の記述:
VERSION = '0.4.7'.freeze
Trema 0.4.6 の場合の VERSION の記述:
VERSION = "0.4.6"
■暫定的な回避策
Trema 0.4.6 をインストールします。--version でバージョンを指定します。
sudo gem install trema --version 0.4.6
以下の通りエラーなくインストールが完了しました:
$ sudo gem install trema --version 0.4.6
Fetching: gli-2.8.1.gem (100%)
Fetching: rake-10.1.1.gem (100%)
Fetching: paper_house-0.5.0.gem (100%)
Fetching: bindata-1.6.0.gem (100%)
Fetching: pio-0.3.0.gem (100%)
Fetching: rdoc-4.0.1.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: trema-0.4.6.gem (100%)
Building native extensions. This could take a while...
Successfully installed gli-2.8.1
Successfully installed rake-10.1.1
Successfully installed paper_house-0.5.0
Successfully installed bindata-1.6.0
Successfully installed pio-0.3.0
Successfully installed rdoc-4.0.1
Successfully installed trema-0.4.6
7 gems installed
Installing ri documentation for gli-2.8.1...
Installing ri documentation for rake-10.1.1...
Installing ri documentation for paper_house-0.5.0...
Installing ri documentation for bindata-1.6.0...
Installing ri documentation for pio-0.3.0...
Installing ri documentation for rdoc-4.0.1...
Installing ri documentation for trema-0.4.6...
Installing RDoc documentation for gli-2.8.1...
Installing RDoc documentation for rake-10.1.1...
Installing RDoc documentation for paper_house-0.5.0...
Installing RDoc documentation for bindata-1.6.0...
Installing RDoc documentation for pio-0.3.0...
Installing RDoc documentation for rdoc-4.0.1...
Installing RDoc documentation for trema-0.4.6...
« ◆ 単純なブリッジの実装その2~複数ポート対応~【OpenFlow1.0をTremaの土管として使う】 | トップページ | ◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】 »
「Trema」カテゴリの記事
- ◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】(2014.06.11)
- ◆ Trema 0.4.7インストール失敗とバージョン指定インストール(2014.06.08)
- ◆ OpenFlowフレームワーク Trema 0.4 のインストール(2013.10.06)
- ◆ 【TremaでOpenFlowプログラミング】VLAN ID コンバータ(2013.05.12)
- ◆ Linux のネットワークネームスペース機能と Open vSwitch で仮想ネットワーク(OpenFlowスイッチとTrema)(2013.05.11)
コメント
この記事へのコメントは終了しました。
« ◆ 単純なブリッジの実装その2~複数ポート対応~【OpenFlow1.0をTremaの土管として使う】 | トップページ | ◆【改訂】OpenFlow フレームワーク Trema 0.4 のインストール手順【0.4.7対応】 »
Welcome to Top Doors for all your commercial and residential door needs. Serving Toronto since 2004. We provide Toronto quality installation, maintenance, and repair to a wide variety of commercial and residential doors.
<a href=https://www.google.com/maps/place/Toronto+Door+Repair+LTD/@43.6763462,-79.4907681,17z/data=!3m1!4b1!4m5!3m4!1s0x0:0x13822b32f99fca74!8m2!3d43.6763467!4d-79.48858>Toronto Door Repair LTD</a>
投稿: Wayneprido | 2019年12月21日 (土) 12時40分