2012-04-10 2 views
0

私は/usr/localにインストールしたプロトタイプライブラリとの競合に関連して、オープンソースパッケージを構築しようとしています。ここで、「正しい」バージョンは/usrです。プリコンパイラとリンカのパスから/ usr/localを削除するには?

% (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せずに設定してコンパイルしたいです。私は単にファイルシステムから/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 

:しかし

% (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オプションまたは環境変数で処理できるものが好きです。

特定のコンテキスト:/usrで必要な1が1.2.5であることを起こる一方で、私は、私は/usr/localzlibのv1.2.6をインストールしているOSXライオンにccacheを構築しています。このビルドは、実際にはスクリプト制御のMythTVビルドのすべてとその依存関係の一部として、ccacheなどの形で行われます。 「男のgcc」から

答えて

1

-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. 

はまた、プリコンパイラdo existながら、あなたがいずれかを使用していないことに注意してください - あなたは、通常のコンパイラを使用しているので、あなたは「事前コンパイラを呼び出しを停止すべきです"

+0

--nostdincを使用する場合は、残りの標準ディレクトリを復元する必要があります。どのように正確にそれらのリストを取得しますか? –

+0

@BrianB 'gcc -v -xc/dev/null'を試してみてください –

関連する問題