[uClibc] gcc-3.3.2 building problem

Manuel Novoa III mjn3 at codepoet.org
Sat Jan 24 19:57:14 UTC 2004


Hello,

On Sat, Jan 24, 2004 at 04:45:55PM +0100, Peter S. Mazinger wrote:
> On Fri, 23 Jan 2004, Peter S. Mazinger wrote:
> On Fri, 23 Jan 2004, Manuel Novoa III wrote:
> > On Fri, Jan 23, 2004 at 08:07:14PM +0100, Peter S. Mazinger wrote:
> > > If I try to build gcc3_3_target from within buildroot, it works, but
> > > if I unpack gcc-3.3.2 in a uclibc env, apply all the patches from 
> > > buildroot, run configure without the host/target/build options (in 
> > > gcc3_3_target section) and run make to build c and c++, the libstdc++ 
> > > stuff can't be built.
> > 
> > Since you aren't specifying host/target/build options, you have to
> > fix config.guess to return a tuple like <arch>-<vendor>-linux-uclibc
> > in order for the libstdc++ configuration to choose the correct
> > config/os/<subdir> and config/locale/<subdir> to use.
> 
> I have thought it is done by the gcc-uclibc-* patches? I have checked 
> again, but only binutils-uclibc-* patches do it, the gcc ones not. So I 
> have replaced all config.sub and config.guess with those from 
> newest automake (supports linux-uclibc*) and it does not work either.

There is no version of config.guess that I know of which addresses
native uClibc systems.  I do not modifiy it in my patches either,
since there still needs to be discussion about including some type
of uClibc configuration-identifying suffix in the result.

> I have done some checks without copying config.*, it works only if 
> host=target=<arch>-linux-uclibc and build=<arch>-linux (as in buildroot), 
> but in this case it is taken as a cross-compilation.
> 
> If I now copy the config.* files, it is recognized as native compiler but 
> can't build libstdc++ (so probably the proper locale is not selected, 
> although I have used --disable-nls).
> 
> What I have found, the libstdc++/configure.in file is patched (by 
> gcc-uclibc-3.3-*), but configure misses the uclibc related parts, so I 
> ran autoconf, now I have the missing parts in configure, but nothing 
> changes. I have checked the libstdc++-v3/config.status file, the tuple is 
> ok: i386-pc-linux-uclibc, so what else can I do?

I had not tried building gcc in a native uClibc environment.  I didn't
really plan to do so for at least another month or two.  By that time,
I should have all of my slated abi-affecting changes in place.

In any case, I did a native build in a rootfs this morning and found
that a small modification to libstdc++-v3/configure.target was needed.
I've checked in an updated patch.

Note that I also replaced all occurrences of config.guess with the
following script:

  #!/bin/sh
  echo `uname -m`-unknown-linux-uclibc

Yes, I know it's lame.  :-)

Manuel



More information about the uClibc mailing list