gccの再インストール
玄箱のbinaryにもgcc2.95.3は入っているんですが、いろいろと問題があるんです。
その原因は「gccが最小構成でインストールされている」ということ。
玄人志向さんもなぜこんなことにしたのかわかりませんが・・・
もうちょっとねー。親切にしてくれたって良いんじゃないかと。
どうせ、後から追加するパッケージなんだからさぁ(ぐちぐち)
で、愚痴ってもしかたないので、インストールするわけです。はい。
「最小構成」
大きいところで言うとgccとperlが最小構成らしいです。
まぁ、他のパッケージも完全なものはないと思いますが・・・
他への影響力が強いパッケージくらいちゃんとしたのを入れててほしいなぁ・・・と。
やること一覧 ・binutilsのインストール ・gccのインストール:211のメモ帳: 玄箱のgccを作り直す
関連ページ ・apache2 ・gcc用コンパイルスクリプト
アセンブラを弄るツールらしい・・・
まぁ、事前準備ってやつ?
binutils-2.18.tar.gzを探してくる。
Index of /pub/GNU/binutils/
例のあれ
$ wget http://ftp.yz.yamagata-u.ac.jp/pub/GNU/binutils/binutils-2.18.tar.gz $ tar xvfz binutils-2.18.tar.gz $ cd binutils-2.18 $ ./configure --prefix=/usr $ make $ make check # make installインストールされるもの: install files list(default): use command is: ls -pR /usr/local >~/bin.txt
# cd /usr/bin # cp strip strip_cp && ./strip_cp -p strip && rm strip_cp # strip -p ld gprof as c++filt nm readelf addr2line objcopy ranlib strings ar objdump size 注:stripは自分自身をstripできないので、変な処理をしている &&はコマンドが成功したら次のコマンドを実行すると言う・・・やつ。 ||とするとコマンドが失敗したら次のコマンドを実行すると言う・・・事になる。「binutils」
玄箱での数少ない情報を使った方法。
thttpdが80ポートで動いているとコンパイルエラーを起こしてしまう謎現象があるので、
thttpdのポートを変更しておく。
やり方はapacheのthttpdのアクセスポート変更を参照。
gcc-2.95.3.tar.gzを探してくる。
Index of /pub/GNU/gcc/
で、ユーザーのホームディレクトリにFFFTPで送る。
例のあれ
[# ln -s /usr/bin/true /bin/true] $ wget http://ftp.yz.yamagata-u.ac.jp/pub/GNU/gcc/gcc-2.95.3.tar.gz $ tar xvfz gcc-2.95.3.tar.gz $ cd gcc-2.95.3 $ ./configure --prefix=/usr --enable-languages=c,c++ $ make bootstrap
option | 説明など |
bootstrap | gccをコンパイルするときのおまじない(を |
option | 説明など |
-k | 多少のエラーがあっても完走させる(まぁ、エラーはエラーだけどね) |
# cd /usr/bin (--enable-languages=c,c++) # strip -p gcc powerpc-unknown-linux-gnu-gcc cpp c++ g++ c++filt gcov protoize unprotoize (default) # strip -p gcc powerpc-unknown-linux-gnu-gcc cpp c++ g++ c++filt gcov protoize unprotoize \ gcj gcjh jcf-dump jv-scangccはソースから適当にgccを作って(stage1)、
戻るなら押せ!