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
0
...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
 

danisahne

Aktives Mitglied
Mitglied seit
30 Jul 2005
Beiträge
1,493
Punkte für Reaktionen
0
Punkte
0
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)
 

dsteinkopf

Mitglied
Mitglied seit
29 Jul 2005
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
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ß...
 

danisahne

Aktives Mitglied
Mitglied seit
30 Jul 2005
Beiträge
1,493
Punkte für Reaktionen
0
Punkte
0
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
 

dsteinkopf

Mitglied
Mitglied seit
29 Jul 2005
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
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.
 

danisahne

Aktives Mitglied
Mitglied seit
30 Jul 2005
Beiträge
1,493
Punkte für Reaktionen
0
Punkte
0
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.

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
234,422
Beiträge
2,046,333
Mitglieder
354,163
Neuestes Mitglied
wadwadqwed