gccの再インストール
玄箱のbinaryにもgcc2.95.3は入っているんですが、いろいろと問題があるんです。
その原因は「gccが最小構成でインストールされている」ということ。
玄人志向さんもなぜこんなことにしたのかわかりませんが・・・
もうちょっとねー。親切にしてくれたって良いんじゃないかと。
どうせ、後から追加するパッケージなんだからさぁ(ぐちぐち)
で、インストールするわけですが、私が最新版を入れないのは・・・
失敗したから。
で、gccの失敗>コンパイルできない>致命傷(+д+)マズーだったから。
最新版いれた人の手順書が見てみたいわ(ー。ー;)ふぅ
「最小構成」
大きいところで言うとgccとperlが最小構成らしいです。
まぁ、他のパッケージも完全なものはないと思いますが・・・
他への影響力が強いパッケージくらいちゃんとしたのを入れててほしいなぁ・・・と。
smtp authのときにこける(可能性がある)ための導入だから、
(設定が悪かっただけで)本当はちゃんとした(使える)ものなのかもしれないけどね。
やること一覧 ・binutilsのインストール ・gccのインストール:211のメモ帳: 玄箱のgccを作り直す
アセンブラを弄るツールらしい・・・
まぁ、事前準備ってやつ?
binutils-2.16.1.tar.gzを探してくる。
Index of /pub/GNU
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
$ tar xvfz binutils-2.16.1.tar.gz $ cd binutils-2.16.1 $ ./configure --prefix=/usr $ make $ make check # make installおまじない
# cd /usr/bin # cp strip strip_cp # ./strip_cp -p strip # strip -p ld gprof as c++filt nm readelf addr2line objcopy ranlib strings ar objdump size # rm strip_cp 注:stripは自分自身をstripできない(らしい)ので、変な処理をしている「binutils」
玄箱での数少ない情報を使った方法。
gcc-2.95.3.tar.gzを探してくる。
Index of /pub/GNU
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
[# ln -s /usr/bin/true /bin/true]
$ tar xvfz gcc-2.95.3.tar.gz
$ cd gcc-2.95.3
$ ./configure --prefix=/usr [--enable-languages=c,c++]
$ make CC=gcc [LANGUAGES="c c++"] [>make.log 2>&1 &]or[2>&1 | tee make.log]
注:全機能(--enable-languages=c,c++またはLANGUAGES="c c++"の指定なし)を
makeすると死ぬほど時間がかかる
仕掛けたら寝ようw
蛇足:
CとC++コンパイラのみ作る
画面を見ない
$ make CC=gcc LANGUAGES="c c++" >make.log 2>&1 &
画面を見る
$ make CC=gcc LANGUAGES="c c++" 2>&1 | tee make.log
全部のコンパイラを作る
画面を見ない
$ make CC=gcc >make.log 2>&1 &
画面を見る
$ make CC=gcc 2>&1 | tee make.log
なんか出た・・・
┃thr.c ..linked
┃creating cache ./config.cache
┃checking if compiler cc1obj has been built... no
┃rmdir: `libobjc': Directory not empty
まぁ、いいか・・・(え?
# make install
注:玄箱純正gccを上書きする(玄箱純正gccは抹殺される)
# cd /usr/bin # strip -p gcc powerpc-unknown-linux-gnu-gcc cpp gcov protoize unprotoize \ gcj gcjh jcf-dump jv-scan c++ c++filt g++gccはソースから適当にgccを作って(stage1)、
戻るなら押せ!