Re: [KCONFIG] Can't compile 2.6.12 without Gettext

Jerome Pinot
2005-08-28T01:19:39Z

On 8/28/05, Adrian Bunk <bunk@stusta.de> wrote:
[...]
> You said "full gettext" was required and that the presence of "gettext
> binaries" should be checked what surprised me. It seems this is not the
> problem. Under Linux, libintl.h is not shipped with gettext but with the
> C library if you are using glibc or dietlibc.

I said the libintl.h file didn't solve the problem

> I do not question your point that "uClibc is widely used", but it's
> widely used to _run_ a Linux kernel.
> You said you are "thinking about small or embedded system with specific
> toolchain". If a system is so limited that you run uClibc on it, is this
> really the right system to _compile_ a kernel on? Where's the problem
> with cross-compiling the kernel for such a system?

You need the libc headers, to compile a kernel.
If you want to really work cleanly, i.e. be as much independant of the
host system as possible, you will not compile on another system, or
even use a cross-compiler, but use your own environnement system in
chroot. Everything in your system should have been built with the same
toolchain.

The LFS project shown very nice informations about this 1 or 2 years
ago. They still found bytes of the host system in the final build
binaries (sorry, can't find back the mail with figures). They had to
change completly the way of doing the toolchain. You can check the
beginning of chapter 5 from current book for more informations.

Shall every toolchain have gettext?
I don't think so. Sometimes, you just don't need all the nls bloat.

Moreover, Kconfig should check before trying to compile. It could be a
nasty way to introduce "some code" to the build program. Hum.

Anyway, there is no need of this kind of dependency to actually
compile the kernel. I still could use gcc in the source tree to get my
binaries.

The rationnal way should be to check for correct nls implementation
and just not use it if it's missing. It's a matter of adding 2 #define
in the code and add a proper test.

I don't understand why gettext must be _required_