Build error: zlib.h missing

The Brad

Mitglied
Mitglied seit
20 Dez 2007
Beiträge
234
Punkte für Reaktionen
1
Punkte
16
Nach einem frischen Checkout des trunks (schon seit einigen Versionen) bekomme ich folgende Fehlermeldung:
Code:
checking for zlib.h... (cached) no
configure: error: *** zlib.h missing - please install first or check config.log ***

[COLOR="Orange"]ERROR: Build failed.[/COLOR]
make: *** [source/target-mipsel_uClibc-0.9.29/openssh-5.5p1/.configured] Fehler 1
e

Build-Umgebung ist Ubuntu 10.10, 64bit. Früher konnte ich damit freetz perfekt bauen... Kann mir jemand helfen?

Vielen Dank, Brad
 
Code:
sed -i -e '/ac_cv_header_zlib_h/ d' source/*/config.cache
make openssh-dirclean
make

Wenn es wirklich mit einem frischen checkout passiert, dann häng' Deine .config bitte an
 
Hallo er13,

ich habe noch einmal den aktuellen Trunk 6301 in ein neues Verzeichnis frisch ausgecheckt und bekam exakt die gleiche Fehlermeldung wie oben. Erst als ich Deinen Code ausgeführt habe, lief der Build sauber durch... Vielen Dank dafür!

Allerdings lässt sich - zumindest mit meinen Einstellungen - der Midnight Commander nicht bauen,
Code:
sldisply.c:(.text+0xf8c): undefined reference to `tgetent'
collect2: ld returned 1 exit status
make[3]: *** [mc] Fehler 1
make[3]: Verlasse Verzeichnis '/home/user/freetz/source/target-mipsel_uClibc-0.9.29/mc-4.6.2/src'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/user/freetz/source/target-mipsel_uClibc-0.9.29/mc-4.6.2'
make[1]: *** [all] Fehler 2
make[1]: Verlasse Verzeichnis '/home/user/freetz/source/target-mipsel_uClibc-0.9.29/mc-4.6.2'

[COLOR="Orange"]ERROR: Build failed.[/COLOR]
aber das ist erst einmal egal. Meine aktuelle .config (ohne MC) habe ich trotzdem angehängt.

Vielen Dank und viele Grüße, Brad
 

Anhänge

  • config.txt
    23.2 KB · Aufrufe: 5
pcre ist das schuldige Paket. Es cached ac_cv_header_zlib_h = no.

@er13 Lösungsvorschlag:
Code:
Index: make/libs/pcre.mk
===================================================================
--- make/libs/pcre.mk	(revision 6298)
+++ make/libs/pcre.mk	(working copy)
@@ -15,6 +15,8 @@
 $(PKG)_POSIX_STAGING_BINARY:=$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/$($(PKG)_POSIX_LIBNAME)
 $(PKG)_POSIX_TARGET_BINARY:=$($(PKG)_TARGET_DIR)/$($(PKG)_POSIX_LIBNAME)
 
+$(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_MAKE_CONF_VARIABLES_PACKAGE_SPECIFIC,ac_cv_header_zlib_h)
+
 $(PKG)_CONFIGURE_OPTIONS += --enable-shared
 $(PKG)_CONFIGURE_OPTIONS += --enable-static
 $(PKG)_CONFIGURE_OPTIONS += --enable-utf8

Gruß
Oliver

edit:
@Brad
Häng doch bitte nochmal die .config mit mc an.
 
Zuletzt bearbeitet:
Verwendet denn pcre die zlib.h? Ist diese optional?

PS:
Ich habe mal nachgeschaut, wir sollten bei pcre diese Switches verwenden, wenn nichts dagegen spricht:
Code:
--disable-pcregrep-libz
--disable-pcregrep-libbz2
--disable-pcretest-libreadline
Falls dadurch nicht die Tests auf diese Libraries entfernt werden, sollten wir die Ergebnisse von allen dreien als lokal ändern.
 
Zuletzt bearbeitet:
Nein, die Tests werden trotzdem ausgeführt.
Die Libraries werden anscheinend nur für die Programme pcretest und pcregrep verwendet, die wir sowieso nicht installieren.
 
Okay. Neuer Vorschlag:
Code:
--- make/libs/pcre.mk   (Revision 6298)
+++ make/libs/pcre.mk   (Arbeitskopie)
@@ -15,6 +15,9 @@
 $(PKG)_POSIX_STAGING_BINARY:=$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib/$($(PKG)_POSIX_LIBNAME)
 $(PKG)_POSIX_TARGET_BINARY:=$($(PKG)_TARGET_DIR)/$($(PKG)_POSIX_LIBNAME)

+$(PKG)_AC_VARIABLES := header_zlib_h header_bzlib_h header_readline_readline_h header_readline_history_h
+$(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_MAKE_AC_VARIABLES_PACKAGE_SPECIFIC,$($(PKG)_AC_VARIABLES))
+
 $(PKG)_CONFIGURE_OPTIONS += --enable-shared
 $(PKG)_CONFIGURE_OPTIONS += --enable-static
 $(PKG)_CONFIGURE_OPTIONS += --enable-utf8
führt zu
Code:
pcre_cv_header_bzlib_h=${pcre_cv_header_bzlib_h=no}
pcre_cv_header_readline_history_h=${pcre_cv_header_readline_history_h=yes}
pcre_cv_header_readline_readline_h=${pcre_cv_header_readline_readline_h=yes}
pcre_cv_header_zlib_h=${pcre_cv_header_zlib_h=yes}
Gruß
Oliver
 
Sieht gut aus.

Bei der Gelegenheit könnte man noch den Aufruf von PKG_MAKE_AC_VARIABLES_PACKAGE_SPECIFIC in make/Makefile.in einbauen, für den Fall, daß $(PKG)_AC_VARIABLES definiert wird. Vielleicht auch besser mit dem Namen $(PKG)_AC_LOCAL_VARIABLES.
 
ich bin dafür sowohl das aus #8 als auch die --disable's aus #5 einzubauen, auch wenn die jetzt noch nichts bewirken ;-)
 
Die disables aus #5 sind anscheinend schon der Default. Ein reines configure aktiviert diese nicht, obwohl die notwendigen Libraries vorhanden sind.
Eine andere Möglichkeit wäre, die Tests aus configure.ac zu entfernen.
 
Sorry, bin etwas spät dran. Anbei die .config mit MC für trunk 6301, die nicht durchläuft.

Grüße, Brad
 

Anhänge

  • config.txt
    24.1 KB · Aufrufe: 3
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.