0

オープンソースパッケージをビルドしようとしています/usr/localが、「正しい」バージョンが存在するにインストールしたプロトタイプライブラリとの競合に関連する問題が発生しています/usr

% (make distclean>/dev/null; ./configure > no_env_conf.log 2>& 1; make > no_env_make.log 2>&1 && echo Success || echo 'Build Error')
Build Error

/usr/localプリコンパイルパスまたはリンカーパスを使用せずに構成およびコンパイルしたい。適切な環境変数を指定することでそれができると思いましたが、それはうまくいきません。

% (make distclean>/dev/null; CFLAGS=-I/usr/include LDFLAGS=-L/usr/lib ./configure > no_env_conf.log 2>& 1; make > no_env_make.log 2>&1 && echo Success || echo 'Build Error')
Build Error

/usr/localしかし、ファイルシステムから削除するだけで、すべてが機能します。

% (sudo mv /usr/local /usr/local_off; make distclean>/dev/null; ./configure > no_env_conf.log 2>& 1; make > no_env_make.log 2>&1 && echo Success || echo 'Compile Error'; sudo mv /usr/local_off /usr/local )
Success

/usr/localプリコンパイラとリンカによって使用されるパスから削除する方法はありますか?configure特に、オプションや環境変数で処理できるものが欲しいです。

特定のコンテキスト:inccacheのv1.2.6をインストールしたOSX Lionをベースに構築していますが、必要なinはたまたま1.2.5です。このビルドは、実際にはMythTVのより広範なスクリプト制御ビルドの一部として行われ、を含むすべての依存関係があります。zlib/usr/local/usrccache

4

1 に答える 1

1

「mangcc」から:

-nostdinc
   Do not search the standard system directories for header files.
   Only the directories you have specified with -I options (and the
   directory of the current file, if appropriate) are searched.

また、プリコンパイラは存在しますが、使用していないことに注意してください。通常のコンパイラを使用しているため、「プリコンパイラ」と呼ぶのはやめるべきです。

于 2012-04-10T03:55:59.590 に答える