アーカイブ

‘Ubuntu’ タグのついている投稿

ubuntu の perl update で git-svn やらがエラー(でたので回避修正)

2009 年 1 月 24 日


今朝、何の update だったか忘れたが、perl のコアモジュール的なアップデートをした後、
plagger とか、git svn rebase などが、以下のエラーで動かなくなった。

% git svn rebase
 Errno architecture (i486-linux-gnu-thread-multi-2.6.24-14-server) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-19-server) at /home/suvene/local/lib/perl5/Errno.pm line 11.
 Compilation failed in require at /usr/share/perl/5.8.8/File/Temp.pm line 138.
 BEGIN failed--compilation aborted at /usr/share/perl/5.8.8/File/Temp.pm line 138.
 Compilation failed in require at /usr/lib/perl5/SVN/Ra.pm line 6.
 BEGIN failed--compilation aborted at /usr/lib/perl5/SVN/Ra.pm line 6.
 Compilation failed in require at /usr/bin/git-svn line 30.
ググってみると、バグなのか、upgrade の順番が悪いのかわからないが、なにやら似たような状況の人もいる様子。

Bug #316013 in util-linux (Ubuntu): “apt-get dist-upgrade failed – architecture (i486-linux-gnu-thread-multi-2.6.15.7) does not match executable architecture (i486-linux-gnu-thread-multi-2.6.24-14-server)”

ここの中を読んでると、以下の対応方法がリンクされてて、#post5  の通りやったらエラー回避できた。

[ubuntu] apt-get upgrade fails for 8.04.1 Server – Ubuntu Forums

方法は、まんま書いてある通りだが、
  1. % vim /home/suvene/local/lib/perl5/Errno.pm11~13行目のエラー吐いてる箇所をコメントアウト
    11 #"$Config{'archname'}-$Config{'osvers'}" eq
    12 #"i486-linux-gnu-thread-multi-2.6.24-14-server" or
    13 #    die "Errno architecture (i486-linux-gnu-thread-multi-2.6.24-14-server) does not match executable architecture ($Config{'arch    name'}-$Config{'osvers'})";
  2. % sudo synaptic(GUI の使える環境で)
    全てアップグレードした後閉じる。(念のため reboot したほうがよいかも?)
  3. % cpan -f Errno(もしくはコメントアウトした箇所を元に戻す)
以上で完了。

何のエラーだか詳しくよくわからんかったのだが、とりあえず ok?

Links


Programming , ,

[gisty][Ubuntu]Gistyインストールから利用までの道のりメモ

2009 年 1 月 5 日


Gist というサービスがあって、これは GitHub にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。

で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、Gisty なるツールがあるらしいので、インストールしてみることにした。
その際、ちょっとインストールに手こずったので、ここにメモしておく。

利用環境は、VMWare – Ubuntu 8.0.4(hardy)。Ruby 環境無し。

まずは、公式にあるように、

$ gem install nokogiri
$ gem install swdyh-gisty
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。
$ sudo apt-get install rubygems
で、gem の取得先の追加として
gem sources -a http://gems.github.com
しようとしたのだが、
Bulk updating Gem source index for: http://gems.rubyforge.org
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググってみると同じような症状が出ている人がいたので、VM のメモリを 256M → 512M に変更。
すると今度は、すぐに更新完了。

でようやく nokogiri とやらをインストールしようとしたら何らかのエラーがでたので(メモるの忘れた)、rubygems 自身の update をすることにした。
$ gem update --system
すると今度は、update 自体がエラーになる。
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
これもまたググってみるとどんぴしゃなエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。
$ vim /usr/bin/gem
10行目あたり(require 'rubygems' の下)
+ require 'rubygems/gem_runner'
これで update は完了。
$ gem -v
$ 1.3.1

改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install nokogiri
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:3
どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。
$ sudo apt-get install ruby1.8-dev
で、nokogiri を(ry で、またしてもエラー。
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install nokogiri
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for #include 
... yes
checking for #include 
... no
need libxslt
まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。
$ sudo apt-get libxslt-dev
するとなんか怒られた。
libxslt-dev は以下のパッケージで提供されている仮想パッケージです:
  libxslt1-dev 1.1.22-1ubuntu1.2
インストールするパッケージを明示的に選択する必要があります。
という訳で、言われるがままにインストールしなおし。
$ sudo apt-get libxslt1-dev

これでやっと nokogiri のインストール成功。
$ sudo gem install nokogiri
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.1.0
1 gem installed
Installing ri documentation for nokogiri-1.1.0...
Installing RDoc documentation for nokogiri-1.1.0...

続いて、Gisty をインストール。これはすんなり成功。
$ sudo gem install swdyh-gisty
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Successfully installed swdyh-gisty-0.0.10
1 gem installed
Installing ri documentation for swdyh-gisty-0.0.10...
Installing RDoc documentation for swdyh-gisty-0.0.10...

これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。
$ export GISTY_DIR="$HOME/dev/gisty"
$ git config --global github.user your_id
$ git config --global github.token your_token
この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。

ここまで来てやっと目的のポスト。
$ gisty post filename

そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。
$ gisty post use1.7.user.js
Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
この、43073ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない)
後は、普通に git を使うように利用するだけ。

便利なのは、
$ gisty sync
とするだけで、今までポストした内容も clone してくれるということ。
$ gisty list
とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。
他の詳細なコマンドは、公式のページをみること。

以上、終わり。
Gisty 素晴らしス。


Links

Gist – GitHub はてなブックマーク数
gistコマンドよりちょっと便利なgisty – SWDYH はてなブックマーク数
Big Sky :: Gistyで始めるGist/Githubのススメ はてなブックマーク数
Secure Git hosting and collaborative development – GitHub はてなブックマーク数

Trouble shooting

rubygemsが猛烈に重い on colinux – gnarl、技術メモ’”%s<marquee>¥ はてなブックマーク数
Ubuntuでrubygemsを1.0.1にudpateしたら”uninitialized constant Gem::GemRunner(NameError)”のエラー – iビジネス&テクノロジー はてなブックマーク数
Gist というサービスがあって、これは GitHub にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。

で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、Gisty なるツールがあるらしいので、インストールしてみることにした。
その際、ちょっとインストールに手こずったので、ここにメモしておく。

利用環境は、VMWare – Ubuntu 8.0.4(hardy)。Ruby 環境無し。

まずは、公式にあるように、
$ gem install nokogiri
$ gem install swdyh-gisty
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。
$ sudo apt-get install rubygems
で、gem の取得先の追加として
gem sources -a http://gems.github.com
しようとしたのだが、
Bulk updating Gem source index for: http://gems.rubyforge.org
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググって見ると$ gem update --system すると今度は、update 自体がエラーになる。
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
これもまたググってみると
どんぴしゃなエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。
$ vim /usr/bin/gem
10行目あたり(require 'rubygems' の下)
+ require 'rubygems/gem_runner'
これで update は完了。
$ gem -v
$ 1.3.1

改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install nokogiri
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:3
どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。
$ sudo apt-get install ruby1.8-dev
で、nokogiri を(ry で、またしてもエラー。
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb install nokogiri
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for #include 
... yes
checking for #include 
... no
need libxslt
まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。
$ sudo apt-get libxslt-dev
するとなんか怒られた。
libxslt-dev は以下のパッケージで提供されている仮想パッケージです:
  libxslt1-dev 1.1.22-1ubuntu1.2
インストールするパッケージを明示的に選択する必要があります。
という訳で、言われるがままにインストールしなおし。
$ sudo apt-get libxslt1-dev

これでやっと nokogiri のインストール成功。
$ sudo gem install nokogiri
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.1.0
1 gem installed
Installing ri documentation for nokogiri-1.1.0...
Installing RDoc documentation for nokogiri-1.1.0...

続いて、Gisty をインストール。これはすんなり成功。
$ sudo gem install swdyh-gisty
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Successfully installed swdyh-gisty-0.0.10
1 gem installed
Installing ri documentation for swdyh-gisty-0.0.10...
Installing RDoc documentation for swdyh-gisty-0.0.10...

これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。
$ export GISTY_DIR="$HOME/dev/gisty"
$ git config --global github.user your_id
$ git config --global github.token your_token
この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。

ここまで来てやっと目的のポスト。
$ gisty post filename

そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。
$ gisty post use1.7.user.js
Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
この、43073ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない)
後は、普通に git を使うように利用するだけ。

便利なのは、
$ gisty sync
とするだけで、今までポストした内容も clone してくれるということ。
$ gisty list
とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。
他の詳細なコマンドは、公式のページをみること。

以上、終わり。
Gisty 素晴らしス。


Links

Gist – GitHub はてなブックマーク数
gistコマンドよりちょっと便利なgisty – SWDYH はてなブックマーク数
Big Sky :: Gistyで始めるGist/Githubのススメ はてなブックマーク数
Secure Git hosting and collaborative development – GitHub はてなブックマーク数

Trouble shooting

rubygemsが猛烈に重い on colinux – gnarl、技術メモ’”%s<marquee>¥ はてなブックマーク数
Ubuntuでrubygemsを1.0.1にudpateしたら”uninitialized constant Gem::GemRunner(NameError)”のエラー – iビジネス&テクノロジー はてなブックマーク数
諸々インストール – Fly me to the moon…(provisional) はてなブックマーク数


Programming , ,