3

私はオンラインチュートリアルに従って自作を使用していくつかのPythonモジュールをインストールし、1つのステップは。を使用してgfortranをインストールすることでしたbrew install gfortran後で、別のサードパーティのインストールスクリプトを使用していくつかのPythonモジュールをインストールしようとしましたが、その後、スクリプトの実行の一部がhttp://r.research.att.com/tools/gcc-のダウンロードと実行であることに気付きました。 42-5666.3-darwin11.pkg。gfortranについてはあまりよくわかりませんが、gfortranのbrew式を見ると、brewはatt.comのものとは異なるバージョンを使用しているようです。それは将来問題につながるのでしょうか?私がやっbrew uninstall gfortranbrew install gfortran繰り返しになりますが、これまでのところ同じように見えます(以前にコンパイルした古いコードを再コンパイルしようとしました)が、att.comのすべてのパッケージが何をしたのかわかりません。(私はOS X10.8.2とXCode4.2を持っています)。

4

1 に答える 1

1

これは、他のgfortranインストーラーがどこに行くかによって異なります。一般的に、いいえ、競合しません。* Homebrewは、サードパーティのインストールと互換性があるように設計されています。特定のHomebrew式gfortranではなく、一般的な「fortran」コンパイラへの依存関係を定義します。gfortranHomebrewは/usr/ localの下にとどまり、メインインストールを/ usr / local / Cellarに固定し、慎重に/ usr / local/libにシンボリックリンクします。/ usr / localにインストールする他のインストーラーは、Homebrewが独自のコンパイラーをリンクするのを防ぐだけですが、Fortranコンパイラーを使用する他の式では機能します。gfortran(ビルドオプションに互換性があると仮定します。)

/usrリンク先の特定のgcc-42インストーラーは、。**ではなく、にインストールします/usr/local。そのバイナリには「-4.2」という接尾辞が付いています。つまり、、、などをインストールしcpp-4.2ます。したがって、a)Homebrew gfortranとの直接の競合はなく、b)Homebrewによってインストールされたものを直接シャドウイングすることはありません。g++-4.2gfortran-4.2/usr/local/bin/gfortran

これらのgfortransをインストールしてビルドしたものがどちらのコンパイラを選択するかは、ビルドの動作によって異なりますgfortranが、AT&Tが提供するコンパイラに明示的に指示しない限り、ほとんどのコンパイラはプレーンを探しているため、Homebrewのコンパイラを見つけます。構築方法は指定しませんが、brewを使用しているので、経由brewツールまたはコマンドラインツールを使用していると思います。その場合、おそらくすべての人がHomebrew gfortranを見て、これを無視していると思います。ビルドプロセスからの詳細な出力を見て、確実に調べてください。


*もちろん、「競合」の意味によって異なります。

**補足:AFAIKには、パッケージまたはインストールマネージャーを見てこれを理解する簡単な方法はありません。そのインストーラーを実行するfind /usr前後に実行しdiff、出力に対して実行しました。

$ diff usr_before_any_installs.txt usr_after_att_install.txt | grep '^[<>]'
> /usr/bin/c++-4.2
> /usr/bin/cpp-4.2
> /usr/bin/g++-4.2
> /usr/bin/gcc-4.2
> /usr/bin/gfortran-4.2
> /usr/bin/i686-apple-darwin11-cpp-4.2.1
> /usr/bin/i686-apple-darwin11-g++-4.2.1
> /usr/bin/i686-apple-darwin11-gcc-4.2.1
> /usr/bin/i686-apple-darwin11-gfortran-4.2.1
> /usr/include/gcc
> /usr/include/gcc/darwin
> /usr/include/gcc/darwin/4.2
...
于 2013-04-25T03:08:21.117 に答える