2007年7月21日土曜日

[IT]Solaris10でgcc-4.2をコンパイルしてみよう

Solaris10環境で、GNU gcc(4.2.0)とmake(3.8.1)をソースから導入する手順
すこし複雑だが、以下の手順で行う

1.パッケージインストール(gcc、liniconv、tar)
 ソースコンパイルために必須
   gcc、libiconv
 gcc-4.2ソースの展開のため必要
   tar(GNU tarが必要)
 
2.関係ツールインストール
 ・make、binutils、libiconvをソースからインストール
 ・libiconvはmakeが終了時にパッケージを削除する

3.gccをソースからインストール
 ・make bootstrapでひたすら時間がかかります
 ・meke終了時にgccのパッケージを削除する

4.tarをソースからインストール
 ・make終了時にtarのパッケージを削除する



====手順
1.パッケージインストール

--gcc-3.4.6-sol10-x86-local(パッケージ)
> gunzip gcc-3.4.6-sol10-x86-local.gz
> su
# pkgadd -d gcc-3.4.6-sol10-x86-local

--libiconv(パッケージ)
> gunzip libiconv-1.11-sol10-x86-local.gz
> su
# pkgadd -d libiconv-1.11-sol10-x86-local

--tar-1.18(パッケージ)
> gunzip tar-1.18-sol10-x86-local.gz
> su
# pkgadd -d tar-1.18-sol10-x86-local

# exit
> source ~/.tcshrc
 ーーPATHに/usr/local/binを設定し直さないと、インストールが反映されない



2.関係ツールインストール


-- make-3.81
> gzip -cd make-3.81.tar.gz | tar xvf -
> cd make-3.81
> ./configure --program-prefix=g
> make
> su
# /usr/ccs/bin/make install
# cd /usr/local/bin
# ln -s gmake make
# exit
> source ~/.tcshrc

--binutils-2.14
> gzip -cd binutils-2.17.tar.gz | tar xvf -
> cd binutils-2.17
> ./configure
> make
# su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH
# make install

# exit
> source ~/.tcshrc

-- libiconv-1.11.tar.gz(パッケージも削除)
> gzip -cd libiconv-1.11.tar.gz | tar xvf -
> cd libiconv-1.11
> ./configure --prefix=/usr/local
> make
> su

# pkgrm SMCliconv

# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# make install
# exit
> source ~/.tcshrc



3.gccをソースからインストール


--gcc-4.2.0-20070501.tar.gz
> setenv PATH /usr/local/bin:/bin:/usr/bin:/usr/ccs/bin
> setenv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/lib

> gzip -cd gcc-4.2.0-20070501.tar.gz | tar xvf -
> cd gcc-4.2.0-20070501
> mkdir buildgcc
> cd buildgcc

> ../configure ¥
--disable-nls ¥
--with-gnu-ld --with-ld=/usr/local/bin/ld ¥
--with-gnu-as --with-as=/usr/local/bin/as ¥
--disable-multilib --enable-languages=c,c++,objc

> make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
>su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# make install
# /usr/sbin/pkgrm SMCgcc

もう一度(今度はsudoはだめ)
# make install

# exit
> source ~/.tcshrc


4.tarをソースからインストール

--tar-1.18
> setenv PATH /usr/sfw/bin:/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin
> setenv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/lib
> gzip -cd tar-1.18.tar.gz | tar xvf -
> cd tar-1.18
> ./configure
> make
> su
# PATH=/usr/local/bin:/bin:/usr/bin:/usr/ccs/bin;export PATH
# LD_LIBRARY_PATH=/usr/local/lib:/lib:/usr/lib;export LD_LIBRARY_PATH

# /usr/sbin/pkgrm SUNWgtar

# make install


===感想
Solarisもgccのバージョン4パッケージを作ってほしいなーと思う。
誰かパッケージ化してくれないかなー。

0 件のコメント: