Qual é a sintaxe correta para adicionar CFLAGS e LDFLAGS para “configurar”?

33

Eu quero instalar o OpenVPN no OpenBSD 5.5 usando o tarball de origem do OpenVPN.

De acordo com as instruções aqui , tenho que instalar o lzo e

add CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" directives to "configure", since gcc will not find them otherwise.

Eu pesquisei extensivamente sobre como fazer o acima no OpenBSD, mas não há nenhum.

Isso é o que planejo fazer:

  1. Descompacte o tarball de origem para um diretório recém-criado
  2. Emita o comando ./configure CFLAGS="- I / usr / local / include" LDFLAGS="- L / usr / local / lib"
  3. Emita o comando make
  4. Emita o comando make install

Qual das seguintes sintaxes está correta?

./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"
    
por user66229 09.08.2014 / 09:30

2 respostas

35

A maneira correta é:

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

mas isso pode não funcionar com todos os scripts configure . Provavelmente é melhor definir variáveis de ambiente, como CPATH e LIBRARY_PATH (consulte gcc man page).

Um exemplo:

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

no seu .profile , por exemplo. O LD_LIBRARY_PATH pode ser necessário no caso de bibliotecas compartilhadas, se um caminho de execução não for usado (isso depende do sistema operacional, das ferramentas de construção e das opções que são usadas, mas isso não deve prejudicar).

    
por 09.08.2014 / 09:58
8

A primeira sintaxe está correta.

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

No entanto, é strongmente recomendado para usar o binário packages(7) ou, se por qualquer razão você realmente precisar compilar a partir do código-fonte, fazer uso da infraestrutura ports(7) , conforme explicado por < href="http://www.openbsd.org/faq/ports/index.html"> a seção de perguntas frequentes 15 .

Configure a árvore de portas conforme detalhado no FAQ. Em seguida, procure por uma openvpn port:

cd /usr/ports
make search key=openvpn

Isto produzirá um número de portas contendo o termo openvpn . Um deles é openvpn-2.3.2 com o caminho net/openvpn .

cd net/openvpn
sudo make install clean

Isso trará o benefício de que as dependências (aqui apenas lzo2 ) serão instaladas corretamente, sem afetar o seu sistema, e você receberá instruções adicionais sobre como usar openvpn no OpenBSD.

    
por 09.08.2014 / 10:17