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
Fehler: libpam erforderlich, aber fehlt
Ich verfüge einfach nicht über die Berechtigung, das Paket mit dem Namen libpam zu installieren. Kann ich also libpam erstellen und im Home-Verzeichnis installieren und dann darauf basierend OpenVPN erstellen?
Antwort1
Ja, natürlich können Sie als normaler Benutzer Sachen kompilieren und das Konfigurationsskript darauf verweisen. Führen Sie es aus configure --help
und Sie werden wahrscheinlich sehen, wo es um das Setzen von Umgebungsvariablen wie LIBPAM_LIBS
und geht LIBPAM_CFLAGS
. Setzen Sie diese manuell auf den Speicherort, an dem sich die gemeinsam genutzten Bibliotheken (.so-Dateien) und Header (.h-Dateien) für eine kompilierte Libpam befinden.
Ich würde Ihnen raten, ein „lokales Präfix“ einzurichten, in dem OpenVPN und alle seine Abhängigkeiten aggregiert werden können. Stellen Sie sich dieses Präfix als Ihr eigenes /usr
Verzeichnis vor.
Sieht so aus, als ob Sie in Ihrem Setup --prefix bereits auf /home/mirror/build/ins/ins_vpn setzen, also wäre /home/mirror/build/ins/ins_vpn/include der für die Umgebungsvariable zu setzende Wert LIBPAM_CFLAGS
und /home/mirror/build/ins/ins_vpn/lib der für die Umgebungsvariable zu setzende Wert LIBPAM_LIBS
. Natürlich können die Namen der Umgebungsvariablen je nach Inhalt variieren configure --help
. Führen Sie es also aus und lesen Sie es.
Sie können PKG_CONFIG_PATH
die Umgebungsvariable auch auf /home/mirror/build/ins/ins_vpn/lib/pkg-config
und den Libpam- make install
Schritt festlegen.sollenpushen Sie libpam.pc bei der Installation in dieses Verzeichnis (wenn Sie es mit konfigurieren --prefix=/home/mirror/build/ins/ins_vpn
). Indem Sie PKG_CONFIG_PATH festlegen, weisen Sie das pkg-config
Dienstprogramm an, in diesem Verzeichnis nach Dateien zu suchen .pc
, die Daten zu den Kompilierungs- und Verknüpfungsflags für Programme enthalten. Viele Standardbibliotheken verwenden pkg-config und autoconfig, daher sollten Sie diese Schritte für alle anderen Pakete wiederholen können.
Um eine richtige Version der Libpam-Quellen zu erhalten, müssen Sie wahrscheinlich nur das Quell-RPM herunterladen und die Quellen entpacken. Oder Sie finden einfach heraus, welche Upstream-Version von Libpam Ihre Distribution verwendet, und holen sich diese Version (wahrscheinlich funktioniert auch eine neuere Version).
Beachten Sie, dass Sie, da Sie keinen Root-Zugriff auf die Box haben, unsere tun
Geräte wahrscheinlich nicht manipulieren können tap
(es sei denn, der Systemadministrator hat Ihnen entsprechende Rechte erteilt). Daher werden Sie wahrscheinlich ohne Root-Zugriff ohnehin keinen brauchbaren VPN-Tunnel erstellen können, selbst wenn Sie OpenVPN kompilieren :)
Antwort2
yum installiere gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y
Dadurch werden alle Abhängigkeiten aufgelöst
Antwort3
Ich habe versucht, OpenVPN 2.3.0 über einen Befehl als Root zu installieren ./configure
und erhielt den gleichen Fehler, dass libpam erforderlich, aber fehlt. Ich habe das Paket installiertlibpam0g-devund es wurde ./configure
erneut erfolgreich ausgeführt.
Ich weiß, Sie sagten, Sie hätten keine Root-Berechtigungen, aber wenn Sie dieses Paket installieren können, können Sie ./configure
Ihr Vorhaben wahrscheinlich zu Ende bringen.