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.