PeterPawn
IPPF-Urgestein
- Mitglied seit
- 10 Mai 2006
- Beiträge
- 15,283
- Punkte für Reaktionen
- 1,755
- Punkte
- 113
Bestimmte Einstellungen lassen sich beim Cross-Build nun mal nicht per "configure" automatisch ermitteln ... dafür gibt es vordefinierte Templates, die man verwenden kann, um Einstellungen für das Zielsystem zu setzen. Ich empfehle einen Blick in die entsprechenden Dokumentationen: https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Site-Defaults.html
Wenn man sich dann mal den "configure"-Aufruf von Freetz anschaut, findet man dort z.B. Werte wie
Woher kommen die wohl bzw. wohin zeigen deren Pfade eigentlich?
Was da bei Euch jeweils verwendet wird, kann man/ich natürlich nicht sehen, wenn auch die Build-Protokolle dermaßen "geheim" sind (merke: Nicht immer ist Datensparsamkeit angebracht.), daß da die "configure"-Aufrufe nicht wirklich zu sehen sind.
Immerhin scheint die Toolchain aber bei @tuxedonet schon mal die OpenSSL-Installation zu finden, sonst wäre der Fehler mit der fehlenden GOST-Unterstützung gar nicht erst aufgetreten, weil früher abgebrochen würde.
@zyrill:
Warum Du jetzt den SSL-Path auf das "lib"-Verzeichnis im Staging-Bereich legen willst, verstehe ich gar nicht mehr ... Du weißt schon, was "configure" eigentlich macht? Wenn nicht, würde ich wieder den o.a. Link (halt einige Ebenen höher) empfehlen.
Da wird gar nicht nach den fertigen Bibliotheken gesucht, wenn es
heißt (also interessiert es keinen, wo diese Dateien am Ende liegen), sondern nach den notwendigen Include-Files. Diese automatische Konfiguration übersetzt jeweils kleine Programmschnipsel und versucht über die dabei auftretenden Fehler festzustellen, welche Funktionen das jeweilige System nun unterstützt und welche nicht. Daraus wird dann eine passende Konfiguration gebaut (die getroffenen Feststellungen werden parallel dazu noch in einer Cache-Datei gespeichert, damit nicht jedesmal aufs Neue alles komplett getestet werden muß - daher gibt es auch beim "configure" hinter einigen Einträgen ein "cached" zu sehen) und mit der kann man das Paket dann übersetzen.
Wenn ich mich an ein neues Paket wagen würde, würde ich das zunächst mal in einer Umgebung machen, von der ich definitiv weiß, daß sie funktioniert ... dazu würde Dein "Kali" für mich jetzt nicht direkt gehören, zumal da eigentlich eine eher strikte Trennung zwischen 64-Bit- und 32-Bit-System besteht. Ich hoffe mal, daß Du wenigstens die 32-Bit-Version verwendest ... aber ich habe auch keine wirkliche Lust, da jetzt nach dem Grund zu suchen, wieso es bei Dir offenbar "nicht tut".
Wenn ich das richtig verstanden habe, kriegt @tuxedonet mit der zusätzlichen Konfiguration (also mit "--disable-gost" und dem Abschalten der ECC-Unterstützung in der "libcrypto") das ebenfalls übersetzt ... auch auf einem RasPi(?) und damit in einer ARM-basierten Toolchain. Wenn das stimmt (und selbst wenn nicht, nimm einfach erst mal eine Freetz-VM, da weißt Du dann wenigstens, daß die Umgebung für den Build-Host stimmt, wenn Du Dein erstes eigenes Paket baust), dann funktioniert es ja schon mal bei zweien und damit sinkt die Wahrscheinlichkeit, daß es an einer "Besonderheit" bei mir liegt, wenn es sich zumindest übersetzen läßt.
PS: Es ist bei mir - wie geschrieben - einfach eine Freetz-VM (auf 14.04 gebracht und mit aktuellen Paketen versorgt) ... man erkennt es auch an den Pfaden. Der Trunk wurde in ein Verzeichnis "freetz" ausgecheckt, das "/home/freetz" ist das Home-Verzeichnis des Benutzers "freetz".
Wenn man sich dann mal den "configure"-Aufruf von Freetz anschaut, findet man dort z.B. Werte wie
Code:
PKG_CONFIG_PATH="/home/freetz/freetz/toolchain/build/mips_gcc-4.8.5_uClibc-0.9.33.2-nptl_kernel-3.10/mips-linux-uclibc/bin/../lib/pkgconfig"
PKG_CONFIG_LIBDIR="/home/freetz/freetz/toolchain/build/mips_gcc-4.8.5_uClibc-0.9.33.2-nptl_kernel-3.10/mips-linux-uclibc/bin/../lib/pkgconfig"
GLOBAL_LIBDIR=/home/freetz/freetz/toolchain/build/mips_gcc-4.8.5_uClibc-0.9.33.2-nptl_kernel-3.10/mips-linux-uclibc/usr/lib
CONFIG_SITE=/home/freetz/freetz/include/site/mips-linux-uclibc
conf_cmd <== das ist der eigentliche "configure"-Aufruf
--cache-file=/home/freetz/freetz/source/target-mips_gcc-4.8.5_uClibc-0.9.33.2-nptl_kernel-3.10/config.cache
--target=mips-linux
--host=mips-linux
--build=i386-pc-linux-gnu
--program-prefix=""
--program-suffix=""
--prefix=/usr
--exec-prefix=/usr
--bindir=/usr/bin
--datadir=/usr/share
--includedir=/usr/include
--infodir=/usr/share/info
--libdir=/usr/lib
--libexecdir=/usr/lib
--localstatedir=/var
--mandir=/usr/share/man
--sbindir=/usr/sbin
--sysconfdir=/etc
--with-gnu-ld
--disable-nls
Was da bei Euch jeweils verwendet wird, kann man/ich natürlich nicht sehen, wenn auch die Build-Protokolle dermaßen "geheim" sind (merke: Nicht immer ist Datensparsamkeit angebracht.), daß da die "configure"-Aufrufe nicht wirklich zu sehen sind.
Immerhin scheint die Toolchain aber bei @tuxedonet schon mal die OpenSSL-Installation zu finden, sonst wäre der Fehler mit der fehlenden GOST-Unterstützung gar nicht erst aufgetreten, weil früher abgebrochen würde.
@zyrill:
Warum Du jetzt den SSL-Path auf das "lib"-Verzeichnis im Staging-Bereich legen willst, verstehe ich gar nicht mehr ... Du weißt schon, was "configure" eigentlich macht? Wenn nicht, würde ich wieder den o.a. Link (halt einige Ebenen höher) empfehlen.
Da wird gar nicht nach den fertigen Bibliotheken gesucht, wenn es
Code:
Cannot find the SSL libraries in /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr
Wenn ich mich an ein neues Paket wagen würde, würde ich das zunächst mal in einer Umgebung machen, von der ich definitiv weiß, daß sie funktioniert ... dazu würde Dein "Kali" für mich jetzt nicht direkt gehören, zumal da eigentlich eine eher strikte Trennung zwischen 64-Bit- und 32-Bit-System besteht. Ich hoffe mal, daß Du wenigstens die 32-Bit-Version verwendest ... aber ich habe auch keine wirkliche Lust, da jetzt nach dem Grund zu suchen, wieso es bei Dir offenbar "nicht tut".
Wenn ich das richtig verstanden habe, kriegt @tuxedonet mit der zusätzlichen Konfiguration (also mit "--disable-gost" und dem Abschalten der ECC-Unterstützung in der "libcrypto") das ebenfalls übersetzt ... auch auf einem RasPi(?) und damit in einer ARM-basierten Toolchain. Wenn das stimmt (und selbst wenn nicht, nimm einfach erst mal eine Freetz-VM, da weißt Du dann wenigstens, daß die Umgebung für den Build-Host stimmt, wenn Du Dein erstes eigenes Paket baust), dann funktioniert es ja schon mal bei zweien und damit sinkt die Wahrscheinlichkeit, daß es an einer "Besonderheit" bei mir liegt, wenn es sich zumindest übersetzen läßt.
PS: Es ist bei mir - wie geschrieben - einfach eine Freetz-VM (auf 14.04 gebracht und mit aktuellen Paketen versorgt) ... man erkennt es auch an den Pfaden. Der Trunk wurde in ein Verzeichnis "freetz" ausgecheckt, das "/home/freetz" ist das Home-Verzeichnis des Benutzers "freetz".
Zuletzt bearbeitet: