On Wed, Jun 3, 2015 at 9:26 AM, Virendra Kumar Pathak kumarvir.pathak@gmail.com wrote:
I am trying to build a cross-native toolchain for AARCH64 using ABE build framework. By cross native I mean that toolchain will be build on 0x86 (Red hat Santiago 6.4), it will run on AARCH64 (Juno) and will produce binaries to be run on AARCH64 (Juno) (If I am not mistaked) --build=0x86, --host=AARCH64, --target=AARCH64
I've never used abe to build canadian cross like this, so I don't know the level of support for it. In theory it seems like it should work. It is simpler to just build natively on a juno box though, which is what I do.
RUN: copy_gcc_libs_to_sysroot "/home/user_name/vpathak/build_abe/builds/destdir/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc --sysroot=/home/user_name/vpathak/build_abe/sysroots/aarch64-linux-gnu" /home/user_name/vpathak/abe/lib/make.sh: line 962: ./builds/destdir/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc: cannot execute binary file
The problem here is that abe is using the host compiler binary when it should be using the build compiler binary. Abe would need to keep track of two compiler versions, and remember that one runs on the host and one runs on the build machine. The GCC makefiles have this support, but it appears that the abe scripts do not. It should be possible to add this to abe. You could try filing a bug report against abe for this problem.
I had to disable gdb compilation. This error I faced while compiling cross-native compilation only. Cross compilation is successful on the same 0x86 machine.
checking for library containing waddstr... no configure: error: no enhanced curses library found; disable TUI make: *** [configure-gdb] Error 1
A gdb build requires the libncurses library, which is separate from glibc. This isn't part of the sysroot that abe creates. So yes, this isn't going to work unless you configure gdb to disable tui, or add libncurses to the sysroot. Again, you could file an abe bug report for that.
Jim