🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

Q&A

解決済

1回答

6313閲覧

oracle_fdwのmakefileのコンパイルでエラー

suo_k

総合スコア10

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

0グッド

0クリップ

投稿2020/12/16 12:59

編集2020/12/17 01:14

実現したいこと

oracle_fdwの導入

発生している問題・エラーメッセージ

PostgreSQLからOracleのテーブルを参照したいため
下記Webサイトを参考にoracle_fdwの導入を進めています。
oracle_fdwのmakefileのコンパイルでエラーとなっており、アドバイスをいただけないでしょうか。
※詳細は下記に記載。

[oracle_fdwインストール参考Webサイト]
oracle_fdw を使ってみる(前編)

[実施環境]
OS:CentOS 7.7
DB:PostgreSQL12.4

[インストールソフトウェア]
oracle_fdw oracle_fdw-ORACLE_FDW_2_3_0.zip

【OCI ライブラリ】
Basic Package (RPM) oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
Instant Client Package (RPM) oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

詳細

①OCI ライブラリをインストール後oracle_fdwのmakefileのコンパイルで下記「エラーメッセージ1」の
「postgres.h: そのようなファイルやディレクトリはありません」が出てきました。

②その後「yum search postgresql|grep devel」コマンドにて「postgresql12-devel.x86_64」の
開発パッケージがあるとこを確認し、「yum install postgresql12-devel」にて
インストールしようとしましたが「エラーメッセージ2」の
「エラー: パッケージ: postgresql12-devel-12.5-1PGDG.rhel7.x86_64 (pgdg12)
要求: llvm5.0-devel >= 5.0
エラー: パッケージ: postgresql12-devel-12.5-1PGDG.rhel7.x86_64 (pgdg12)
要求: llvm-toolset-7-clang >= 4.0.1」

③下記Webサイトを参考に「yum -y install epel-release centos-release-scl」にて
必要リポジトリを追加しようとしましたが
「パッケージ centos-release-scl は利用できません。」
となります。
CentOS7で PostgreSQL の開発パッケージがインストールできなくなったら

上記①~③の順に原因を確認していきましたが③のところで以降の対応方法を模索しております。

[エラーメッセージ1] gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DLINUX _OOM_SCORE_ADJ=0 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-stric t-aliasing -fwrapv -fexcess-precision=standard -fPIC -I/usr/lib/oracle/12.2/client64/sdk/include -I/usr/lib/oracle/12.2/client64/oci/include -I/usr/lib/oracle/1 2.2/client64/rdbms/public -I/usr/lib/oracle/12.2/client64 -I/usr/include/oracle/19.8/client -I/usr/include/oracle/19.8/client64 -I/usr/include/oracle/19.6/clien t -I/usr/include/oracle/19.6/client64 -I/usr/include/oracle/19.3/client -I/usr/include/oracle/19.3/client64 -I/usr/include/oracle/18.5/client -I/usr/include/ora cle/18.5/client64 -I/usr/include/oracle/18.3/client -I/usr/include/oracle/18.3/client64 -I/usr/include/oracle/12.2/client -I/usr/include/oracle/12.2/client64 -I /usr/include/oracle/12.1/client -I/usr/include/oracle/12.1/client64 -I/usr/include/oracle/11.2/client -I/usr/include/oracle/11.2/client64 -I/usr/include/oracle/ 11.1/client -I/usr/include/oracle/11.1/client64 -I/usr/include/oracle/10.2.0.5/client -I/usr/include/oracle/10.2.0.5/client64 -I/usr/include/oracle/10.2.0.4/cli ent -I/usr/include/oracle/10.2.0.4/client64 -I/usr/include/oracle/10.2.0.3/client -I/usr/include/oracle/10.2.0.3/client64 -I. -I. -I/usr/pgsql-12/include/server -I/usr/pgsql-12/include/internal -D_GNU_SOURCE -I/usr/include/libxml2 -c -o oracle_fdw.o oracle_fdw.c oracle_fdw.c:8:22: 致命的エラー: postgres.h: そのようなファイルやディレクトリはありません #include "postgres.h" [エラーメッセージ2] [root@XXXXX]# yum install postgresql12-devel 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.cat.net * extras: mirrors.cat.net * updates: mirrors.cat.net 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ postgresql12-devel.x86_64 0:12.5-1PGDG.rhel7 を インストール  …省略… --> 依存性解決を終了しました。 エラー: パッケージ: postgresql12-devel-12.5-1PGDG.rhel7.x86_64 (pgdg12) 要求: llvm5.0-devel >= 5.0 エラー: パッケージ: postgresql12-devel-12.5-1PGDG.rhel7.x86_64 (pgdg12) 要求: llvm-toolset-7-clang >= 4.0.1 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suo_k

2020/12/17 01:21

ご指摘いただきありがとうございます。 URLについて修正いたしました。 質問内容について情報等お持ちでしたらご教授いただければ幸いです。
guest

回答1

0

自己解決

yumコマンドではcentos-release-sclができなかったため
rpmコマンドにてローカルにダウンロードしたrpmファイルよりインストール
(依存関係のものも同様に実施)
rpm -ivh centos-release-scl-2-3.el7.centos.noarch.rpm
rpm -ivh centos-release-scl-rh-2-3.el7.centos.noarch.rpm

上記、導入後postgresの開発パッケージを導入がyumにて可能になった。
yum install postgresql12-devel

以降のoracle_fdwのインストールについては参考URLの手順にてインストール、設定、
oracleテーブルへのアクセスが可能になった。

oracle_fdw を使ってみる(前編

投稿2020/12/23 11:50

suo_k

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問