The same problem occurs when compiling psize.c: It is compiled for the host with the defines in "config.h", which are valid for the target environment only.
Moreover, running "psize.c" on the host is irrelevant anyway: The size of a pipe on the host is not the same as the size of a pipe on the target... -- Klaus Kusche (Software Development - Control Systems) KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria (Europe) Tel: +43 / 732 / 7090-3120 Fax: +43 / 732 / 7090-8919 E-Mail: [EMAIL PROTECTED] WWW: www.keba.com > -----Original Message----- > From: kus Kusche Klaus > Sent: Thursday, April 07, 2005 3:18 PM > To: '[email protected]'; '[EMAIL PROTECTED]' > Subject: Bug cross-compiling bash (with buildroot): > mkbuiltins uses config.h > > > Hmmm, it's worse than described below... > > * "mkbuiltins.c" includes "config.h" unconditionally, it does > not depend on "HAVE_CONFIG_H". > > * "mkbuiltins.c" depends on "config.h", it does not compile > when that include is removed. > > -- > Klaus Kusche (Software Development - Control Systems) > KEBA AG Gewerbepark Urfahr, A-4041 Linz, Austria (Europe) > Tel: +43 / 732 / 7090-3120 Fax: +43 / 732 / 7090-8919 > E-Mail: [EMAIL PROTECTED] WWW: www.keba.com > > > > -----Original Message----- > > From: kus Kusche Klaus > > Sent: Thursday, April 07, 2005 2:58 PM > > To: '[email protected]'; '[EMAIL PROTECTED]' > > Subject: Bug cross-compiling bash (with buildroot): > > mkbuiltins uses config.h > > > > > > I've hit the following bug when cross-building bash with buildroot: > > > > Compiling mkbuiltins fails because "inttypes.h" is not found. > > > > It turns out that: > > * The target system has an "inttypes.h" header file. It is > > found by configure, and hence "config.h" sets "HAVE_INTTYPES_H". > > * "mkbuiltins" is compiled with "-DHAVE_CONFIG_H" (but with > > the host compiler, which only sees the host include > > directories, but not the target include directories). It uses > > the "config.h" generated w.r.t. the target, sees > > "HAVE_INTTYPES_H", and hence tries to include "inttypes.h". > > * The host system does not have any "inttypes.h" header file, > > and hence the compilation fails... > > > > However, the "inttypes.h" error is only one consequence of a > > serious fundamental problem: "mkbuiltins" should not use > > "config.h" at all! Host and target system differ > > dramatically, many of the definitions in "config.h" > > (generated w.r.t. the target system) are most likely wrong > > for the host system! > > > > Bash version is 3.0 (with the patches applied by buildroot). > > The host system is Windows/Interix, but with a complete GNU > > toolchain (gcc, make, bash, ...) instead of the Interix programs. > > However, the host system's C library and headers are still > > those from Interix, not glibc. > > The target system is an embedded system with uclibc library > > and headers. > > > > I also tried on a gentoo host system. There, the make does > > not fail (because inttypes.h exists on both the host and the > > target), but still, mkbuiltins is most likely compiled with > > the wrong config.h. > > > > How to work around the problem? > > > > Many thanks in advance for any hints! > > > > Klaus Kusche > > Entwicklung Software - Steuerung > > Software Development - Control > > > > KEBA AG > > A-4041 Linz > > Gewerbepark Urfahr > > Tel +43 / 732 / 7090-3120 > > Fax +43 / 732 / 7090-8919 > > E-Mail: [EMAIL PROTECTED] > > www.keba.com > > > > > > > _______________________________________________ Bug-bash mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-bash
