
Ich habe Freeradius 2.1.12 auf meiner Ubuntu-Maschine installiert:
apt-get install freeradius
Dann habe ich den Quellcode heruntergeladen,
apt-get source freeradius
Erstellen Sie die Quelle:
cd freeradius-2.1.12+dfsg
./configure --prefix=/root/freeradius/freeradius-2.1.12
make
make schlägt fehl:
/root/freeradius-2.1.12+dfsg/src/lib/libfreeradius-radius.la -lnsl -lresolv -lpthread -lssl -lcrypto
gcc -shared .libs/eapcommon.o .libs/eapcrypto.o .libs/eapsimlib.o .libs/fips186prf.o -Wl,--rpath -Wl,/root/freeradius-2.1.12+dfsg/src/lib/.libs -Wl,--rpath -Wl,/root/freeradius/freeradius-2.1.12/lib /root/freeradius-2.1.12+dfsg/src/lib/.libs/libfreeradius-radius.so -lnsl -lresolv -lpthread -lssl -lcrypto -Wl,-soname -Wl,libfreeradius-eap-2.1.12.so -o .libs/libfreeradius-eap-2.1.12.so
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
Dann frage ich mich, wie "apt-get install" funktionieren kann, also habe ich Folgendes überprüft:
#type freeradius
freeradius is hashed (/usr/sbin/freeradius)
# ldd /usr/sbin/freeradius
libfreeradius-radius-2.1.12.so => /usr/lib/freeradius/libfreeradius-radius-2.1.12.so (0x00007f3d6d1df000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f3d6c735000)
Daher existieren libcrypto und libssl beide unter /lib/x86_64-linux-gnu.
Wie kann ich dann configure anweisen, /lib/x86_64-linux-gnu zu verwenden?
Antwort1
Beim Erstellen aus dem Quellcode müssen Sie die Entwicklungspakete installieren. Diese heißen normalerweise <package-name>-dev
(Debian) oder <package-name>-devel
(RPM). Allerdings sollten sie im Build-Depends
Eintrag aufgeführt sein.
Unter Ubuntu sollte dies das Paket sein libssl-dev
, das auch Header-Dateien bereitstellt.
AnschauenBuildingTutorial - Holen Sie sich die Build-Abhängigkeiten
apt-get build-dep freeradius
sollte die Abhängigkeiten abrufen und dann
debuild -b -uc -us
erstellt das freeradius
Paket.