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/
戻る