LoginSignup
0
1

More than 3 years have passed since last update.

pycopg2のインストールエラーとopensslについて

Posted at

psycopg2をインストールしようとした際に下記エラーが発生

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'clang' failed with exit status 1

どうやらpsycopg2がC言語ベースの拡張モジュールなので、コンパイル作業が行われるわけですが、その際にリンカがsslライブラリを見失っている、というのがエラーの原因のようです。
ですので、このリンカが参照する箇所を環境変数として指定してあげれば良いようです。

C言語をやっているとmakefileなんかで指定する下記のフラグ

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

をそれぞれ指定します。
なおopensslなどがインストールされていない場合は適宜インストールしてください。
簡単に言うと(というか簡単にしか理解できてない)、LDFLAGSはリンカ(LD)が参照するフラグを指定し、
CPPFLAGSはC/C++が参照するフラグです
※Cのみの場合はCFLAGSですかね。psycopg2の中身を見たわけではないのでCPPFLAGSの方が無難かなと思ってます

これで再度brewなりpipなりでpsycopg2をインストールすればきっと成功するはずです。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1