OpenVPNソースtarballを使用してOpenBSD 5.5にOpenVPNをインストールしたいと思います。
指示に従ってここ、インストールする必要lzo
があり、
他の方法では見つからないので、
CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
「設定」にディレクティブを追加します。gcc
OpenBSDで上記の操作を行う方法に関するガイドをGoogleで広く検索しましたが、何もありません。
これが私がやる計画です:
- 新しく作成されたディレクトリにソースtarballを抽出します。
- 命令を出す
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
- 命令を出す
make
- 命令を出す
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"
答え1
正しいアプローチは次のとおりです。
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
しかし、これはすべてのconfigure
スクリプトで機能するわけではありません。CPATH
などの環境変数を設定することをお勧めします(manページLIBRARY_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、ビルドツール、および使用されているオプションによって異なりますが、問題ではありません)。
答え2
最初のものは構文的に正しいです。
./configure CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
しかしそれは強くバイナリを使用することをお勧めしますpackages(7)
。または何らかの理由でソースからビルドする必要がある場合は、次のインフラports(7)
ストラクチャを使用してください。FAQパート15。
よくある質問で説明されているようにポートツリーを設定してください。次にopenvpn
ポートを見つけます。
cd /usr/ports
make search key=openvpn
これにより、用語を含む複数のポートが出力されますopenvpn
。そのうちの1つがopenvpn-2.3.2
パスですnet/openvpn
。
cd net/openvpn
sudo make install clean
これの利点は、lzo2
システムを損傷することなく、依存関係(ここでのみ)が正しくインストールされ、openvpn
OpenBSDでそれを使用する方法に関する追加のガイドラインを得ることができることです。
答え3
それはすべて設定スクリプトによって異なります。設定スクリプトがautoconfによって生成された場合、/usr/local/libと/usr/local/includeをビルドに使用できるようにする「正しい」方法は、CONFIG_SITEを使用することです。つまり、シェル起動ファイルに CONFIG_SITE を定義し、次のようにしてすべての設定呼び出しに対して CONFIG_SITE をグローバルに作成できます。
cat > $CONFIG_SITE << EOF
CFLAGS="-I/usr/local/include $CFLAGS"
LDFLAGS="-L/usr/local/lib $LDFLAGS"
EOF
または、上記の内容を /usr/local/etc/config.site に追加して、 /usr/local をプレフィックスとして使用する設定呼び出しに対してのみ設定します。構成を使用するすべての呼び出しは、/ --prefix=/usr/local
usr/local/etc/config.site(またはそのパスを使用したい場合は/usr/local/share/config.site)を読み取ります。デフォルトのプレフィックスは/usr/localなので、/usr/local/etc/config.siteを作成すると、プレフィックスのないすべての設定呼び出しが割り当てられます。
これは、autoconfによって設定スクリプトが生成された場合にのみ適用されることに注意してください。
答え4
以前に「./configure」を実行していた場合は、次のことができます。
./configure CFLAGS="-I/usr/include/libxml2/"