web-dev-qa-db-ja.com

CFLAGSとLDFLAGSを "configure"に追加するための正しい構文は何ですか?

OpenVPNソースtarballを使用してOpenVPN 5.5にOpenVPNをインストールしたいと思います。

指示に従って ここ 、lzoをインストールする必要があります

cFCCS = "-I/usr/local/include" LDFLAGS = "-L/usr/local/lib"ディレクティブを "configure"に追加します。これは、gccが他のディレクティブを見つけられないためです。

OpenBSDで上記を行う方法についてのガイドを広範囲にググってみましたが、何もありません。

これは私がやろうとしていることです:

  1. 新しく作成したディレクトリにソースtarballを解凍します
  2. コマンド./configure CFLAGS = "-I/usr/local/include" LDFLAGS = "-L/usr/local/lib"を発行します
  3. コマンドmakeを発行します
  4. コマンドmake installを発行します

次の構文のうち正しいものはどれですか?

./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

または

./configure --CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

または

./configure --CFLAGS="-I/usr/local/include" --LDFLAGS="-L/usr/local/lib"
41
user66229

正しい方法は次のとおりです。

./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

ただし、これはすべてのconfigureスクリプトで機能しない場合があります。 CPATHLIBRARY_PATHなどの環境変数を設定することをお勧めします(gccのマニュアルページを参照)。

例:

export CPATH=/usr/local/include
export LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib

たとえば.profileで。 LD_LIBRARY_PATHは、実行パスが使用されていない場合に共有ライブラリの場合に必要になる可能性があります(これは、使用されるOS、ビルドツール、およびオプションに依存しますが、問題はありません)。

41
vinc17

最初の構文は正しいです。

_./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
_

ただし、強くバイナリpackages(7)を使用するか、何らかの理由でソースから絶対にビルドする必要がある場合はports(7)インフラストラクチャ the FAQセクション15 で説明されています。

FAQの詳細に従って、ポートツリーを設定します。次に、openvpnポートを探します。

_cd /usr/ports
make search key=openvpn
_

これにより、openvpnという用語を含む多数のポートが出力されます。それらの1つは、パス_openvpn-2.3.2_を持つ_net/openvpn_です。

_cd net/openvpn
Sudo make install clean
_

これには、依存関係(ここでは_lzo2_のみ)がシステムを壊さずに正しくインストールされ、OpenBSDでのopenvpnの使用方法に関する追加の指示が表示されるという利点があります。

8
user80301