- PR -

LinuxにDBD-Oracle(DBD::Oracle)のMakefile失敗

1
投稿者投稿内容
カメ吉SE
常連さん
会議室デビュー日: 2006/07/09
投稿数: 34
投稿日時: 2007-02-06 15:10
いつもお世話になっております。

PerlからOracle10gにアクセスするためのドライバーのインストール作業を行いました。
LinuxにDBD-Oracleをインストールするため、Makefile.PLスクリプトを実行しようとしたのですが、エラーMSGが表示されてしまいました。
(今までCygwinで練習していたのですが、Linuxで作業を行うようになりました。)

※以下に、実行時の内容とモジュールのバージョン(リリース)を表示
Perl → 5.8.0(94.EL3)(注1)
perl-DBI → 1.32(9)(注1)
perl-DBD-Oracle → 1.19(注2)
注1:Linuxにプリインストール済みです。
注2:CPANからダウンロードしました。
CPAN


コード:
xxxxx @xxxxx
@DBD-OralceのMakefile.PLが入っているディレクトリに移動
/usr/local/tmp/DBD-Oracle-1.19

APerlスクリプトの実行
perl Makefile.PL

BエラーMSG
Using DBI 1.32 installed in /usr/lib/perl5/vendor_perl/5.8.0/i386-linx-thread-multi/auto/DBI

Configuring DBD::Oralce for perl 5.008 on linux (i386-linux-thread-multi)

Remember to actually *READ* the README file! Especially if you have any problems.

Trying to find an ORACLE_HOME
Your LD_LIBRARY_PATH env var is set to ''

The ORACLE_HOME environment variable is not set and I couldn't guess it.
It must be set to hold the path to an Oracle installation directory on this machine (or a machine with a compatible architecture)
See the README.clients.txt file for more information.
ABORTED



(1)エラーMSGを翻訳してみました。(間違っていたらすみません)
(概略)
/usr/…のDBIを使用します。
Linux上にperlのためのDBD::Oracleを構成します。
readmeファイルを読んでください。
あらゆる疑問をもってください。
ORACLE_HOMEを見つけようとします。
LD_LIBRARY_PATHのenv varは設定されます
oralce_ホーム環境変数は設定されませんでした、そして、私はそれを推測することができませんでした。
このマシンの上のOracleインストールディレクトリに経路を保つようにそれを設定しなければなりません。(または、コンパチブルアーキテクチャがあるマシン)
詳しい情報のためのreadme.clients.txtファイルを見てください。

(2)これでは良く分からない為、キーワードでWEB検索をしました。
そこで分かったことは、
1.Oracleクライアントのインストールおよび設定が必要です
参考1
2.Oracleユーザの環境が必要
参考2

質問内容
(1)Oracleクライアントをインストールするのはなぜでしょうか?
DBDから呼んでいるのでしょうか?
(2)環境変数は、ORALCE_HOMEだけでよいのでしょうか?また、何の為に環境変数を使用するのでしょうか?

申し訳ありませんが、参考になる情報をご教授の程、宜しくお願い致します。
質問の内容に不備な点が御座いましたら、ご指摘のほど宜しくお願い致します。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-02-06 19:13
こんばんは。それは単純に情報収集不足です。
DBD::Oracleモジュールに限らず、Oracleに接続する機能を持ったソフトは、大体 Oracleの OCIライブラリを利用してますから、ライブラリが入っていなければどうしようもありません。
Installing PHP and the Oracle 10g Instant Client for Linux and Windowsのように、PHP+Oracleのインストールのお話が参考になるでしょう。
※昔はインストールディスクから Oracle Client をインストールしたものですが、最近は Oracle Instant Client なる簡易版があるのですね。

DBD::Oracleに関しては、
引用:
Remember to actually *READ* the README file! Especially if you have any problems.


で、「README を読め!」と言われている通り。
引用:
READMEより:
*** *BEFORE* BUILDING, TESTING AND INSTALLING DBD::Oracle:
…(略)…
Install enough Oracle software to enable DBD::Oracle to build.

For Oracle Instant Client: that means install the following packages:
* The "Basic" package for the essential Oracle libraries.
* The "SDK" package for the headers and makefile.
* The "SQL*Plus" component is optional, but will help you check
your configuration and DBD::Oracle determine your Oracle version.


Oracle Instant Client で必要なパッケージ名が書いてありますね。
ちなみに、Oracle Client については、Readme.clients.txt で「古い」と書かれています。Oracle Instant Client 推奨のようです。

訂正:
Oracle Database、PHP、ApacheのLinuxへのインストールでは、Oracleクライアント系のインストールの話が無かったことに気付きまして、参考URLを訂正しました。

[ メッセージ編集済み 編集者: angel 編集日時 2007-02-06 20:47 ]
カメ吉SE
常連さん
会議室デビュー日: 2006/07/09
投稿数: 34
投稿日時: 2007-02-07 00:33
angelさん
ご返答ありがとうございます。

ご指摘のとおり、情報収集不足でした。
自分でも、何が悪いのか根本的な切り分けが出来ていない状態でした。
angelさんみたいに、何がどう悪いのかを指摘して頂けますと、自分でも理解が出来るようになります。
ありがとうございます。
今後は何がどう悪いのかを判断できるように努力していきます。

対処方法ですが、教えて頂いた方法にて作業を行っていきます。
どのように作業を行ったも今後、報告させて頂きたいと思います。
調査方法で質問させて頂くこともありますが、その際には、ご教授のほど宜しくお願い致します。
1

スキルアップ/キャリアアップ(JOB@IT)