dポイントプレゼントキャンペーン実施中!

LinuxでC言語にてコンパイルをする際に(makefileを使用)にポスグレのライブラリが見つからないという下記エラーが出力されます。
しかしポスグレのライブラリはmakefileにて指定した箇所(-Lオプションにて/opt/prov/pgsql/libを指定)に存在しています。
makefileに誤りがなく、シンボリックリンクも正確に貼られていると考えると他にどのような原因が考えられるのでしょうか?(環境変数の設定等でしょうか??)

エラー
-------------
/usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.so when searching for -lpq
/usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.a when searching for -lpq
/usr/bin/ld: cannot find -lpq

ボスグレのライブラリは存在している
----------
-rw-r--r-- 1 postgres postgres 126994 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.a
lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so -> libpq.so.2.2
lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2 -> libpq.so.2.2
-rwxr-xr-x 1 postgres postgres 90659 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2.2

A 回答 (2件)

環境が x86-64 で



/opt/prov/pgsql/lib/libpq.so

ではなく

/opt/prov/pgsql/lib64/libpq.so

とリンクしなければならないということはありませんか?
であれば、configure時に適切にLDFLAGSを設定しておく必要があります。

LDFLAGS=-L/opt/prov/pgsql/lib64 \
LD_LIBRARY_PATH=/opt/prov/pgsql/lib64 \
./configure ...
    • good
    • 0

ld のメッセージから原因を推測できませんか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す