[Momonga-devel.ja:00532] [GCC3] gcc-3.2 commit


zaki です。

GCC3 ブランチに gcc-3.2-1m をcommit しました。ほぼ redhat のgcc-3.2 と同じです。
libstdc++ が変わるので現状の GCC3 ブランチを gcc-3.2 環境にするには多少
技が必要なのでメモも兼ねて書いておきます。
glibc や libstdc++ の更新が必要なのでそれなりの覚悟はして作業してください。
gcc を入れ換えた後で全部をビルドしなおしますが、その前に 今まで作ったバイナリを
退避しておいた方がよいです。古いバイナリが無いといざという時にどうにもならない
ので。

.OmoiKondara で 
ROOT        ~/PKGS
と指定されていることを前提に書きます


------------ ここから手順 ---------------

/* 
  gcc のバージョンをあげる前に glibc を最新に。
     gcc-3.2 には tls(thread local storage) パッチが当たっています。
     tls では __thread が予約されているので、それに対応したglibc を
     先にいれておかないといろいろコンパイルできなくなります
*/

% cd ~/momonga-cvs/pkgs
% cd glibc;cvs up;cd ..
% ../tools/OmoiKondara glibc
% sudo rpm -Uvh ~/PKGS/i586/glibc-* ~/PKGS/i586/nscd-*

/*
  libstdc++ 依存のものを削除
    かなり消えます。 Xも消えます。 man も消えます
    最低限起動に必要なものやruby は消えないはずですが、消す前にヤバいもの
    がないか確認してください。
*/
% sudo mph-get remove libstdc++


/*
  gcc をビルド & インストール
    3.1.1 の環境でしか試してませんが、そもそもgcc なんでそんなにまわりの
    環境には依存してないはず。
*/
% ../tools/OmoiKondara gcc
% sudo rpm -Uvh ~/PKGS/i586/{gccいちみ}
% mv ~/PKGS ~/PKGS-gcc-3.1.1    # バイナリを退避。Zoo や Nonfree はどっちでも。
% mkdir ~/PKGS; ln -sf ../PKGS-gcc-3.1.1/SOURCES ~/PKGS/SOURCES # ソースは共有

/*
  glibc のビルドのための準備
    glibc のビルドに必要なものが libstdc++ 依存で消えてしまっているので
    gcc3.2 で作り直す
    面倒なのでコマンドは書かないので適当によろしく
*/
groff.spec の中の xditview を 0 にしてから groff を作ってインストール
XFree86.spec の中の BuildTdfx を 0 にして XFree86 を作って
XFree86, XFree86-devel, XFree86-libs, XFree86-xfs だけをインストール

xditviewを1 に戻す
BuildTdfxを1 に戻す

gd を作ってインストール


/*
  glibc のビルド & インストール
*/
glibc を作ってインストール


/*
  本物の groff と XFree86 を作ってインストール
*/

xditviewを1 に戻してあるか、 BuildTdfxを1 に戻してあるかを確認してから
再度 groff を作ってインストール
さらに XFree86 を作って
XFree86, XFree86-devel, XFree86-libs, XFree86-xfs をインストール


/*
  あとは全ビルド
  gcc-3.1.1 でビルドできなかったもの以外は gcc-3.2でもビルドできるはず
*/
% ../tools/OmoiKondara

あとは mph で入れるなり、 rpm -Uvh *.rpm なり適当にバイナリの入れ換え。
*.rpm で kernel まで -Uvh してしまわないように注意。


---------------- 手順ここまで ----------------------------

VAIO C1 に入れてますが、KDEも gnome もばっちりです。
では。
---
YAMAZAKI Makoto <uomaster@xxxxxxxxx>