中古格安SunサーバでFirebirdに挑戦!
 エラーメッセージとの戦いの果てに……


前回の記事では、ネットオークションで入手した中古のSunサーバにSolaris 10をインストールして、起動するところまでを解説しました。今度は、Firebirdをインストールしてデータベースサーバに仕立ててみましょう(編集部)

Firebird日本ユーザー会

アナハイムテクノロジー株式会社
はやし つとむ
2008/12/26

 前回「中古格安SunサーバでSolarisに挑戦!」では、中古で手に入れたSunのサーバV210にSolaris 10をインストールして、起動するところまでを解説しました。中古とはいえちゃんとしたSPARCサーバなので、サン・マイクロシステムズのSCSA認定試験の実習などに使ったりするには十分でしょう。

 問題があるとすれば、ものすごい音がするということでしょうか。どれくらいかというと、先日イタリアで開催されたFirebirdワールドカンファレンスに向かう際に搭乗したボーイング747型機の2階席で聞こえるエンジン音と同じくらい、といえば想像できるでしょうか。いや、隣の部屋に置いておいても、それくらいの音がするんです。いやいや、本番のサーバとして使うわけではないので、夜は電源を落とせばいいんですよね!

 さて、前回はOSの起動までということでしたが、いくら何でも動いただけで喜んでいるだけではもったいないですね。そこで今回は、せっかくインストールしたSolaris 10をデータベースサーバとして利用することを想定し、Firebirdをソースコードからビルドし、インストールまでしてみます。

関連記事:
連載記事「Yet another OSS DB:Firebird」
http://www.atmarkit.co.jp/fdb/index/subindex/firebird_subindex.html

GNUビルド環境の整備

 Solaris10 5/08には、gccglibcなどの基本的なツールやライブラリがあらかじめインストールされています。しかし、オープンソース系の開発に必須となっているautomakeautoconfなど重要なツール類が不足していますので、このままでは、Firebirdに限らずほとんどのオープンソース製品をビルドすることができません。

 しかし、Steve Christensen氏が運営しているhttp://www.sunfreeware.com/というサイトに、必要なツール類のコンパイル済みバイナリのパッケージがそろっています。サン・マイクロシステムズのサイトでも「ここを参照してね」と紹介されていますので、ここからまずは必要なパッケージをダウンロードしていきます。

・インストールしたパッケージ

autoconf-2.63-sol10-sparc-local
automake-1.10.1-sol10-sparc-local
bison-2.3-sol10-sparc-local
bzip2-1.0.5-sol10-sparc-local
coreutils-6.4-sol10-sparc-local
cvs-1.11.23-sol10-sparc-local
diffutils-2.8.1-sol10-sparc-local
findutils-4.4.0-sol10-sparc-local
flex-2.5.35-sol10-sparc-local
gawk-3.1.6-sol10-sparc-local
gmp-4.2.1-sol10-sparc-local
grep-2.5.3-sol10-sparc-local
libgcc-3.4.6-sol10-sparc-local
libiconv-1.11-sol10-sparc-local
libintl-3.4.0-sol10-sparc-local
libtool-1.5.24-sol10-sparc-local
libungif-4.1.4-sol10-sparc-local
m4-1.4.10-sol10-sparc-local
make-3.81-sol10-sparc-local
mc-4.6.1-sol10-sparc-local
ncurses-5.6-sol10-sparc-local
patch-2.5.4-sol10-sparc-local
pcre-7.8-sol10-sparc-local
readline-5.2-sol10-sparc-local
slang-2.1.4-sol10-sparc-local
wget-1.11.4-sol10-sparc-local

 ダウンロードしたパッケージはgzipされているので、gtarで解凍しておきます。解凍したら、pkgaddコマンドを使ってどんどんインストールしていきます。Solarisのパッケージ管理コマンドの使用方法は以下のようになっています。また、パッケージ関連のコマンドはrootでないと実行できません。

#pkgadd -d パッケージファイル名
パッケージの追加

 インストールしたパッケージがちゃんと入っているかどうか確認するためには、pkginfoコマンドを使います。Linuxでのrpm -qa | grep hogehogeと同じように、pkginfo | grep hogehogeとすれば、そのパッケージがインストールされているかどうかを確認できます。

# pkginfo | grep gcc
system      SUNWgcc            gcc - The GNU C compiler
system      SUNWgccruntime     GCC Runtime libraries
パッケージの情報

 ここで、真ん中の列に「SUNWgcc」などとありますが、これがパッケージ名となっていて、より詳細な情報が必要な場合には、pkginfoコマンドに-lオプションを付けてパッケージ名を指定します。

# pkginfo -l SUNWgcc
   PKGINST: SUNWgcc
      NAME: gcc - The GNU C compiler
  CATEGORY: system
      ARCH: sparc
   VERSION: 11.10.0,REV=2005.01.08.05.16
   BASEDIR: /
    VENDOR: Sun Microsystems, Inc.
      DESC: GNU C - The GNU C compiler 3.4.3
    PSTAMP: sfw10-patch20080308110738
  INSTDATE: 10月 29 2008 15:18
   HOTLINE: Please contact your local service provider
    STATUS: 完全にインストールされました。
     FILES: 296 のインストールされたパス名
              6 の共有パス名
              5 のリンクされたファイル
             25 のディレクトリ
             33 の実行可能ファイル
         104105 ブロック (概算値) が使われました
パッケージの詳細情報

 最後に、いまどきボーンシェルでは使いづらいので、/etc/passwdを編集してbashに変更しておきます。ついでにrootのホームディレクトリとシェルも変更してしまいましょう。昔は「rootのシェルは変えちゃいけない」なんていっていましたが、まあ問題ないでしょう。ああ、書き損じると直すのが大変かもしれませんね……。

root:x:0:0:Super-User:/:/bin/sh
tomneko:x:100:1::/home/tomneko:/bin/sh
root:x:0:0:Super-User:/root:/bin/bash
tomneko:x:100:1::/home/tomneko:/bin/bash
※ # /usr/sbin/usermod -d /root -s /bin/bash rootとすれば、コマンドでの変更も可能です。

Firebirdのビルド

 さて、ビルド環境が構築されたところで、本題のFirebirdを準備します。今回のターゲットはFirebird-2.0.4としました。以下のURLからソースコードのtarボールをダウンロードします。

関連リンク:
リンク Firebirdプロジェクトのダウンロードページ
http://www.firebirdsql.org/index.php?op=files&id=engine_204
リンク ダウンロードするソースコードのtarボール
Firebird-2.0.4.13130-1.tar.bz2

 Solaris 10のバイナリもあるのですが、残念ながら最新版はi386プラットフォーム向けのものだけです。x86環境でのSolarisも一般化しつつあるのでしょうが、どうせならSPARC版もそろえたいところですね。SPARC向けのものは、Firebird CS-2.0.3が最新となっていました。

 ファイルをダウンロードしたら、解凍します。この際に、SUNのtarを使うと変なエラーが出てうまくいかないので、GNU tarを使わないといけません。GNU tarだとbzip2もいっぺんに解凍できるので便利ですしね。また、Solarisのデフォルト設定でパーティションを設定したので、/usrにはあまり空きがなく、逆に/homeは大いに余裕があるため、ホームディレクトリで作業をすることにします。

$wget http://jaist.dl.sourceforge.net/sourceforge/firebird/Firebird-2.0.4.13130-1.tar.bz2
$gtar xjf Firebird-2.0.4.13130-1.tar.bz2

 ソースコードを解凍したらベースディレクトリに入って、準備作業を行います。まずは、ベースディレクトリにあるautogen.shを実行します……。いきなりエラーです。

Solaris編へ
1/3

Index
中古格安SunサーバでFirbirdに挑戦!
 エラーメッセージとの戦いの果てに……
Page 1
 GNUビルド環境の整備
 Firebirdのビルド
  Page 2
 続々出現、エラーメッセージとの戦い
  Page 3
 いざ、インストール
 SPARCサーバで脱! 非モテ!

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間