Wie implementiere ich diesen Vorschlag zur Verwendung von Soft-Links?
An welcher Stelle in der hiawatha-mk muss welcher Syntax eingetragen werden?
THX
Update:
Der Befehl "make hiawatha-precompiled" läuft nach der Implementierung des Patch auf diesen Fehler:
Die vollständige Ausgabe im Anhang.Code:/bin/bash: cmake: Kommando nicht gefunden. make: *** [hiawatha-cmake] Fehler 127
Geändert von c.monty (04.08.2012 um 01:31 Uhr)
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Manuell mit "ln -s ..." im Verzeichnis "/var/hiawatha" der Box, auf das Verzeichnis der Box und/oder externer Datenträger wo sich die entsprechenden Dateien tatsächlich befinden.
Siehe auch Beitrag #19:
Siehe auch Beitrag #10 und poste die Ausgabe von "which cmake" aus deinem Build-System.Code:-DCONFIG_DIR=/var/hiawatha/conf -DPID_DIR=/var/hiawatha/pid -DLOG_DIR=/var/hiawatha/log -DWORK_DIR=/var/hiawatha/work -DWEBROOT_DIR=/var/hiawatha/www
Ich würde "cmake" zumindest nicht im $PATH vermuten.
Boxen: 7240, 7170, W900V, W701V jeweils mit mehr oder minder aktuellem Freetz-Trunk und irgendwelchen Modifizierungen.
Aus aktuellem Anlaß: Support gehört ins Forum, IRC oder Trac-System, nicht in mein Postfach oder meine Messenger-Accounts.
ICQ und andere Kontaktinformationen ab nun nur noch per PN.
OK. Verstehe...
Ich kann also das Paket "hiawatha" mit der Konfiguration so bauen, dass die Verzeichnisse in /var/hiawatha liegen.
Dies bedingt dann anschließend ein manuelles linken der Zieldateien in /var/media/ftp/system/hiawatha nach /var/hiawatha mittels Softlink:
Frage:Code:ln -s /var/media/ftp/system/hiawatha/ /var/hiawatha
Bleibt der manuell angelegte Softlink in /var nach dem Reboot und/oder Neuflash mit aktualisiertem Image erhalten?
Das Paket cmake war auf meinem System nicht installiert.
Ich habe das jetzt nachgeholt:
Code:sudo apt-get install make cmake Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig make ist schon die neueste Version. Die folgenden zusätzlichen Pakete werden installiert: cmake-data emacsen-common libxmlrpc-core-c3 Die folgenden NEUEN Pakete werden installiert: cmake cmake-data emacsen-common libxmlrpc-core-c3 0 aktualisiert, 4 neu installiert, 0 zu entfernen und 1 nicht aktualisiert. Es müssen 6.336 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 15,4 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? j Holen: 1 http://ftp.debian.org/debian/ testing/main libxmlrpc-core-c3 i386 1.16.33-3.1 [181 kB] Holen: 2 http://ftp.debian.org/debian/ testing/main emacsen-common all 2.0.3 [20,3 kB] Holen: 3 http://ftp.debian.org/debian/ testing/main cmake-data all 2.8.9~rc1-1 [1.359 kB] Holen: 4 http://ftp.debian.org/debian/ testing/main cmake i386 2.8.9~rc1-1 [4.776 kB] Es wurden 6.336 kB in 16 s geholt (382 kB/s). Vormals nicht ausgewähltes Paket libxmlrpc-core-c3 wird gewählt. (Lese Datenbank ... 253346 Dateien und Verzeichnisse sind derzeit installiert.) Entpacken von libxmlrpc-core-c3 (aus .../libxmlrpc-core-c3_1.16.33-3.1_i386.deb) ... Vormals nicht ausgewähltes Paket emacsen-common wird gewählt. Entpacken von emacsen-common (aus .../emacsen-common_2.0.3_all.deb) ... Vormals nicht ausgewähltes Paket cmake-data wird gewählt. Entpacken von cmake-data (aus .../cmake-data_2.8.9~rc1-1_all.deb) ... Vormals nicht ausgewähltes Paket cmake wird gewählt. Entpacken von cmake (aus .../cmake_2.8.9~rc1-1_i386.deb) ... Trigger für man-db werden verarbeitet ... libxmlrpc-core-c3 (1.16.33-3.1) wird eingerichtet ... emacsen-common (2.0.3) wird eingerichtet ... cmake-data (2.8.9~rc1-1) wird eingerichtet ... Install emacsen-common for emacs Install cmake-data for emacs cmake (2.8.9~rc1-1) wird eingerichtet ...
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Nach der Installation von cmake konnte ich das Paket kompilieren:
Das Log "make-hiawatha.log" habe ich angehängt.Code:user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make hiawatha-precompiled > make-hiawatha.log CMake Warning: Manually-specified variables were not used by the project: CMAKE_CXX_COMPILER /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4/src/serverconfig.c:45:14: warning: 'index_xslt' defined but not used [-Wunused-variable] /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4/src/session.c: In function 'remove_port_from_hostname': /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4/src/session.c:498:11: warning: unused variable 'old' [-Wunused-variable]
Das sieht soweit ganz gut aus, d.h. während der Kompilierung wurden keine Fehler zurückgegeben.
Frage:
Erstelle ich jetzt das neue Image mit dem Befehl make?
Wird dann das Paket hiawatha mit eingeschlossen in den Build?
THX
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
So langsam wächst mein Verständnis dafür, wie die Logik zum Erstellen eines Freetz-Image ist.
Jedenfalls habe ich, wie empfohlen, die Zeile "source make/hiawatha/Config.in" in make/Config.in eingetragen und die Zeile "source make/hiawatha/external.in" in make/external.in eingetragen.
Anschließend "make menuconfig" ausgeführt und alle Optionen beim Paket "hiawatha" ausgewählt.
Der Befehl make läuft allerdings auf diesen Fehler:
Im Anhang das vollständige Kompilierungs-Log "make.log" und die Konfig-Datei ".config".Code:user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make > make.log --2012-08-05 00:55:01-- http://polarssl.org/code/releases/polarssl-1.1.4-gpl.tgz Auflösen des Hostnamen »polarssl.org (polarssl.org)«... 79.170.91.36 Verbindungsaufbau zu polarssl.org (polarssl.org)|79.170.91.36|:80... verbunden. HTTP-Anforderung gesendet, warte auf Antwort... 200 OK Länge: 611340 (597K) [application/x-gzip] In »»dl/polarssl-1.1.4-gpl.tgz«« speichern. 100%[==========================================================>] 611.340 377K/s in 1,6s 2012-08-05 00:55:03 (377 KB/s) - »»dl/polarssl-1.1.4-gpl.tgz«« gespeichert [611340/611340] /media/Targa_250GB/Freetz/FB7170_freetz_trunk/toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-ar: creating libpolarssl.a CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: LIBXML2_INCLUDE_DIR (ADVANCED) used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXML2_LIBRARIES (ADVANCED) linked by target "hiawatha" in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXSLT_INCLUDE_DIR (ADVANCED) used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXSLT_LIBRARIES (ADVANCED) linked by target "hiawatha" in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 make: *** [hiawatha-cmake] Fehler 1
Ich muss eingestehen, dass ich die Ursache in den Logs nicht finden kann.
THX
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Done... leider ohne Erfolg:
Danach läuft make in denselben Fehler:Code:user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make hiawatha-dirclean rm -f -r source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 rm -f -r packages/target-mipsel_uClibc-0.9.29/hiawatha-8.4 rm -f packages/target-mipsel_uClibc-0.9.29/.hiawatha-8.4 rm -f -r packages/target-mipsel_uClibc-0.9.29/hiawatha-8.4; rm -f packages/target-mipsel_uClibc-0.9.29/.hiawatha-8.4; user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make libxml2-precompiled user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make xsltproc-precompiled
Das gesamte Log im Anhang.Code:user@pc2:/media/Targa_250GB/Freetz/FB7170_freetz_trunk$ make > make.log CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: LIBXML2_INCLUDE_DIR (ADVANCED) used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXML2_LIBRARIES (ADVANCED) linked by target "hiawatha" in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXSLT_INCLUDE_DIR (ADVANCED) used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 used as include directory in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 LIBXSLT_LIBRARIES (ADVANCED) linked by target "hiawatha" in directory /media/Targa_250GB/Freetz/FB7170_freetz_trunk/source/target-mipsel_uClibc-0.9.29/hiawatha-8.4 make: *** [hiawatha-cmake] Fehler 1
Wenn die Fehlermeldung hinweisgebend ist, steht die Ursache in Zusammenhang mit den Libraries LibXml2 und LibXslt:
Steht dies vielleicht im Zusammenhang mit einer anderen Schreibweise in .config?Code:-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR) -- Could NOT find LibXslt (missing: LIBXSLT_LIBRARIES LIBXSLT_INCLUDE_DIR)
THXCode:# FREETZ_LIB_libexpat is not set FREETZ_LIB_libxml2=y FREETZ_LIB_libxml2_WITH_HTML=y FREETZ_LIB_libxslt=y FREETZ_LIB_libexslt=y
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Versuch mal (... nach "make hiawatha-dirclean") mit folgenden zusätzlichen Eintragungen in der Datei "hiawatha.mk", zwischen den Zeilen "-DENABLE_DEBUG=OFF \" und "-DCONFIG_DIR=/var/hiawatha/conf \":
Code:-DLIBXML2_LIBRARIES=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libxml2.so \ -DLIBXSLT_LIBRARIES=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libxslt.so \ -DLIBXML2_INCLUDE_DIR=$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxml2 \ -DLIBXSLT_INCLUDE_DIR=$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxslt \
Ich habe die Datei make/hiawatha/hiawatha.mk modifiziert:
Dann diese Befehle ausgeführt:Code:$(pkg)-cmake: $($(PKG)_DIR)/.unpacked cd $(HIAWATHA_DIR) && $(MAKE_ENV) cmake \ -DCMAKE_C_COMPILER="$(TARGET_CC)" \ -DCMAKE_CXX_COMPILER="$(TARGET_CXX)" \ -DENABLE_CACHE=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_CACHE),ON,OFF) \ -DENABLE_CHROOT=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_CHROOT),ON,OFF) \ -DENABLE_COMMAND=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_COMMAND),ON,OFF) \ -DENABLE_SSL=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_SSL),ON,OFF) \ -DENABLE_XSLT=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_XSLT),ON,OFF) \ -DENABLE_IPV6=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_IPV6),ON,OFF) \ -DENABLE_MONITOR=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_MONITOR),ON,OFF) \ -DENABLE_RPROXY=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_PROXY),ON,OFF) \ -DENABLE_TOOLKIT=$(if $(FREETZ_PACKAGE_HIAWATHA_WITH_TOOLKIT),ON,OFF) \ -DENABLE_DEBUG=OFF \ -DLIBXML2_LIBRARIES=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libxml2.so \ -DLIBXSLT_LIBRARIES=$(TARGET_TOOLCHAIN_STAGING_DIR)/lib/libxslt.so \ -DLIBXML2_INCLUDE_DIR=$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxml2 \ -DLIBXSLT_INCLUDE_DIR=$(TARGET_TOOLCHAIN_STAGING_DIR)/include/libxslt \ -DCONFIG_DIR=/var/hiawatha/conf \ -DPID_DIR=/var/hiawatha/pid \ -DLOG_DIR=/var/hiawatha/log \ -DWORK_DIR=/var/hiawatha/work \ -DWEBROOT_DIR=/var/hiawatha/www
make hiawatha-dirclean
make > make06082012.log
Das Logfile ist angehängt.
Make lief ohne Fehler durch, sieht soweit also gut aus.
Oder findet jemand Hinweise auf Fehler im Log?
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Ja:
Code:-- Found LibXml2: /media/Targa_250GB/Freetz/FB7170_freetz_trunk/toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.29/mipsel-linux-uclibc/lib/libxml2.so (found version "2.8.0") -- Found LibXslt: /media/Targa_250GB/Freetz/FB7170_freetz_trunk/toolchain/build/mipsel_gcc-4.6.3_uClibc-0.9.29/mipsel-linux-uclibc/lib/libxslt.soJetzt kannst Du hiawatha auf deiner Box konfigurieren und testen. Wenn Du das Freetz-Image mit den hiawatha-binaries geflasht hast, dann poste bitte von deiner Box die Ausgabe von:Code:packages/target-mipsel_uClibc-0.9.29/hiawatha-8.4/root/usr/bin/hiawatha
[CODE]
ldd /usr/bin/hiawatha
[/CODE
Die Ausgabe von ldd /usr/bin/hiawatha ist:
Frage:Code:root@FB7390:/var/media/ftp/system# ldd /usr/bin/hiawatha libcrypt.so.0 => /lib/libcrypt.so.0 (0x2aabe000) libpthread.so.0 => /lib/libpthread.so.0 (0x2aae2000) libz.so.1 => /lib/libz.so.1 (0x2ab06000) libpolarssl.so.1 => not found libxml2.so.2 => not found libxslt.so.1 => not found libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ab2a000) libc.so.0 => /lib/libc.so.0 (0x2ab48000) ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
Warum ist das Verzeichnis /vare/media/ftp/system/hiawatha auf dem USB-Stick (extern) leer?
THXCode:root@FB7390:/var/media/ftp/system# ls -l /var/media/ftp/system/hiawatha/ root@FB7390:/var/media/ftp/system#
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW
Bitte poste aus deinem Build-System, auch die Ausgabe von:
Code:readelf -d packages/target-mipsel_uClibc-0.9.29/hiawatha-8.4/root/usr/bin/hiawatha | grep RPATH
Anbei die Ausgabe von der FB:
Code:root@FB7390:/var/mod/root# find / -name "libpolarssl*" /usr/lib/freetz/libpolarssl.so /usr/lib/freetz/libpolarssl.so.1 /usr/lib/freetz/libpolarssl.so.1.1.4 /var/media/ftp/system/external/usr/lib/freetz/libpolarssl.so.1.1.4 root@FB7390:/var/mod/root# find / -name "libxml2*" /usr/lib/freetz/libxml2.so /usr/lib/freetz/libxml2.so.2 /usr/lib/freetz/libxml2.so.2.8.0 /var/media/ftp/system/external/usr/lib/freetz/libxml2.so.2.8.0 root@FB7390:/var/mod/root# find / -name "libxslt*" /usr/lib/freetz/libxslt.so /usr/lib/freetz/libxslt.so.1 /usr/lib/freetz/libxslt.so.1.1.26 /var/media/ftp/system/external/usr/lib/freetz/libxslt.so.1.1.26
Router: AVM Fritz!Box 7170 freetz-1.2-stable-7201_8255MS, AVM Fritz!Box 7390 7390_devel-10228M
Anbindung: Kabel BW