Quelle est la syntaxe correcte pour append CFLAGS et LDFLAGS à "configure"?

Je suis un débutant Unix / OpenBSD et je souhaite installer OpenVPN sur OpenBSD 5.5 en utilisant l'archive source OpenVPN.

Selon les instructions ici , je dois installer lzo et

ajoutez les directives CFLAGS = "- I / usr / local / include" LDFLAGS = "- L / usr / local / lib" à "configure" car gcc ne les finda pas autrement.

J'ai googlé extensivement pour le guide sur la façon de faire ce qui précède sur OpenBSD, mais il n'y en a pas.

C'est ce que je prévois de faire:

  1. Décompresser l'archive source dans un directory fraîchement créé
  2. Exécutez la command ./configure CFLAGS = "- I / usr / local / include" LDFLAGS = "- L / usr / local / lib"
  3. Émettre la command make
  4. Émettre la command make install

Laquelle de la syntaxe suivante est correcte?

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

ou

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

ou

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

La bonne façon est la suivante:

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

mais cela peut ne pas fonctionner avec tous configure scripts de configure . Il est probablement préférable de définir des variables d'environnement telles que CPATH et LIBRARY_PATH (voir la page de manuel gcc ).

Un exemple:

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

dans votre .profile , par exemple. LD_LIBRARY_PATH peut être nécessaire dans le cas de bibliothèques partagées si un path d'exécution n'est pas utilisé (cela dépend du operating system, des outils de construction et des options utilisées, mais cela ne devrait pas faire de mal).

La première syntaxe est correcte.

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

Cependant, il est fortement recommandé d'utiliser des packages(7) binarys packages(7) ou, si pour une raison quelconque, vous devez absolument build à partir de sources, utilisez l'infrastructure ports(7) , comme expliqué dans la section FAQ 15 .

Configurez l'arborescence des ports comme indiqué dans la FAQ. Ensuite, searchz un port openvpn :

 cd /usr/ports make search key=openvpn 

Cela produira un certain nombre de ports contenant le terme openvpn . L'un d'entre eux est openvpn-2.3.2 avec path net/openvpn .

 cd net/openvpn sudo make install clean 

Cela aura l'avantage que les dependencies (ici seulement lzo2 ) seront correctement installées sans perturber votre système et vous obtiendrez des instructions supplémentaires sur la façon d'utiliser openvpn sur OpenBSD.