checking tap-windows.h presence... no
checking for tap-windows.h... no
checking whether TUNSETPERSIST is declared... yes
checking for setcon in -lselinux... yes
checking for pam_start in -lpam... no
checking for OPENSSL_CRYPTO... yes
checking for OPENSSL_SSL... yes
checking for EVP_CIPHER_CTX_set_key_length... yes
checking for ENGINE_load_builtin_engines... yes
checking for ENGINE_register_all_complete... yes
checking for ENGINE_cleanup... yes
checking for ssl_init in -lpolarssl... no
checking for aes_crypt_cbc in -lpolarssl... no
checking for lzo1x_1_15_compress in -llzo2... no
checking for lzo1x_1_15_compress in -llzo... no
checking for PKCS11_HELPER... no
checking git checkout... yes
configure: error: libpam required but missing
[mirror@innov openvpn]$ ./configure --help | grep libpam
--enable-pam-dlopen dlopen libpam [default=no]
C compiler flags for libpam
LIBPAM_LIBS linker flags for libpam
[mirror@xxx openvpn]$ ./configure --prefix=/home/mirror/build/ins/ins_vpn --disable-lzo
erro: libpam necessária, mas ausente
Simplesmente não tenho privilégio para instalar o pacote chamado libpam, então posso construir o libpam e instalá-lo no diretório inicial e, em seguida, construir o openvpn com base nele?
Responder1
Sim, claro que você pode compilar coisas como um usuário normal e apontar o script de configuração para ele. Execute configure --help
e você provavelmente verá onde ele fala sobre como definir variáveis de ambiente como LIBPAM_LIBS
e LIBPAM_CFLAGS
. Defina-os manualmente para o local onde estão as bibliotecas compartilhadas (arquivos .so) e os cabeçalhos (arquivos .h) de uma libpam compilada.
Aconselho que você configure um "prefixo local" onde o openvpn e todas as suas dependências possam ser agregadas. Pense neste prefixo como seu próprio /usr
diretório.
Parece que na sua configuração você já está definindo --prefix para /home/mirror/build/ins/ins_vpn, então /home/mirror/build/ins/ins_vpn/include seria o valor a ser definido para a variável de ambiente LIBPAM_CFLAGS
e /home/mirror/build/ins/ins_vpn/lib seria o valor a ser definido para a variável de ambiente LIBPAM_LIBS
. Claro, os nomes das variáveis de ambiente podem variar dependendo do que configure --help
está escrito. Então execute e leia.
Você também pode definir PKG_CONFIG_PATH
a variável de ambiente como e a etapa /home/mirror/build/ins/ins_vpn/lib/pkg-config
libpammake install
devecoloque libpam.pc nesse diretório durante a instalação (se você configurá-lo com --prefix=/home/mirror/build/ins/ins_vpn
). Ao definir PKG_CONFIG_PATH, você está instruindo o pkg-config
utilitário a procurar arquivos nesse diretório .pc
, que contêm dados sobre a compilação e sinalizadores de vinculação de programas. Muitas bibliotecas padrão usam pkg-config e autoconfig, então você poderá repetir essas etapas para qualquer outro pacote.
Obter uma versão adequada dos fontes do libpam provavelmente é apenas uma questão de baixar o rpm do código-fonte e descompactar os fontes, ou apenas descobrir qual versão do libpam upstream sua distro usa e pegar essa versão (ou uma versão posterior provavelmente funcionará também).
Observe que, como você não tem acesso root na caixa, provavelmente não poderá manipular dispositivos tun
ou tap
dispositivos (a menos que o administrador do sistema lhe conceda privilégios); portanto, provavelmente não será capaz de criar um túnel VPN útil sem root, de qualquer maneira, mesmo se você compilar o openvpn :)
Responder2
yum instalar gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y
Isso resolverá todas as dependências
Responder3
Eu estava tentando instalar o OpenVPN 2.3.0 por meio de um ./configure
comando como root e estava recebendo o mesmo erro sobre o libpam necessário, mas ausente. Eu instalei o pacotelibpam0g-deve executei ./configure
novamente com sucesso.
Eu sei que você disse que não tem root, mas se você puder instalar esse pacote, provavelmente permitirá que você conclua o ./configure
que está tentando fazer.