1

adns-pythonLinux を使用してインストールしようとしていて、いくつかの特別なオプションで再コンパイルする必要があったため、通常どおりadnsに使用できないようですeasy_install <tarball>

(py26_default)[mpenning@localhost src]$ easy_install adns-python-1.2.1.tar.gz
Processing adns-python-1.2.1.tar.gz
Running adns-python-1.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-9cVl4i/adns-python-1.2.1/egg-dist-tmp-vvO8Ms
adnsmodule.c:10:18: error: adns.h: No such file or directory
adnsmodule.c:31: error: expected specifier-qualifier-list before âadns_stateâ

adns.hの下にインストールされ/opt/adns/include/adns.hます。のローカル インストールで easy_install インストールを行うにはどうすればよいadnsですか?

編集

以下の試行の後、ldエクスポートしたにもかかわらず、まだエラーが見つかりますLD_LIBRARY_PATH...

(py26_default)[mpenning@localhost src]$ ls /opt/adns/lib/
libadns.a  libadns.so  libadns.so.1  libadns.so.1.2
(py26_default)[mpenning@localhost src]$ export LD_LIBRARY_PATH=/opt/adns/lib
(py26_default)[mpenning@localhost src]$ C_INCLUDE_PATH=/opt/adns/include easy_install ./adns-python-1.2.1.tar.gz
Processing adns-python-1.2.1.tar.gz
Running adns-python-1.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-x68T9f/adns-python-1.2.1/egg-dist-tmp-MpCzMP
/usr/bin/ld: cannot find -ladns
collect2: ld returned 1 exit status
error: Setup script exited with error: command 'gcc' failed with exit status 1
(py26_default)[mpenning@localhost src]$ 
4

2 に答える 2

3

LD_LIBRARY_PATH は、リンク時ではなく、実行時 (実行可能ファイルの実行時) に共有ライブラリを見つけるために使用されます。

拡張機能をビルドするには、tarball を展開して以下を実行します。

python setup.py build_ext -I/opt/adns/include -L/opt/adns/lib -R/opt/adns/lib

インストールするには:

python setup.py install

で build_ext オプションを指定できますsetup.cfg

[build_ext]
include_dirs=/opt/adns/include
library_dirs=/opt/adns/lib
rpath=/opt/adns/lib

この場合、easy_install を直接実行できます。

于 2012-08-12T00:31:47.067 に答える
0

このようにしてみてください

INCLUDE_PATH=/opt/adns/include easy_install adns-python-1.2.1.tar.gz

うまくいかない場合は または を試してCPLUS_INCLUDE_PATHくださいC_INCLUDE_PATH

于 2012-08-09T19:03:54.273 に答える