OpenVPN mit toolchain aus ds-mod selber compilieren

Status
Für weitere Antworten geschlossen.

dsteinkopf

Mitglied
Mitglied seit
29 Jul 2005
Beiträge
263
Punkte für Reaktionen
0
Punkte
16
...krieg ich leider nicht hin.
Die toolchain wurde einwandfrei erstellt und compiliert auch ein einfaches Hello-Word.c prima.

Aber mein configure für openvpn setzt's dann aus:
Code:
./configure --target=mipsel-linux --with-ssl-headers=/usr/include --host=mipsel-linux --disable-lzo --build=i386-pc-linux-gnu

bleibt hängen mit
Code:
...
configure: checking for OpenSSL Crypto Library and Header files...
checking openssl/evp.h usability... yes
checking openssl/evp.h presence... yes
checking for openssl/evp.h... yes
checking for EVP_CIPHER_CTX_init in -lcrypto... no
configure: error: OpenSSL Crypto library not found.

(Details: SuSE 9.2, kernel 2.6.16-5, ds-mod-0.2rc6)

Vermutlich ist schon das --with-ssl-headers=/usr/include falsch. Wie mache ich es richtig?

Vielen Dank,


Dirk
 
Dir fehlt OpenSSL, das muss auch erst cross kompiliert werden. Wenn du die neue Version des Mods nimmst, so kannst du hier OpenSSL mit
Code:
make openssl
bzw.
Code:
make openssl-precompiled
kompilieren.

Mfg,
danisahne

PS: In der nächsten Version des Mods kann man auch OpenVPN zumindest kompilieren (vielleicht sogar auch schon als Paket)
 
Ah. Das gibts in der Form aber bei ds0.2rc6 nicht nicht. Also habe ich mal ds0.2.4 compiliert - kann ich das neue Image gefahrlos einfach "hochladen"? Ich habe noch eine "volle" debug.cfg

danisahne schrieb:
Dir fehlt OpenSSL, das muss auch erst cross kompiliert werden. Wenn du die neue Version des Mods nimmst, so kannst du hier OpenSSL mit
Code:
make openssl
bzw.
Code:
make openssl-precompiled
kompilieren.
Was ist denn der Unterschied? make openssl scheint es zu compilieren, make openssl-precompiled scheint es nach target/build zu installieren.

Sehe ich das überhaupt richtig, das unter target/build ein kompletter Verzeichnisbaum des Zielsystems aufgebaut wird?

Warum funktioniert dann "./configure --target=mipsel-linux --host=mipsel-linux --disable-lzo" nicht?
Ich habe mir überlegt, dass er den Zielpfad nicht kennt... Aber "./configure --target=mipsel-linux --disable-lzo --prefix=/spare/danisahne-mod/ds-0.2.4/toolchain/target" geht auch nicht (-> "OpenSSL Crypto headers not found.")

Irgendwas habe ich da vom Prinzip her noch nicht verstanden...

danisahne schrieb:
PS: In der nächsten Version des Mods kann man auch OpenVPN zumindest kompilieren (vielleicht sogar auch schon als Paket)
Was heißt "zumindest compilieren"? Klingt ja fast so, als wäre mein Unterfangen, es jetzt schon zu compilieren zum Scheitern verurteilt!?

Als Paket wäre natürlich prima - trotzdem würde ich gerne selber Programme compilieren können! Durchbeiß...
 
dsteinkopf schrieb:
Was ist denn der Unterschied? make openssl scheint es zu compilieren, make openssl-precompiled scheint es nach target/build zu installieren.
"make openssl" kompiliert die Library und installiert sie in das "staging" Verzeichnis des Cross Compilers, so dass der Compiler gegen die Lib linken kann. "make openssl-precompiled" kopiert zusätzlich die Laufzeitbibliothek in das Verzeichnis ./root/usr/lib/, damit man die Lib auch in das Image bekommt. Im Zweifelsfall immer "make openssl-precompiled"
dsteinkopf schrieb:
Sehe ich das überhaupt richtig, das unter target/build ein kompletter Verzeichnisbaum des Zielsystems aufgebaut wird?
Das Verzeichnis target/build gibt es doch garnicht. Wenn du das "staging" Verzeichnis unter ./toolchain/target/ meinst: Das ist nur das Verzeichnis für den Compiler. Der Verzeichnisbaum für das modfizierte Image wird in ./build/modified/filesystem/ zusammengebaut (= ./build/original/filesystem/ + ./root/ + Pakete).
dsteinkopf schrieb:
Was heißt "zumindest compilieren"? Klingt ja fast so, als wäre mein Unterfangen, es jetzt schon zu compilieren zum Scheitern verurteilt!?
Das heißt, dass du es damit kompilieren werden kannst.

Den Pfad teilst du ./configure so mit (prefix ist was anderes, das bezieht sich auf den Installationspfad):
Code:
PATH=/spare/danisahne-mod/ds-0.2.4/toolchain/target/bin:$PATH ./configure ...

In der Zwischenzeit kannst du dir das hier mal ein bisschen anschauen:
https://svn.openwrt.org/openwrt/trunk/openwrt/package/openvpn/Makefile

Gruß,
danisahne
 
Heißt das nun, dass ichs momentan gar nicht weiter versuchen brauche?

(Das mit dem PATH ist mir natürlich klar, das habe ich längst gemacht, ich wollte dem configure nur irgendwie beibringen, wie er openssl includen kann - was ich nicht hinkriege)

Dirk.

P.S. Vielen Dank.
 
dsteinkopf schrieb:
Heißt das nun, dass ichs momentan gar nicht weiter versuchen brauche?
Wie du willst.
dsteinkopf schrieb:
ich wollte dem configure nur irgendwie beibringen, wie er openssl includen kann - was ich nicht hinkriege
OpenSSL muss einzig und alleine korrekt compiliert und in das Staging Dir installiert sein. Ach ja, vielleicht hilft ja das:
Code:
CPPFLAGS="-I/path/to/toolchain/usr/include" \
LDFLAGS="-static-libgcc -L/path/to/toolchain/usr/lib" \
./configure ...

Mfg,
danisahne
 
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.