vine-users ML アーカイブ



[vine-users:078240] Re: sylpheed を 2.4.8 にアップグレードしたいけ ど、できない

  • From: Seiichirou Babasaki <mindgear@xxxxxxxxxxxx>
  • Subject: [vine-users:078240] Re: sylpheed を 2.4.8 にアップグレードしたいけ ど、できない
  • Date: Mon, 24 Mar 2008 01:56:08 +0900
馬場崎です。
スレッドを追いかけて読んでみて、なかなか大変な事になっていそうですね。

さて、以下は直接の話題ではないので、最初のメールに返信しています。

僕自身、Vine の Sylpheed が 1.x 系だった頃に、Sylpheed-2.0.x のビルドと
インストールに挑戦した経験がありますが、Sylpheed は大変良く出来ている
ツールなので、むしろ環境をよく確認するという事を学ばせていただきました。

少し大きく目を向けて、状況を小分けする事をお薦めします。

■ビルド&インストールの留意点
0.
  Tar玉からのインストールの場合、既にあるライブラリやファイルを
  「root権限で上書きする」という行為が行われますので、同名のツールや
  ライブラリは事前にアンインストールしないと環境の整合性が破壊されます。
  そうした理由もあってだろうと僕は理解していますが、Tar玉で配布される
  ツール類の多くは標準で /usr/local/ 以下にインストールされる設定に
  なっています。 /usr/bin/以下と、/usr/local/bin/以下の両方に同名の
  実行バイナリがあっても(種類によりますが)実害は無く、ライブラリも
  種類によりますが、ユーザーがビルドしてインストールするツール類に
  付属のものならば、それほど慌てる必要もないものです。

1.
  注意深くならなければいけないものは、要求ライブラリのうち、libc や
  glibc のような、システムの基本にある重要なライブラリの扱いです。
  (他にもあります)
  これらは基本ルールとして、安易に入れ換えてはいけないものです。
  それから、基本的に上位互換なので、例えば glibc >= 2.4.0 ならば
  VineLinux-4.2 の glibc-2.12.7 の方が 12 > 4 でバージョンが上です
  ので、焦って入れ換える必要はありません。

2.
  インストールの管理の為には VineLinux の場合、RPM というパッケージ
  管理を採用していますから、極力 RPM でインストールするべきです。
  そうすれば、ファイルの衝突や不具合について多くの部分が予防されます。
  (完全に防ぐことは出来ません)
  Tar玉からのインストールに因る環境の不整合は『必ず起きる』タイプの
  不具合です。従って、root は Tar玉で入れたものとその結果を把握して
  おかなくてはいけません。例えば メーカー配布のバイナリ、*.bin タイプの
  インストールバイナリ等もこれに該当します。

3.
  正しいspecファイルを書けるならば、rpmbuild ツールで RPMファイルを
  自作できます。これは理想的な到達点です。Tar玉からビルド、インストール
  出来るタイプの配布物は、極論すれば 必ずRPM書庫化出来ます。
  次点の手段としては checkinstall というツールを使うことが出来ます。
  重要な事はむしろアンインストールによって正しくファイルを削除する事で、
  # make uninstall
  ……が可能であるならば、Tar玉が必ずしもいけないわけではありません。
  (インストール時の上書きや衝突については見えないケースが多いでしょう)

4.
  ビルドのエラーには様々なケースが考えられますが、「要求ライブラリが
  見付からない」というものも、確かによく遭遇します。一つには実際に
  その要求ライブラリが存在しない場合、もう一つは存在するけれども
  ./configure スクリプトが見付けることが出来ない場合、それから、
  違うものを見付けてそこでエラーを出してしまっている場合、などなど。
  環境変数やコンパイルオプションの表示、パスの取得をしてみれば、
  実際とのずれがはっきりします。
  僕が考えます、./configure がうまくいかない自己入手のTar玉で最初に
  試行してみる価値のある事は autoreconf -i で configure スクリプトを
  再生成させてみる、というものです。この時も環境に不具合があると
  大量に警告が出ます。

5.
  今回の Sylpheed に限らず、Tar玉から ビルド -> インストール する
  タイプのものを、一度ユーザー権限のままで
   $ make install DESTDIR=/tmp/test/(ユーザーが書き込める任意のディレクトリ名)
  ……として、仮インストールしてファイルのコンフリクトが無いか確認
  するのも方法の一つです。

6.
  環境の整合性を取り戻す為の、根元的な手段はOSの再インストールですが、
  出来れば避けたいものです。
  そこで例えば apt コマンドの # apt-get reinstall というオプションが使えます。
  このオプションを使う時は対象のパッケージは一つずつ指定する方が無難です。
  それは、/etc/以下の設定ファイルが既に存在する時に警告やメッセージを返して
  くれるからでもあります。
  ※僕は X-window のメーカー配布のビデオドライバを使っていた為に、いくつかの
  標準Xドライバが使えなくなっていたのをこのオプションで取り戻した事があります。

#--------------------------------------------#

直接の解決案でなくて申し訳ありませんが、これを機会に自己インストールルールなど
作られて、トラブル予防をされてみてはいかがと思い、つらつらと書いてみました。

-- 
__/__/__/__/__/__/__/__/__/__/__/__/
 ZON or MaruArt. 
>> Babasaki Seiichirou (Jap)
E-Mail  mindgear@xxxxxxxxxxxx
Nokia N800 zon@xxxxxxxxxxxx
__/__/__/__/__/__/__/__/__/__/__/__/