mozilla-0.9.3-0vl1.src.rpm のインストール 
 mozilla は Linux Japan のおまけ CD に入っていたのをインストールしていたし、使っていた。
 けど、galeon 0.12 に必要とされているのはインストーラーのない
 mozilla が必要らしいので rpm package の mozilla をインストールする。
 
  ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/VineSeed/SRPMS/ 
 から、mozilla-0.9.3-0vl1.src.rpm を落して来た。
 VineSeed から持って来ただけあって、依存関係が統一(ってか修正)されていない。
 先に書いておくけど egcs を使うことになっている Vine で 
 gcc-launcher 
 gcc-c++-launcher 
 が必要とされていた。
 
 $ mv mozilla-0.9.3-0vl1.src.rpm ~/rpm/SRPMS/ 
 $ cd ~/rpm/SRPMS/ 
 $ rpm -ivh mozilla-0.9.3-0vl1.src.rpm 
 > mozilla
    
 ################################# 
 ~/rpm/SOURCES/migrate-icon.gif 
 ~/rpm/SOURCES/mozicon16.xpm 
 ~/rpm/SOURCES/mozicon50.xpm 
 ~/rpm/SOURCES/mozilla-0.8-D__linux__.patch.gz 
 ~/rpm/SOURCES/mozilla-0.9-embedxim.patch 
 ~/rpm/SOURCES/mozilla-0.9.2-newjamap.tgz 
 ~/rpm/SOURCES/mozilla-alpha-compiler.patch 
 ~/rpm/SOURCES/mozilla-icon.png 
 ~/rpm/SOURCES/mozilla-ns-upgrade.desktop 
 ~/rpm/SOURCES/mozilla-profile.desktop 
 ~/rpm/SOURCES/mozilla-source-0.9.3.tar.bz2 
 ~/rpm/SOURCES/mozilla.desktop 
 ~/rpm/SOURCES/mozilla.sh 
 ~/rpm/SPECS/mozilla.spec  
 がインストールされる。
 $ cd ~/rpm/SPECS/ 
 $ rpm -bb mozilla.spec 
 > error: failed build dependencies: 
 > gcc-launcher >= 2.95.2 is needed by mozilla-0.9.3-0vl1 
 > gcc-c++-launcher >= 2.95.2 is needed by mozilla-0.9.3-0vl1 
 なんじゃ、こりゃ?
 
 ftp://ftp.ring.gr.jp/pub/linux/Vine/VineSeed/i386/Vine/RPMS/
 に 
 gcc-launcher-2.95.3-2vl11.i386.rpm 
 gcc-c++-launcher-2.95.3-2vl11.i386.rpm 
 
 が見つかった。
 もー、ソースパッケージを持って来てコンパイルするのがめんどくさくなったので、
 rpm ファイルですます。
   
 2001.09.10 
   
 後で調べたら上の2のファイルの src.rpm はなかった。
  VineSeed だけど、大丈夫かな。
 
 
 gcc-launcher-2.95.3-2vl11.i386.rpm のインストール
 from: 
 ftp://ftp.ring.gr.jp/pub/linux/Vine/VineSeed/i386/Vine/RPMS/ 
 $ mv gcc-c-launcher-2.95.3-2vl11.i386.rpm ~/rpm/RPMS/i386/ 
 $ cd ~/rpm/RPMS/i386/ 
 $ su 
 # rpm -ivh gcc-c-launcher-2.95.3-2vl11.i386.rpm 
 > file /usr/bin/egcs from install of gcc-launcher-2.95.3-2vl11 
   conflicts with file from package egcs-1.1.2-24vl4 
 > file /usr/bin/gcc from install of gcc-launcher-2.95.3-2vl11 
   conflicts with file from package egcs-1.1.2-24vl4 
 # rpm -Uvh gcc-launcher-2.95.3-2vl11.i386.rpm 
 > file /usr/bin/egcs from install of gcc-launcher-2.95.3-2vl11 
   conflicts with file from package egcs-1.1.2-24vl4 
 > file /usr/bin/gcc from install of gcc-launcher-2.95.3-2vl11 
   conflicts with file from package egcs-1.1.2-24vl4 
 何ごと? 何が起きているの?
 コンフリクトって事は何かと何かがぶつかっているって事だよね? 
 egcs と gcc-launcher って、別物じゃないの?
 中身を確認
 $ rpm -qlpv gcc-launcher-2.95.3-2vl11.i386.rpm 
 
 lrwxrwxrwx root root     3 Aug 17 01:17 /usr/bin/cc -> gcc 
 
 lrwxrwxrwx root root     3 Aug 17 01:17 /usr/bin/egcs -> gcc 
 
 lrwxrwxrwx root root    10 Aug 17 01:17 /usr/bin/gcc -> gcc-2.95.3 
 
 drwxr-xr-x root root  4096 Aug 17 01:17 /usr/doc/gcc-launcher-2.95.3 
 
 -rw-r--r-- root root 18007 Apr  4  1998 /usr/doc/gcc-launcher-2.95.3/COPYING 
 
 -rw-r--r-- root root 25283 Apr  4  1998 /usr/doc/gcc-launcher-2.95.3/COPYING.LIB 
 
 -rw-r--r-- root root   639 Oct  2  1998 /usr/doc/gcc-launcher-2.95.3/README 
 
 $ rpm -qlv egcs 
 lrwxrwxrwx     root     root            3 Aug 29  2000 /usr/bin/cc -> gcc 
 -rwxr-xr-x     root     root        63376 Aug 29  2000 /usr/bin/egcs 
 -rwxr-xr-x     root     root        63376 Aug 29  2000 /usr/bin/gcc 
 -rwxr-xr-x     root     root        13348 Aug 29  2000 /usr/bin/gcov 
 . 
 . 
 $ rpm -qlpv gcc-c++-launcher-2.95.3-2vl11.i386.rpm 
 
 lrwxrwxrwx root root     3 Aug 17 01:17 /usr/bin/c++ -> g++ 
 
 lrwxrwxrwx root root    10 Aug 17 01:17 /usr/bin/g++ -> g++-2.95.3 
 
 drwxr-xr-x root root  4096 Aug 17 01:17 /usr/doc/gcc-c++-launcher-2.95.3 
 
 -rw-r--r-- root root 18007 Apr  4  1998 /usr/doc/gcc-c++-launcher-2.95.3/COPYING 
 
 -rw-r--r-- root root 25283 Apr  4  1998 /usr/doc/gcc-c++-launcher-2.95.3/COPYING.LIB 
 
 -rw-r--r-- root root   639 Oct  2  1998 /usr/doc/gcc-c++-launcher-2.95.3/README 
 $ rpm -qlv egcs-c++ 
 -rwxr-xr-x root root 64688 Aug 29  2000 /usr/bin/c++ 
 -rwxr-xr-x root root 24816 Aug 29  2000 /usr/bin/c++filt 
 -rwxr-xr-x root root 64688 Aug 29  2000 /usr/bin/g++ 
 drwxr-xr-x root root  4096 Aug 29  2000 /usr/include/g++-2 
 . 
 . 
 launcher ってリンクを張るだけじゃん。
 しかも cc の方は実体( gcc-2.95.3 )が入っていないし。
 ってか、Vine は gcc をやめて、egcs に統一したんじゃかかったっけ?
 何でそんなのが Vine の ftp site から持って来たパッケージで必要になるんだ?
 それに、このリンクの張り方を見ると、--nodeps とかで強引に入れちゃうと 
 gcc が無くなっちゃう気がする。
 Vine Linux 2.1.5 を入れたおまけ CD には 
 > /mnt/cdrom/Vine/RPMS/egcs-1.1.2-24vl4.i386.rpm 
 > /mnt/cdrom/Vine/RPMS/egcs-c++-1.1.2-24vl4.i386.rpm 
 が入っているから、最悪、この2つを --nodeps で入れ直せば 
 gcc(egcs) は復活するはず。
 ってなことで、
 gcc-launcher-2.95.3-2vl11.i386.rpm を依存関係を無視して入れてみる事にした。
 # rpm -ivh  --replacefiles gcc-launcher-2.95.3-2vl11.i386.rpm 
 > gcc-launcher
    
 ################################ 
 確認
 $ ls -la /usr/bin/gcc 
 > /usr/bin/gcc -> gcc.2.95.3    -> リンクになっているけど、、、
 $ ls -la /usr/bin/gcc-2.95.3   をすると 
 > ls: /usr/bin/gcc.2.95.3: No such file or directory 
 案の定、gcc が無くなった。
 egcs-1.1.2-24vl4.i386.rpm の入れ直し。
 これも依存関係を無視して入れることになる。
 もー、イヤ
 $ cp /mnt/cdrom/Vine/RPMS/egcs-1.1.2-24vl4.i386.rpm ~/rpm/RPMS/i386/ 
 $ cd ~/rpm/RPMS/i386/ 
 $ su 
 # rpm -ivh --replacefiles egcs-1.1.2-24vl4.i386.rpm 
 > package egcs-1.1.2-24vl4 is already installed 
 既に入っているってさ。あたりまえか。
 # rpm -ivh --replacepkgs egcs-1.1.2-24vl4.i386.rpm 
 
 > file /usr/bin/egcs from install of egcs-1.1.2-24vl4 conflicts with file from package gcc-launcher-2.95.3-2vl11 
 
 > file /usr/bin/gcc from install of egcs-1.1.2-24vl4 conflicts with file from package gcc-launcher-2.95.3-2vl11 
 どうどう、めぐり。
 必殺の --force を使用。
 # rpm -ivh --force egcs-1.1.2-24vl4.i386.rpm 
 > egcs
    
 ############################ 
 あーあ、やっちゃった。
 $ rpm -q egcs 
 > egcs-1.1.2-24vl4 
 $ rpm -q gcc-launcher 
 > gcc-launcher-2.95.3-2vl11 
 ってな状態になりました。
 試しに mozilla のスペックファイルを使ってみると、
 $ rpm -bp mozilla.spec 
 > error: failed build dependencies: 
 > gcc-c++-launcher >= 2.95.2 is needed by mozilla-0.9.3-0vl1 
 やっぱり、gcc-c++launcher が必要だって。
 
 
 
 gcc-c++-launcher-2.95.3-2vl11.i386.rpm のインストール
 from: 
 ftp://ftp.ring.gr.jp/pub/linux/Vine/VineSeed/i386/Vine/RPMS/ 
 
 $ cd ~/rpm/RPMS/i386/ 
 $ su 
 # rpm -ivh  gcc-c++-launcher-2.95.3-2vl11.i386.rpm 
 > error: failed dependencies: 
 > gcc-c++ = 2.95.3-2vl11 is needed by gcc-c++-launcher-2.95.3-2vl11
 また、エラー。
 launcher を入れるのに gcc-c++ が必要だって。
 Vine って、gcc じゃなくて、egcs を使うんじゃなかったっけ?
 $ rpm -ql egcs-c++ すると、
 > /usr/bin/c++*  
 があるし、、、
 $ /usr/bin/c++ --version 
 > egcs-2.91.66
 egcs と gcc が混ざって、更に、依存関係がぼろぼろになる。。。
 また gcc を入れた後に egcs を強制的に入れる、って事になるんだろうな。
 でもしょうがないから gcc-c++-2.95.3-2vl11.i386.rpm を 
 gcc-c++-launcher-2.95.3-2vl11.i386.rpm を拾って来た所から落しておく。
 
 1.1M もありやがる。
 
 gcc-c++-2.95.3-2vl11.i386.rpm のインストール
 $ mv gcc-c++-2.95.3-2vl11.i386.rpm ~/rpm/RPMS/i386/ 
 $ cd ~/rpm/RPMS/i386/ 
 $ su 
 # rpm -ivh gcc-c++-2.95.3-2vl11.i386.rpm 
 > error: failed dependencies: 
 > gcc-cpp = 2.95.3-2vl11 is needed by gcc-c++-2.95.3-2vl11 
 > libstdc++2_10 = 2.10.0 is needed by gcc-c++-2.95.3-2vl11 
 cpp と c++用のライブラリが必要だって、怒っているけど無視。
 > # rpm -ivh --nodeps gcc-c++-2.95.3-2vl11.i386.rpm 
 > gcc-c++
    
 ############################ 
 # rpm -ivh gcc-c++-launcher-2.95.3-2vl11.i386.rpm  
 > file /usr/bin/c++ from install of gcc-c++-launcher-2.95.3-2vl11 conflicts with file from package egcs-c++-1.1.2-24vl4 
 > file /usr/bin/g++ from install of gcc-c++-launcher-2.95.3-2vl11 conflicts with file from package egcs-c++-1.1.2-24vl4 
 案の定、egcs と gcc がぶつかりまくり。
 ああ、どんどん、深みにはまっていく。
 # rpm -ivh --nodeps gcc-c++-launcher-2.95.3-2vl11.i386.rpm 
 > file /usr/bin/c++ from install of gcc-c++-launcher-2.95.3-2vl11 conflicts with file from package egcs-c++-1.1.2-24vl4 
 > file /usr/bin/g++ from install of gcc-c++-launcher-2.95.3-2vl11 conflicts with file from package egcs-c++-1.1.2-24vl4 
 # rpm -ivh --force gcc-c++-launcher-2.95.3-2vl11.i386.rpm 
 > gcc-c++-launcher
    
 ############################ 
 もう一度 mozilla.spec のコンパイル 
 $ cd ~/rpm/SPECS/ 
 $ rpm -bp mozilla.spec 
 とーし。
 $ rpm -bc --short-circuit mozilla.spec 
 > checking for c++... c++ 
 > checking whether the C++ compiler (c++  ) works... no 
 > configure: error: installation or configuration problem: C++ compiler cannot create executables. 
 > Bad exit status from /var/tmp/rpm-tmp.39462 (%build) 
 c++ を egcs に戻すのを忘れていた。
 # cd ~/rpm/RPMS/i386/ 
 # rpm -ivh --nodeps egcs-c++-1.1.2-24vl4.i386.rpm 
 > package egcs-c++-1.1.2-24vl4 is already installed 
 > file /usr/bin/c++ from install of egcs-c++-1.1.2-24vl4 conflicts with file from package gcc-c++-launcher-2.95.3-2vl11 
 > file /usr/bin/g++ from install of egcs-c++-1.1.2-24vl4 conflicts with file from package gcc-c++-launcher-2.95.3-2vl11 
 # rpm -ivh --force egcs-c++-1.1.2-24vl4.i386.rpm  
 > egcs-c++ 
    
 ################################ 
 $ cd ~/rpm/SPECS/ 
 $ rpm -bc --short-circuit mozilla.spec 
 一時間近く待たされたけど、コンパイルできた。
 $ cd ~/rpm/SPECS/ 
 $ rpm -bi --short-circuit mozilla.spec 
 一様、とおったみたい。
 後は、rpm -bb をして、rpm を作ってインストールするだけなんだけど、
 たぶん、またコンパイルからやるはずだから、今日はもうやめる。
 なんか、このページ、すっごく分かりにくくなっている気がする。
 あとで見返さなきゃな。
 各種ソフトのインストールを別個に作った方がいいのかな。
 $ cd ~/rpm/SPECS/ 
 $ rpm -bb mozilla.spec 
 ~/rpm/RPMS/i386/mozilla-0.9.3-0vl1.i386.rpm  
 ~/rpm/RPMS/i386/mozilla-devel-0.9.3-0vl1.i386.rpm 
 が作られる。
 $ cd ~/rpm/RPMS/i386/ 
 $ su 
 # rpm -ivh mozilla-0.9.3-0vl1.i386.rpm 
 > mozilla
    
 ################################ 
 > removing mozilla register info...done. 
 > registering mozilla components...done. 
 # rpm -ivh mozilla-devel-0.9.3-0vl1.i386.rpm 
 > mozilla-devel
    
 ################################ 
 これで、mozilla のコンパイル、リンク、rpm 化、rpm package のインストールまで完成。
 コンパイルだけで一時間近くかかったぞ。
 Vine 謹製の mozilla 0.9.3 をチョコット使ってみて。
 だめだめ。
 戻ると進むの矢印が変なトコに付いちゃっている。
 見た目はカッコよくなったんだけどな。
 いろんな、依存関係を無視してゴリゴリ強引にインストールしたからだろうな。
 
 当分は、mozilla を入れるなら パッケージングされていて、インストーラーの付いたやつの方が無難だね。
 
 ここで、mozilla-0.9.3-0vl1.src.rpm を入れるのに必要な依存関係と、その対処は次の通り。
 + mozilla-0.9.3-0vl1.src.rpm 
    is need : 
 -> gcc-launcher-2.95.3-2vl11.i386.rpm  
 -> gcc-c++-launcher-2.95.3-2vl11.i386.rpm  
 + gcc-launcher-2.95.3-2vl11.i386.rpm  
   is conflicts : 
 -> egcs-1.1.2-24vl4 
 so, gcc-launcher-2.95.3-2vl11.i386.rpm 
    over-ride to egsc-1.1.2-24vl4  with --replacefiles  
 and, egsc-1.1.2-24vl4 
    re-over-ride  to gcc-launcher-2.95.3-2vl11.i386.rpm with --force  
 + gcc-c++-launcher-2.95.3-2vl11.i386.rpm  
   is need : 
 -> gcc-c++-2.95.3-2vl11  
 gcc-c++-2.95.3-2vl11 
   is need : 
 -> gcc-cpp-2.95.3-2vl11 
 -> libstdc++2_10 
 
 ignore, gcc-cpp and libstdc++.
 
 gcc-c++ over-ride to egcs-c++ with --nodeps 
 and, gcc-c++-launcher over-ride to egcs-c++ with --nodeps 
 Uninstall mozilla-0.9.3-0vl1.src.rpm  
 galeon の為に入れたけど使えないから消す。 
 $ su 
 # rpm -e mozilla-devel 
 # rpm -e mozilla 
 > removing mozilla register info...done. 
 > cannot remove /usr/lib/mozilla/components - directory not empty 
 > cannot remove /usr/lib/mozilla/chrome - directory not empty 
 > cannot remove /usr/lib/mozilla - directory not empty 
 # rm -r /usr/lib/mozilla/components 
 # rm -r /usr/lib/mozilla/chrome 
 # rm -r /usr/lib/mozilla/ 
 
戻る