6

virtualenv & pipを介して、PyProjをWebFaction VMにインストールしようとしています。コンパイル エラーが発生します。私はこのコマンドを使用しています:

$ pip install pyproj

多くの出力があり、これで終了します。

src/geodesic.c: In function ‘InverseStart’:

src/geodesic.c:1093: error: ISO C90 forbids mixed declarations and code

error: command 'gcc' failed with exit status 1

----------------------------------------
Command "/home/<user>/webapps/<webapp>/env/py34/bin/python3.4 -c "import setuptools, tokenize;__file__='/tmp/pip-build-ow1vcsjk/pyproj/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-cl2pbd20-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/<user>/webapps/<webapp>/env/py34/include/site/python3.4" failed with error code 1 in /tmp/pip-build-ow1vcsjk/pyproj

どこから始めればよいかよくわかりません。この SO の質問から収集した問題は、PyProj での C90 との互換性にあり、代わりに C99 に対してコンパイルする可能性があります。推測です。

前述のように、これはシェル アクセスを持つリモート VM 上にあります。開発マシン (Mac) に一致する Virtualenv があり、問題なくコンパイルされます。ただし、さまざまなコンパイラがあります。

開発:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)

仮想マシン:

$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)

アイデア?前もって感謝します。

4

1 に答える 1

7

問題は、VM 上の GCC のバージョンがデフォルトで ISO C90 標準になっているのに、pyproj コードがそれと互換性がないことです。代わりに GCC に C99 を使用させるには、それに応じて CFLAGS 環境変数を設定する必要があります。

export CFLAGS='-std=c99'

その後、再度実行pip install pyprojします。私はヘルピーで同じ問題を抱えていますが、これは私にとってはうまくいきます。

于 2015-04-28T01:50:36.157 に答える