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
error: se requiere libpam pero falta
Simplemente no tengo privilegios para instalar el paquete llamado libpam, entonces, ¿puedo compilar libpam e instalarlo en el directorio de inicio y luego compilar openvpn basado en él?
Respuesta1
Sí, por supuesto que puedes compilar cosas como un usuario normal y apuntarle el script de configuración. Ejecute configure --help
y probablemente verá dónde habla sobre la configuración de variables de entorno como LIBPAM_LIBS
y LIBPAM_CFLAGS
. Configúrelos manualmente en la ubicación donde se encuentran las bibliotecas compartidas (archivos .so) y los encabezados (archivos .h) para un libpam compilado.
Le aconsejaría que configure un "prefijo local" donde se puedan agregar openvpn y todas sus dependencias. Piense en este prefijo como su propio /usr
directorio.
Según su configuración, parece que ya está configurando --prefix en /home/mirror/build/ins/ins_vpn, por lo que /home/mirror/build/ins/ins_vpn/include sería el valor a establecer para la variable de entorno LIBPAM_CFLAGS
y /home/mirror/build/ins/ins_vpn/lib sería el valor a establecer para la variable de entorno LIBPAM_LIBS
. Eso sí, los nombres de las variables de entorno pueden variar dependiendo de lo que configure --help
diga. Así que ejecútalo y léelo.
También puede configurar PKG_CONFIG_PATH
la variable de entorno y el paso /home/mirror/build/ins/ins_vpn/lib/pkg-config
libpammake install
deberíainserte libpam.pc en ese directorio durante la instalación (si lo configura con --prefix=/home/mirror/build/ins/ins_vpn
). Al configurar PKG_CONFIG_PATH, le está indicando a la pkg-config
utilidad que busque en ese directorio .pc
archivos que contengan datos sobre la compilación y los indicadores de vinculación de los programas. Muchas bibliotecas estándar usan pkg-config y autoconfig, por lo que debería poder repetir estos pasos para cualquier otro paquete.
Obtener una versión adecuada de las fuentes de libpam probablemente sea solo una cuestión de descargar el rpm de la fuente y descomprimir las fuentes, o simplemente averiguar qué versión de libpam utiliza su distribución y obtener esa versión (o una versión posterior probablemente también funcionará).
Tenga en cuenta que, dado que no tiene acceso de root en la caja, probablemente no pueda manipular tun
dispositivos tap
(a menos que el administrador del sistema le haya otorgado privilegios), por lo que probablemente no podrá crear un túnel VPN útil sin root de todos modos. incluso si compilas openvpn :)
Respuesta2
yum instalar gcc hacer rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y
Esto resolverá todas las dependencias.
Respuesta3
Estaba intentando instalar OpenVPN 2.3.0 mediante un ./configure
comando como root y recibía el mismo error sobre el libpam requerido pero faltante. Instalé el paquetelibpam0g-devy ejecuté ./configure
nuevamente con éxito.
Sé que dijiste que no tienes root, pero si puedes instalar ese paquete, probablemente te permitirá terminar lo que ./configure
estás intentando hacer.