make Fehler openvpn

scrat

Neuer User
Mitglied seit
22 Mrz 2009
Beiträge
65
Punkte für Reaktionen
1
Punkte
8
Habe heute mal wieder versucht eine neues Image zu bauen.
Leider ist es, wie vor einiger Zeit auch beim 5176, fehlgeschlagen.
Habe es heute mit 5772 probiert.
Ich habe vorher den kompletten Trunk Ordner gelöscht von vorne angefangen.
Ich nutze Win XP mit VM StinkyLinux.
Vor einem Jahr habe ich das letzte mal ein Image erstellt.
Habe auch schon sudo apt-get -y update, sudo apt-get -y upgrade und sudo apt-get -y dist-upgrade ausgeführt.
Auch make openvpn-dirclean und make openvpn-precompiled bringt keine abhilfe.

Hier mal die letzten Zeilen vor dem Fehler:
checking for epoll_create... yes
configure: checking for LZO Library and Header files...
checking lzo/lzo1x.h usability... yes
checking lzo/lzo1x.h presence... yes
checking for lzo/lzo1x.h... yes
checking for lzo1x_1_15_compress in -llzo2... yes
configure: checking for OpenSSL Crypto Library and Header files...
checking for openssl/evp.h... (cached) no
configure: error: OpenSSL Crypto headers not found.

ERROR: Build failed.
make: *** [source/target-mipsel_uClibc-0.9.29/openvpn-2.1.3/.configured] Fehler 1

Ich hoffe ihr könnt mir helfen. Der Fehler trat bei mir auch schon beim 5176 auf. Da war es aber openvpn 2.1.1

Danke schon mal für eure Hilfe.
 

Anhänge

  • 5772.config.zip
    5.3 KB · Aufrufe: 3
@schmatke: Wüsste net was da fehlen sollte. Habs wie vor einem Jahr gemacht. Bin leider kein großer Linux Profi.

@RalfFriedl: Damit hat es geklappt. Warum auch immer, früher lief es ohne das Löschen der Datei. Habe jetzt nur make openvpn-dirclean und make openvpn-precompiled gemacht. Heute abend lass ich noch mal make ganz durch laufen.
 
früher lief es ohne das Löschen der Datei.

In der Datei werden die Ergebnisse von Tests gespeichert, was zu einer Beschleunigung bei der Erstellung führt.

Hattest Du vorher ein Image erstellt, bei dem openssl nicht ausgewählt war? Dann wird in der Datei festgehalten, daß openssl nicht vorhanden ist.
 
Heute abend lass ich noch mal make ganz durch laufen.
Aktiviere dabei die FREETZ_BACKUP_CONFIG_CACHE Option in menuconfig. Damit wirst Du rausfinden können, welches Paket als erstes nach openssl/evp.h sucht, es nicht findet und den Wert in config.cache einträgt. Dieses sollte vermutlich mit --without-ssl oder so konfiguriert werden.
 
net-snmp scheint das gesuchte Paket zu sein. Ich finde jedoch im configure keine Stelle an der explizit "ac_cv_header_openssl_evp_h=no" gesetzt wird!?

MfG Oliver
 
Im originalen configure ab Zeile 37535
Code:
for ac_header in openssl/hmac.h openssl/evp.h openssl/aes.h openssl/des.h openssl/dh.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
...

Der Test ist insofern fehlerhaft, dass er immer durchgeführt wird unabhängig, ob --with-ssl oder --without-ssl angegeben wurde. Sollte mit
Code:
if test "x$tryopenssl" != "xno"; then
...
fi
umrandet werden.

p.s. bin noch in der Arbeit, daher kein Patch :)

Edit: fixed in 5779
 
Zuletzt bearbeitet:
Der Test ist nicht wirklich fehlerhaft, es wird nur nicht berücksichtigt, daß sich bei uns die Build-Umgebung bei Änderungen der Konfiguration verändern kann.

Wir könnten natürlich die config.cache grundsätzlich löschen, wenn sich die .config ändert.
Alternativ diese Header-Variablen entsprechend der Auswahl des openssl Pakets setzen.
 
Ich verstehe nur Bahnhof. :D
Aber es hat nun einwandfrei geklappt.

@RalfFriedl: Ich lösche jedes mal vor dem erstellen eines Images den Trunksordner. Daher kann nix mehr vorhanden gewesen sein.

So wie ich das jetzt geblickt habe, war es ein Problem das nicht durch einen Fehler von mir herrührte? Und er13 hat es schon gefixed? Das ist echt klasse, ich dachte ich wäre mal wieder zu blöd und schon wurde ein Fehler behoben. Weiter so jungs. Vielleicht schaf ich es jetzt öfters als einmal im Jahr nen Image zu erstellen. :D

:groesste: <- mit ihr gibbet den leider net. ;)
 
net-snmp vor openssl erstellt wird
haben wir irgendwo den Code, der erzwingt, dass zunächst alle Libraries und erst danach die Pakete erstellt werden? Finde den gerade nicht, müsste irgendeine make-Abhängigkeit sein...
 
Nein, haben wir anscheinend nicht. Es ist ja nicht so, daß net-snmp openssl benötigt. Wenn man eine Abhängigkeit zwischen net-snmp und openssl einbauen würde, würde openssl grundsätzlich erstellt werden, ob ausgewählt oder nicht.

Zuerst die Libraries zu erstellen hört sich sinnvoll an. Da dies aber das erste Mal ist, daß so etwas aufgetreten ist, fragt sich, ob sich der Aufwand lohnt, das zu ändern.

Evtl. ist es sinnvoller, diese ac_-Variablen in Abhängigkeit von der .config zu setzen, dann hat man zusätzlich noch den Vorteil, daß die .config ändern kann und nicht erst config.cache löschen muß.
 
Da dies aber das erste Mal ist, daß so etwas aufgetreten ist, fragt sich
Es ist schon mehrfach aufgetreten, dass irgendein Paket für irgendwas, was es gar nicht braucht, gecheckt und den Wert in config.cache eingetragen hat. Dies ist u.a. mit der Grund, warum es diese BACKUP_CONFiG_CACHE-Option und das MAKE_VARIABLE_PACKAGE_SPECIFIC-Macro gibt.

Es ist ja nicht so, daß net-snmp openssl benötigt. Zuerst die Libraries zu erstellen hört sich sinnvoll an.
gemeint habe ich, zunächst alle ausgewählten Libraries zu erstellen. Deine Antwort liest sich so als hättest Du mich "alle Libraries, die es in freetz gibt" verstanden.

Dies würde das jetzt aufgetretene Problem workarounden, dass freetz sich nicht erstellen lässt, obwohl man mit frischem checkout beginnt und an der .config nichts ändert. Das Problem, das nach dem Ändern der .config auftreten kann, würde das natürlich nicht lösen. Man kann es aber so wie Du vorschlägst mit automatischen Löschen der config.cache bei jeder .config-Änderung lösen, oder besser gesagt workarounden - denn ich bin immer noch der Meinung, dass es ein fehlerhafter Test ist, der das Problem verursacht. Ein Paket darf meiner Meinung nach keine Tests für openssl durchführen, wenn ich ihm explizit --without-ssl sage. Dies ist u.a. der Grund, warum wir alle configure-Optionen, die vom default-Wert abweichen, lieber explizit ausschreiben sollten und uns nicht darauf verlassen, er findet es eh nicht.
 
Ich habe schon verstanden, daß Du nur die ausgewählten Libraries meinst. Ich wollte nur sagen, daß wenn man eine Regel "net-snmp:eek:penssl" einfügen würde, dann würde openssl vor net-snmp erstellt, aber eben grundsätzlich, ob ausgewählt oder nicht. Dafür wäre es gut, einen Mechanismus zu haben, daß falls openssl ausgewählt ist, es vor net-snmp erstellt wird.

Bei den config.cache-Problemen hatte ich gedacht, daß sie hauptsächlich mit Änderungen der .config zusammenhängen. Aber vielleicht habe ich da nicht alles mitbekommen.

Die Libraries zuerst zu erstellen sollte sogar relativ einfach sein. Wir haben ja getrennte Makros für LIB und BIN. Damit könnte man automatisch Regeln für lib-precompiled und bin-precompiled für jedes Paket anlegen und beim Erstellen zuerst lib und dann bin ausführen lassen.
 
Zuletzt bearbeitet:
Wenn ich das Makefile richtig lese, dann sollten zuerst die Libraries erstellt werden.
Code:
all->step->firmware->precompiled
precompiled: $(DL_DIR) $(FW_IMAGES_DIR) $(SOURCE_DIR_ROOT) $(PACKAGES_DIR_ROOT) toolchain-depend \
	$(LIBS_PRECOMPILED) $(TARGETS_PRECOMPILED) $(PACKAGES_PRECOMPILED)
Natürlich nur wenn ausgewählt...

MfG Oliver
 
Weil er openvpn statisch baut.

aus make/libs/Makefile.in:
Code:
ifeq ($(strip $(FREETZ_LIB_libcrypto)),y)
# libssl depends on libcrypto
LIBS+=openssl
endif
MfG Oliver
 
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.