スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

LMDE2にrbenvでruby2.2.2入れてmikutter起動まで(rbenv on LMDE 3回目)

はい。やってみましょう。今回は大きなエラーなかったのでさくさく行きます。

1.現状確認

$ rbenv install -l


ここで2.2.xが出てればいいんですが、なければruby-buildのUpdateが必要。うちの環境では最新が2.2.0-devになってました。

$ rbenv versions
system
* 2.1.2 (set by /home/tmin/.rbenv/version)
2.2.0-dev


rbenvで入れてるのは2.1.2と2.2.0-devですね。で、現状2.1.2をシステムデフォルトにしています。
が、先日の記事のようにaptで入った2.1.5を使うように/home/.bashrcのrbenvへのパスコメントアウトしちゃったので、rbenv的には2.1.2だけどこれが無効でシステムの2.1.5使ってるのが現状です。

$ ruby -v
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]



2.ruby-buildをupdateして2.2.xの最新を入れよう
ruby-buildは最初にrbenv使い始めた時にgitで取ってきてるはずなので git pull origin masterすればおっけー。
初めてrbenv使う人はこんな感じ

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
~/.rbenv/plugins $ git clone git://github.com/sstephenson/ruby-build.git



今回はUpdateなので~/.rbenv/plugin/ruby-buildに入ってgit pull origin master

$ cd .rbenv/plugins/ruby-build/
$ git pull origin master
remote: Counting objects: 1214, done.
remote: Compressing objects: 100% (79/79), done.
(後略)



Updateが正常に終わってたら最新のが反映されてインストールできるようになってます。

$ rbenv install -l
Available versions:
(中略)
2.1.6
2.2.0-dev
2.2.0-preview1
2.2.0-preview2
2.2.0-rc1
2.2.0
2.2.1
2.2.2
2.3.0-dev
(後略)



じゃあ入れてみましょう。現状最新の開発版じゃない奴ってことで2.2.2を選択。
少し時間かかるのでコーヒーでも飲んで待ちましょう。

$ rbenv install 2.2.2
Downloading ruby-2.2.2.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44
Installing ruby-2.2.2...



ちなみにうちの環境ではうまく行きましたが、libffi-devが足りなくてこけることがある模様。
rbenv での Ruby 2.2.1 のインストールに失敗する
このときはaptで該当パッケージを入れれば良いらしいです。

3.ruby2.2.2をセットして環境を整える。

$ rbenv rehash
$ rbenv versions
system
* 2.1.2 (set by /home/tmin/.rbenv/version)
2.2.0-dev
2.2.2


ちゃんと入ってるのを確認して。。。

$ rbenv global 2.2.2
$ rbenv versions
system
2.1.2
2.2.0-dev
* 2.2.2 (set by /home/tmin/.rbenv/version)



$ ruby -v
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]


だめじゃんってまだ環境変数に書いてないですね。

$ emacs .bashrc

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"



端末に入り直して・・・


$ exec $SHELL -l
$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]


おっけー。
mikutterたちあげようとしてみると。。。

$ ruby mikutter.rb
/home/tmin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- gtk2 (LoadError)
後略


まぁそうですよね。ライブラリが足りません。
bundle installしようとすると

$ bundle install --path vendor/bundle
rbenv: bundle: command not found

The `bundle' command exists in these Ruby versions:
2.1.2


おや?2.1.2で入ってるので使えない?gemでbundlerを入れます。

$ gem install bundler
Fetching: bundler-1.10.1.gem (100%)
Successfully installed bundler-1.10.1
Parsing documentation for bundler-1.10.1
Installing ri documentation for bundler-1.10.1
Done installing documentation for bundler after 5 seconds
1 gem installed



これでもう一回bundle installを走らせると

$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Installing rake 10.3.2
Installing addressable 2.3.6
Installing pkg-config 1.1.6
with native extensions Installing glib2 2.2.5
with native extensions Installing atk 2.2.5
with native extensions Installing cairo 1.14.1
(中略)
Using bundler 1.10.1
Bundle complete! 17 Gemfile dependencies, 31 gems now installed.
Bundled gems are installed into ./vendor/bundle.


どうやら通ったようですね。ここでも少し時間かかるので麦茶でも飲んで待ちましょう。

5.起動です

$ ruby mikutter.rb
/home/tmin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/x86_64-linux/continuation.so: warning: callcc is obsolete; use Fiber instead


callccはもう廃れてるからFiberを使えとかなんとか出てますが、とりあえず無事起動です。
で、このエラーが何者かと思ってfiberについて調べてみたけどさっぱりわかりませんでした。

まぁ動いたからいいよね!!

追記
@kakkokka氏と@mugijiru氏に教えてもらって大分スッキリ。
mikutterでcalcc使ってる部分があるんだけど、calccはFiberへの移行が推奨されてて2.2.2から?警告が出るように/continuation.cこの辺に変更が入ったっぽいですね。でも現状あくまで警告だけの変更、みたいです。



関連記事
最新Mikutter3.1で始めるておくれ最新Ruby(rbenv on LMDE 2回目)
bundle installのエラーでglib2が入らない→解決
Mikutterで始めるておくれ最新Ruby(rbenv on LMDE)
スポンサーサイト
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

bundle installのエラーでglib2が入らない→解決

LMDEを2(Besty)にUpdateしたら標準のrubyのversionが2.1.5になってました。
ちなみにrbenvで入れてたのは2.1.2。システム標準のほうが新しくなってますね。
というわけで2.1.5の方を使ってmikutterを動かそうとしてはまりました。
rubyとgemとbundlerの関係をいまいち分かってないものだからいっつも同じようなとこでハマりますね。

1.rbenvのパスをコメントアウト

$ emacs .bashrc


#export PATH="$HOME/.rbenv/bin:$PATH"
#eval "$(rbenv init -)"


そのうちまたrbenv使うだろうから、とりあえず頭に#つけてコメントアウト。
シェルに入りなおして

$ ruby -v
ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]


おっけー。

2.mikutterを3.2.3にupdate
出てましたね。
ちなみに1の手順のみで3.2.2はそのまま無事起動。
mikutter
3.2.3をDLして/homeの/mikutterと置き換え。

$ ruby mikutter.rb


したらgemのパッケージが足りないとかバージョンがどうとか言われて起動こける。
まぁbundle installでいけるだろうと思いきやこれ。glibの指定バージョンが入らなくてこけている模様。

$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.3.2
Using addressable 2.3.6
Using pkg-config 1.1.6

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /home/tmin/mikutter/vendor/bundle/ruby/2.1.0/gems/glib2-2.2.5 for inspection.
Results logged to /home/tmin/mikutter/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/glib2-2.2.5/gem_make.out
An error occurred while installing glib2 (2.2.5), and Bundler cannot continue.
Make sure that `gem install glib2 -v '2.2.5'` succeeds before bundling.
tmin@tmin-pc:~/mikutter$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.3.2
Using addressable 2.3.6
Using pkg-config 1.1.6

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /home/tmin/mikutter/vendor/bundle/ruby/2.1.0/gems/glib2-2.2.5 for inspection.
Results logged to /home/tmin/mikutter/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0/glib2-2.2.5/gem_make.out
An error occurred while installing glib2 (2.2.5), and Bundler cannot continue.
Make sure that `gem install glib2 -v '2.2.5'` succeeds before bundling.



3.gemで指定のパッケージが入らない。
なんか毎回同じようなとこでハマっている気がしますが。
言われたとおりに

$ sudo gem install glib2 -v '2.2.5'


してもエラー。

$ gem update


してからもっかい

$ bundle install --path vendor/bundle


しても変わらない。

$ bundle update
(中略)
Error details

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1
(後略)


もしやこれか!!

4.mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.hを解消する

"mkmf.rb can't find header files for ruby"の対応
パッケージが違うだけでほぼ同じですね。ありがたい。
ruby-devでsynapticで検索してもそのままのはなくって、いくつか怪しいのが。
ruby2.1-dev (2.1.5-2+deb8u1) ruby-gnome2-dev (2.2.0-5+b2) ruby-all-dev (1:2.1.5)あたりでしょうかね。ruby2.1-devだけで行けそうな気もしますが。
依存で入ったのはこの辺。

gir1.2-gstreamer-1.0 (1.4.4-2)
libgmp-dev (2:6.0.0+dfsg-6)
libgmpxx4ldbl (2:6.0.0+dfsg-6)
libgtksourceview2.0-0 (2.10.5-2)
libgtksourceview2.0-common (2.10.5-2)
ruby-all-dev (1:2.1.5)
ruby-cairo-gobject (2.2.0-5+b2)
ruby-gdk3 (2.2.0-5+b2)
ruby-gio2 (2.2.0-5+b2)
ruby-gnome2 (2.2.0-5)
ruby-gnome2-dev (2.2.0-5+b2)
ruby-gobject-introspection (2.2.0-5+b2)
ruby-gstreamer (2.2.0-5+b2)
ruby-gtk3 (2.2.0-5+b2)
ruby-gtksourceview2 (2.2.0-5+b2)
ruby-gtksourceview3 (2.2.0-5+b2)
ruby-pkg-config (1.1.5-1)
ruby-poppler (2.2.0-5+b2)
ruby-rsvg2 (2.2.0-5+b2)
ruby-vte (2.2.0-5+b2)
ruby-vte3 (2.2.0-5+b2)
ruby2.1-dev (2.1.5-2+deb8u1)



5.再チャレンジのbundle install

$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.3.2
Using addressable 2.3.6
Using pkg-config 1.1.6
Installing glib2 2.2.5 (was 2.2.3)
Installing atk 2.2.5 (was 2.2.3)
Installing cairo 1.14.1 (was 1.12.9)
Using safe_yaml 1.0.4
Using crack 0.4.2
Using delayer 0.0.2
Installing gdk_pixbuf2 2.2.5 (was 2.2.3)
Using locale 2.1.0
Using text 1.3.0
Using gettext 3.0.9
Installing pango 2.2.5 (was 2.2.3)
Installing gtk2 2.2.5 (was 2.2.3)
Using httpclient 2.5.3.3
Using json_pure 1.8.1
Using memoize 1.3.1
Using metaclass 0.0.4
Using mini_portile 0.6.1
Using mocha 0.14.0
Using moneta 0.8.0
Using nokogiri 1.6.5
Using oauth 0.4.7
Using power_assert 0.1.4
Using ruby-hmac 0.4.0
Using test-unit 3.0.2
Using typed-array 0.1.2
Using watch 0.1.0
Using webmock 1.20.0
Using bundler 1.9.9
Bundle complete! 17 Gemfile dependencies, 31 gems now installed.
Bundled gems are installed into ./vendor/bundle.


通りましたね。

$ ruby mikutter.rbで無事起動。

たぶん、今までrbenvで動かしてたからrbenvのディレクトリ(~/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems)に入ったgemパッケージ群を読みに行ってたんだけど、システムのに変えちゃったからだったのかなと予想。

ところでruby2.2が出てて。mikutterも対応してるっぽい。
#mikutter 3.2.2
というわけでrbenvで2.2で動かしたいところだけど、今日はこのエラーではまって疲れたので終わり。
また時間出来たら2.2で動かしてみようと思います。

関連記事
Mikutterで始めるておくれ最新Ruby(rbenv on LMDE)
最新Mikutter3.1で始めるておくれ最新Ruby(rbenv on LMDE 2回目)
Windows 10 Technical Preview でRuby入れてMikutter for Windowsを動かしてておくれよう
Windows10 TPで最新mikutter3.2.2にしたらrubygemsにSSL接続できなくてどハマった
LMDE2にrbenvでruby2.2.2入れてmikutter起動まで(rbenv on LMDE 3回目)
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

LMDE2014からLMDE2(Besty)にupgrade

やっとこさアップデートのやり方が正式に来たみたいなので早速やってみました。
LMDE の更新について(UP8 から “Betsy”への更新)
Upgrade from LMDE 1 to LMDE 2

基本的には下の方のリンク先のStepに従っていけば大丈夫。
うちの環境はLMDE2014 cinnamon amd64、追加でMATEも入れてます。
インストールしたエディションの方からUpdateしたほうがいいみたいなので、cinnamonで作業。
アップデートマネージャーからRomeoを有効にしてる場合にはチェック外して無効に。

あと、Linuxでバージョンアップ系はうまく行かない率が高かった経験があるので、インストールしてたアプリとか、消えて困りそうな設定はMint BackupとかSynapticからバックアップ。これで最悪コケた場合はまるごと再インストールしてアプリはリストから復元すれば良い。/homeは別パーティションだから引き継げるしね。
(個人的にはいつもバックアップはこんなもんでいいんだけど、人によって消えたら困るor設定し直すのがきついのがもっとあると思うので、その場合はそのへんバックアップとっといたほうがいいと思います。)

さて、それでは本題。
1.リポジトリ書き換え
/etc/apt/sources.list.d/official-package-repositories.list を書き換え。

$ sudo emacs /etc/apt/sources.list.d/official-package-repositories.list


deb http://packages.linuxmint.com debian main upstream import

deb http://debian.linuxmint.com/latest/ testing main contrib non-free
deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free
deb http://debian.linuxmint.com/latest/multimedia testing main non-free

deb http://extra.linuxmint.com debian main


もともとはこうなってましたが、

deb http://packages.linuxmint.com betsy main upstream import
deb http://http.debian.net/debian jessie main contrib non-free
deb http://http.debian.net/debian jessie-updates main contrib non-free
deb http://security.debian.org jessie/updates main contrib non-free
deb http://www.deb-multimedia.org jessie main non-free
deb http://extra.linuxmint.com betsy main


に書き換え。

2.リポジトリ読みなおし

$ sudo apt update


keyringでエラーが出ると思うので、debian-archive-keyring deb-multimedia-keyringをインストール。

$ sudo apt install debian-archive-keyring deb-multimedia-keyring


したらもっかい再読み込み。

$ sudo apt update


エラーが出なければおっけー。
この辺は10分程度でした。
ただ、うちの環境ではmozc関係(特にemacs-mozc)を自前ビルドした結構古いの入れてるので、そのへんでエラーが出てたけど、まぁ承知の上なので無視。(無視していいのかは知らない)
万全を期すならば、こういう野良ビルドとか野良debとか、野良リポジトリから入れたパッケージなんかは削除しといてからやったほうが安全だと思います。特にkernel関係でなんかしてる人なんかは。

3.upgrade
upgrade前に必要なパッケージがあるっぽいので入れておきます。

$ sudo apt install sysvinit-core adwaita-icon-theme blueberry


Turn off your screensaver とか書いてあるので、スクリーンセーバーは切っときます。

ではUpgrade。

$ sudo apt dist-upgrade


アップグレード: 1989 個、新規インストール: 308 個、削除: 24 個、保留: 0 個。
4 個のパッケージが完全にインストールまたは削除されていません。
1,512 MB のアーカイブを取得する必要があります。
この操作後に追加で 958 MB のディスク容量が消費されます。
続行しますか? [Y/n]



がっつり来ますね。4個のパッケージってのは先のMozc関連のなんかだったのでスルー。
yを押すとずらずらとUpgradeが始まります。
結局これは小一時間かかりました。途中で放置してたら質問が出たりしてたので、しっかり張り付いていればもう少し早かったかも知れませんが。
質問はいくつかのパッケージでデフォルトに置き換えるか、元の設定ファイルを残すか、っての。
当方環境ではNginx,PHP,MySQLあたりは設定ファイル結構書き換えてたので保持。あとのよくわからないのはパッケージメンテナのバージョンをインストール、で行きました。
あとGrubのインストール先聞かれるので、ここは間違えないように予めHDDの構成と今現在Grubが入っている場所を把握しておきましょう。(聞かれてから調べてもいいですけど)

4.チェック

もっかいdist-upgradeを走らせて、全部ちゃんと入ってるかチェック。

$ sudo apt dist-upgrade


強制インストールが必要ならば

$ sudo apt install -f



最後に(入ってなければ)デスクトップ環境のmetaパッケージを入れます。

$ sudo apt install mint-meta-debian-cinnamon (Cinnamonの場合)
$ sudo apt install mint-meta-debian-mate (MATEの場合)



5.再起動
ここまでさしたるエラーもなく進んだら緊張の再起動です。

$ sudo reboot


メニューから再起動でもいいですが。
Grubの起動画面、ログイン画面がけっこう大きく変わってて驚きましたが、基本的には無事完了しました。

$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: LMDE 2 Betsy
Release: 2
Codename: betsy


ちゃんとBestyになってます。
お疲れ様です。

6.細々したなにか
・サードパーティのアイコン使ってたんだけど、大きさがおかしなことになってまともに使えなくなってた。デフォルトで入ってるどれかに変更すればとりあえずおっけー。
・Cinnammonのパネルのメニューがクリックで開かない。Superキー使えば普通に使えるから、これは仕様なのかどっかに残ったゴミ設定が悪さしてるのかまだ不明。ちなみにMATEは今までのままっぽい。
・localhostのphp-fpm+NginxでBad gatewayとかが出るようになってしまった。
設定ファイル見なおしてみたけど、前に設定したのはちゃんと残ってる。
ちょっと調べたけど、結局以下のリンク先のとおりにやったらうまく行きましたありがとうございます。
【解決済み】phpのパッケージを追加して’502 Bad Gateway’になってしまったときの対処法

$ sudo vim /etc/php5/fpm/pool.d/www.conf
45行目付近にあるこの3行のコメントアウトを外しました。

;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660





listen.owner = www-data
listen.group = www-data
listen.mode = 0660


これやったら正常に動くようになりました。
・flashがおかしいかもしれない。
動画系は大丈夫っぽいんだけど、radikoが聞けない。試しにnon-freeの方のflashに変えてみたけど一緒。
本家フォーラムで話題に上がってました。
No LMDE-2 Flash player?
でもうちの環境ではまだ未解決。

ともあれ大抵のことはうまく行けたと思います。近いうちにUpdateManagerから行けるようになるのかなぁ?そしたらもっと簡単ですよねー。

関連記事
LMDE(Linux Mint Debian Edition)でローカルにサクッとLEMP(Nginx+MySQL+PHP)
Dell Studio 1737にLMDEと日本語環境と
LMDEセットアップいろいろ
LMDE201403にEmacs24を入れる(+CentOS6.6)
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

         
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。