Sorry, but I'm not sure I understand either of these replies. I'm trying to find a way to be able to build with --disable-multilib. When I build with multilib enabled, it succeeds just fine.

Thanks,
Diane


On Tue, Mar 4, 2014 at 6:37 PM, Ryan Arnold <ryan.arnold@linaro.org> wrote:
On Wed, Mar 5, 2014 at 8:01 AM, Diane Holt <holt.diane@gmail.com> wrote:
> Is that supposed to be possible? When I add --disable-multilib to the
> configure options, the build fails on the install, because it hasn't built
> any of src/gcc-linaro-4.8-2014.02/libgcc:
>
> /bin/sh ../../../../src/gcc-linaro-4.8-2014.02/libgcc/../mkinstalldirs
> /home/ubuntu/work483/build/sysroot/home/ubuntu/opt/cross-gcc-linaro/lib/gcc/arm-linux-gnueabi/4.8.3
> /usr/bin/install -c -m 644 libgcc_eh.a
> /home/ubuntu/work483/build/sysroot/home/ubuntu/opt/cross-gcc-linaro/lib/gcc/arm-linux-gnueabi/4.8.3/
> /usr/bin/install: cannot stat `libgcc_eh.a': No such file or directory
> make[3]: *** [install-shared] Error 1
> make[3]: Leaving directory
> `/home/ubuntu/work483/build/gcc/arm-linux-gnueabi/libgcc'
> make[2]: *** [install-target-libgcc] Error 2
> make[2]: Leaving directory `/home/ubuntu/work483/build/gcc'
> make[1]: *** [install] Error 2
> make[1]: Leaving directory `/home/ubuntu/work483/build/gcc'
> make: *** [stamp/gcc-install] Error 2
>
> I don't want or need multilib, so I'd rather build the toolchain without it,
> but before I try to make that happen, I wanted to make sure it's supposed to
> be able to get built correctly that way.
>
> Thanks,
> Diane

Diane,

I ran into this issue as well, and believe that it's related to your
sysroot lacking the proper soft-float headers and/or missing kernel
headers.

This means that your sysroots include/ directory needs to be prepared
for multi-lib headers before you do a multi-lib enabled gcc build.

So, what I did was identify the multi-lib configurations that are
enabled when I selected a particular --target.

Take that information and build the kernel headers for all
configurations and install those headers into the sysroot include
directory.

Then build a glibc version for each configuration and install the
headers into the sysroot.

Then you might need to inform GCC where the include directories are
(though a properly formatted multi-lib sysroot should be automatically
detected when you pass the sysroot switch).

Zhenqiang Chen knows about this process a bit better than I do.

--
Ryan S. Arnold
Linaro Toolchain Working Group
www.linaro.org