事前準備
ソフトは全部$HOME/rootにインストールするので、その準備。
ちなみに%が一般ユーザ、#がルート作業です(Linuxの時はだいたい$が一般ユーザだよね…まぁどっちでもいいんだけど)。
…でもroot作業ってないんだった。
% cd ~/
% mkdir ~/root
% mkdir ~/root/bin
% mkdir ~/root/sbin
% mkdir ~/root/lib
% vi ~/.cshrc
~/.cshrcに次の行を追加。
ただ、bashの場合は~/.bash_profileでexportコマンドになる(が、今回はtcshなので説明は割愛)。
setenv PATH /home/hoge/root/bin:/home/hoge/root/sbin:${PATH}
setenv LD_LIBRARY_PATH /home/hoge/root/lib
最期に設定の再読み込み(別に再度ログインするだけでもOK)。
% source ~/.cshrc
% rehash
lighttpdのインストールその1
Webサーバのlighttpd-1.4.13をインストール。
必要なさそうな機能は削りまくる…が、webdavなんかはどうしても無効にならない…何故だろう…。
% tar zxvf lighttpd-1.4.13.tar.gz
% cd lighttpd-1.4.13
% ./configure --without-webdav-props --without-webdav-locks --without-ldap --without-bzip2 --without-gzip --without-gdbm --without-lua --without-memcache --disable-ipv6 --prefix=/home/hoge/root
% make
〜略〜
unknown C standard `gnu99'
*** Error code 1
%
エラーで止まる。どうやら付属のgccのバージョンが古すぎるっぽい。
なのでgcc3系の最新版を入れてみる。
gccのインストールその1
コンパイラgcc-3.4.6をインストール。
% tar zxvf gcc-3.4.6.tar.gz
% mkdir build-gcc-3.4.6
% cd build-gcc-3.4.6/
% ../gcc-3.4.6/configure --prefix=/home/hoge/root --enable-shared --with-gnu-ld --enable-threads --enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --build=i386-unknown-freebsd4.10 --host=i386-unknown-freebsd4.10 --enable-clocale=gnu
% make
〜略〜
byacc --name-prefix=__gettext --output plural.c ../../gcc-3.4.6/intl/plural.y
usage: yacc [-dlrtv] [-b file_prefix] [-o output_filename]
[-p symbol_prefix] filename
*** Error code 1
%
エラーで止まる。FreeBSD付属のbyaccじゃダメみたい。GNUのyaccが入ってるbisonを入れてみる。
bisonのインストールその1
gccがGNUのyaccを使いたがるので、yaccが入ってるbison-2.1をインストール。
% tar zxvf bison-2.1.tar.gz
% cd bison-2.1
% ./configure --prefix=/home/hoge/root
〜略〜
checking whether m4 supports frozen files... no
configure: error: GNU M4 1.4 is required
%
GNU M4がないぞと怒られる。GNU M4を入れよう。
m4のインストールその1
bisonのコンパイルの為にm4-1.4.8をインストール。
% tar zxvf m4-1.4.8.tar.gz
% cd m4-1.4.8
% ./configure --prefix=/home/hoge/root
% make
〜略〜
./m4.texinfo:451: Unknown command `'.
./m4.texinfo:1999: Unknown command `'.
./m4.texinfo:2001: Unknown command `'.
%
今度はtexinfoがエラー吐いている。取りあえず新しいtexinfoを入れてみる。
texinfoのインストール
lighttpdを入れたいだけなのにそれに必要なソフトが増殖。いやがらせだ。
今度はtexinfo-4.8aをインストール。
% tar zxvf texinfo-4.8.tar.gz
% cd texinfo-4.8
% ./configure --prefix=/home/hoge/root
% make
% make install
% rehash
インストールできた。次はm4インストールに再チャレンジ。
m4のインストールその2
m4-1.4.8に再チャレンジ。
% tar zxvf m4-1.4.8.tar.gz
% cd m4-1.4.8
% ./configure --prefix=/home/hoge/root
% make
% make install
% rehash
インストールできた。次はbisonに再チャレンジ。
bisonのインストールその2
bison-2.1に再チャレンジ。
% tar zxvf bison-2.1.tar.gz
% cd bison-2.1
% ./configure --prefix=/home/hoge/root
% make
% make install
% rehash
インストールできた。次はgccに再チャレンジ。
gccのインストールその2
gcc-3.4.6に再チャレンジ。
% tar zxvf gcc-3.4.6.tar.gz
% mkdir build-gcc-3.4.6
% cd build-gcc-3.4.6/
% ../gcc-3.4.6/configure --prefix=/home/hoge/root --enable-shared --with-gnu-ld --enable-threads --enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --build=i386-unknown-freebsd4.10 --host=i386-unknown-freebsd4.10 --enable-clocale=gnu
% make
〜略〜
"Makefile", line 777: Need an operator
"Makefile", line 778: Need an operator
"Makefile", line 779: Need an operator
"Makefile", line 780: Need an operator
"Makefile", line 781: Need an operator
"Makefile", line 782: Need an operator
"Makefile", line 783: Need an operator
"Makefile", line 784: Need an operator
"Makefile", line 785: Need an operator
"Makefile", line 786: Need an operator
"Makefile", line 787: Need an operator
"Makefile", line 788: Need an operator
"Makefile", line 789: Need an operator
"Makefile", line 790: Need an operator
"Makefile", line 791: Need an operator
"Makefile", line 792: Need an operator
"Makefile", line 793: Need an operator
"Makefile", line 794: Need an operator
"Makefile", line 978: Need an operator
"Makefile", line 981: Missing dependency operator
"Makefile", line 983: Need an operator
"Makefile", line 989: Missing dependency operator
"Makefile", line 990: Could not find ../../gcc-3.4.6/gcc/config/t-slibgcc-elf-ver ../../gcc-3.4.6/gcc/config/t-freebsd ../../gcc-3.4.6/gcc/config/t-freebsd-thread ../../gcc-3.4.6/gcc/config/t-slibgcc-nolc-override
"Makefile", line 991: Need an operator
"Makefile", line 994: Missing dependency operator
"Makefile", line 995: Could not find
"Makefile", line 996: Need an operator
make: fatal errors encountered -- cannot continue
*** Error code 1
%
エラーが変わっただけでまだエラー。
FreeBSD付属のmakeじゃダメと…GNU make(gmake)を入れよう。
gmakeのインストールその1
FreeBSDのmakeだとgccがいやがるのでGNU make(gmake)-3.81をインストール。
% tar zxvf make-3.81.tar.gz
% cd make-3.81
% ./configure --prefix=/home/hoge/root
% make
% make install
% rehash
またまたgccに再チャレンジ。
gccのインストールその3
gcc-3.4.6に再々チャレンジ。
% tar zxvf gcc-3.4.6.tar.gz
% mkdir build-gcc-3.4.6
% cd build-gcc-3.4.6/
% ../gcc-3.4.6/configure --prefix=/home/hoge/root --enable-shared --with-gnu-ld --enable-threads --enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --build=i386-unknown-freebsd4.10 --host=i386-unknown-freebsd4.10 --enable-clocale=gnu
% gmake
〜中略〜
/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3/include/i386-unknown-freebsd4.10/bits/c++locale.h:61: error: `__locale_t' does not name a type
/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3/include/i386-unknown-freebsd4.10/bits/c++locale.h:75: error: expected `,' or `...' bef\
ore '&' token
/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3/include/i386-unknown-freebsd4.10/bits/c++locale.h: In function `int std::__convert_from_v(char*, int, const char*, _Tv, int)':
/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3/include/i386-unknown-freebsd4.10/bits/c++locale.h:86: error: `__prec' was not declared in this scope
gmake[3]: *** [allocator.lo] Error 1
gmake[3]: Leaving directory `/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/home/hoge/src/gcc/3.4.6-make/i386-unknown-freebsd4.10/libstdc++-v3'
gmake: *** [all-target-libstdc++-v3] Error 2
%
またエラー…。
調べたところglibcが足りない事っぽい所まで判明。
ただ、glibcはFreeBSDにいれることはできない(正確には素人や素人に毛が生えた程度じゃ無理=俺も無理)。
ここで手詰りと思ったんだけどこのエラーはc++で起きてるようだし、思い切ってc++のコンパイラは切り捨ててコンパイル(これが後の災いとなる)。
% tar zxvf gcc-3.4.6.tar.gz
% mkdir build-gcc-3.4.6
% cd build-gcc-3.4.6/
% ../gcc-3.4.6/configure --prefix=/home/hoge/root --enable-shared --with-gnu-ld --enable-threads --enable-languages=c --enable-threads=posix --enable-__cxa_atexit --build=i386-unknown-freebsd4.10 --host=i386-unknown-freebsd4.10 --enable-clocale=gnu
% gmake
% gmake install
% rehash
取りあえず入った。やっとlighttpdに再チャレンジ。
pcreのインストール
lighttpdに再チャレンジする前にpcreのインストール。
これはPerl互換の正規表現ライブラリで、lighttpdでmod_rewrite等使いたいときに必須。
% tar zxvf pcre-7.0.tar.gz
% cd pcre-7.0
% ./configure --prefix=/home/hoge/root
% make
% make install
% rehash
インストール完了。
今度こそlighttpdに再チャレンジ。
lighttpdのインストールその2
lighttpdに再チャレンジ。
% tar zxvf lighttpd-1.4.13.tar.gz
% cd lighttpd-1.4.13
% ./configure --without-webdav-props --without-webdav-locks --without-ldap --without-bzip2 --without-gzip --without-gdbm --without-lua --without-memcache --disable-ipv6 --prefix=/home/hoge/root
% make
% make install
% rehash
インストール完了。
ちゃんと動く稼働かは不明。
細かい設定は後まわし。
次の予定
mysqlのインストール。
phpが必要な各種ライブラリ(zlib,gd,libpng等)のインストール。
phpのインストール。
スピードアップ作戦でfastcgi,APCインストール。
…まだまだ先は長い。
続きは
その2へ。