[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
3rd problem: Bug cross-compiling bash (with buildroot): mkbuiltins uses
From: |
kus Kusche Klaus |
Subject: |
3rd problem: Bug cross-compiling bash (with buildroot): mkbuiltins uses config.h |
Date: |
Thu, 7 Apr 2005 15:34:59 +0200 |
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: kus@keba.com WWW: www.keba.com
> -----Original Message-----
> From: kus Kusche Klaus
> Sent: Thursday, April 07, 2005 3:18 PM
> To: 'bug-bash@gnu.org'; 'uclibc@mail.uclibc.org'
> 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: kus@keba.com WWW: www.keba.com
>
>
> > -----Original Message-----
> > From: kus Kusche Klaus
> > Sent: Thursday, April 07, 2005 2:58 PM
> > To: 'bug-bash@gnu.org'; 'uclibc@mail.uclibc.org'
> > 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: kus@keba.com
> > www.keba.com
> >
> >
> >
>
- 3rd problem: Bug cross-compiling bash (with buildroot): mkbuiltins uses config.h,
kus Kusche Klaus <=