中古格安SunサーバでFirebirdに挑戦!
エラーメッセージとの戦いの果てに……
Firebird日本ユーザー会
アナハイムテクノロジー株式会社
はやし つとむ
2008/12/26
続々出現、エラーメッセージとの戦い
シェルのテストコマンドが失敗しているようです。いろいろ調べた結果、以下のように二重引用符で囲まないと駄目なようです。ちなみに、先頭行の/bin/shを/bin/bashにするだけでも問題が解決します。
(1)autogen.shを修正する
$cd Firebird-2.0.4.13130-1 |
さて、これでautogen.shを実行すると、いつものconfigureスクリプトが走って、ずらずらとビルド環境の設定が行われていきます。取りあえず何もオプションを付けないで実行したので、デフォルトのClassicServerとなっています。
では、makeしてみましょう……。またまたエラーです。今度は、libeditの辺りでエラーが出ています。Firebird Foundationのボス、Paul Beachがブログ(http://paulbeachsblog.blogspot.com/)で「Solarisのlibeditが駄目なんで、別途コンパイルしたライブラリを静的にリンクした」とか書いていたので、ここは取りあえず地雷を踏まないように、autogen.hsのオプションでよけてしまいます。
(2)libeditに問題あり
$ make clean |
さあ、これでどうだと再開したところ、今度はintl関連のモジュール、つまり多言語対応の辺りでエラーが出ています。INT_MAXが定義されていないということですが、該当の個所を見るとWindows環境でも同じような状況だったようで、対応がされていたため、同じようにして回避します。
(3)src/intl/lc_iso8859_1.cppを修正する
<---iso8859_1.patch---> |
ここまできたらどうだ、といいたいところですが、まだエラーが続きます。今度は、jrd/common.hの辺りでSFIOが定義されてないから駄目だといっているようです。
うーむ……。いろいろ見ていくと、-Dフラグを定義してあげればよいようです。どこに書けばよいかは勘で探したところ、builds/posixの中にプラットフォーム依存関係の定義があるので、ここに追加してみたところうまくいきました。
(4)builds/posix/prefix.solarisを修正する
<---prefix.solaris.patch---> |
最後におまけですが、今回の環境では問題が起きませんでしたが、実はサン・マイクロシステムズのT2でFirebirdをビルドしたときには、ビルドの途中でサンプルデータベースを生成するところでデッドロックが発生してしまいフリーズしたので、FirebirdプロジェクトのAlex Peshkovに相談して解決したことがあります。V210では問題が起きないようですが、念のためパッチを当てておきましょう。
(5)src/lock/lock.cppを修正する
<---lock.patch---> |
さて、それではビルドしてみましょう。今回はprefixオプションも付けて、Firebirdのインストール先をデフォルトの/usr/local/firebirdから/usr/local/firebird204csに変更します。そうしておくと、あとで別のバージョンを入れるときに分かりやすいですからね(笑)。
$ ./autogen.sh --with-editline=no --prefix=/usr/local/firebird204cs |
さて、ここでいつものとおりmake installとするわけですが、またまたこれがうまくいきません。トラブルシューティングが好きな人でないと、こんなことまでして使いたくないよ、といわれてしまうかもしれませんね。
2/3 |
|
||||||
|
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フォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|