python - インストール - runtimeerror broken toolchain cannot link a simple c program




pipインストールの問題numpy-RuntimeError:壊れたツールチェーン:単純なCプログラムをリンクできません (8)

Docker(Alpine)とPython 3.xでは、これは私にとってはうまくいった:

RUN apk add make automake gcc g++ subversion python3-dev

virturalenvにnumpy(とscipyとmatplotlib)をインストールしようとしています。

私はこれらのエラーを続けている:

RuntimeError: Broken toolchain: cannot link a simple C program

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1

xcode用のコマンドラインツールがインストールされている

$ which gcc
/usr/bin/gcc
$ which cc
/usr/bin/cc

私はMac OSX 10.9を使用しています。

編集
はい、ピップでインストールしようとしています。
トレースバック全体が巨大(> 400行)

ここにその一部があります:

C compiler: cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe



compile options: '-Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -Inumpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'

cc: _configtest.c

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

failure.

removing: _configtest.c _configtest.o

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 192, in <module>

    setup_package()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/setup.py", line 185, in setup_package

    configuration=configuration )

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/core.py", line 169, in setup

    return old_setup(**new_attr)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup

    dist.run_commands()

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands

    self.run_command(cmd)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/egg_info.py", line 10, in run

    self.run_command("build_src")

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command

    self.distribution.run_command(command)

  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 153, in run

    self.build_sources()

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 164, in build_sources

    self.build_library_sources(*libname_info)

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 299, in build_library_sources

    sources = self.generate_sources(sources, (lib_name, build_info))

  File "/Users/bdhammel/Documents/research_programming/julia_env/build/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources

    source = func(extension, build_dir)

  File "numpy/core/setup.py", line 674, in get_mathlib_info

    raise RuntimeError("Broken toolchain: cannot link a simple C program")

RuntimeError: Broken toolchain: cannot link a simple C program

Fedora 22では、これはpip自身を更新することで解決しました: sudo pip install --upgrade pip


Xcodeを開いて契約に同意し、ツールをインストールするだけでした。 私はPyCharmに戻ってnumpyを何も問題なくインストールし直しました。


sudoを使用したくない場合(venvを使用するときに許可とそのようなものが保存されるように)、ARCHFLAGS宣言を.bash_profileに追加して通常どおりに実行することができます。 これは、venverで使用しているMavericksとXcode 5.1で私にとってはうまくいった:

〜/ .bash_profileに:

ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-futureをエクスポートします。

次に、次のコマンドを実行します。

pip install --upgrade numpy


つまり、Cコンパイラが見つかりません。 他のコンパイラがリンクできない場合は、gccコンパイラをインストールしてみてください。


上記はpython3-devをインストールした後でなければ私にとってはうまくいきませんでした。


問題は、コンパイルできないことです。

まず、Xcodeで新しい利用規約に同意したことを確認してください。 これを行うには、xCodeを開いて受け入れます。

次に、gccを

brew install gcc

最後に、Numpyを

pip install numpy

お役に立てれば。


場合によっては、OS XがXCodeをアップグレードした後で、XCodeは新しいライセンスを受け入れるために(管理者権限を持つ)ユーザを必要とします。 ライセンスが受け入れられるまで、clangとgccはコードをコンパイルしてリンクしようとするとエラーを出します。 または少なくともPythonパッケージ。

XCodeを起動してライセンスを受け入れると、エラーは表示されなくなります。

少なくとも、これは私の場合に当てはまりました。