getting toolchain to be used

Xen list at xenhideout.nl
Wed May 3 16:36:41 UTC 2017


David Holmes schreef op 03-05-2017 6:07:

> ARCH arm
> ALT_COMPILER_PATH <path to your toolchain>
> ALT_OPENWIN_HOME <path to X11R6 in your toolchain>
> CROSS_COMPILE_ARCH arm
> EXTRA_CFLAGS  <this is where you set things like -march=armv5e -marm>

In the forest of options, I actually forgot some of those :p.

I am trying to compile headless though.

> the local toolchain will be used for things that need to be compiled
> and executed locally as part of the build. HOST_CC should take care of
> that.

Does the ALT_COMPILER_PATH needs access to regular files like "gcc"? The 
toolchains of course all have "arm-linux-gnueabi-gcc" style paths.

I can create a directory with symlinked versions, actually I already 
had.

I took the toolchain from Ubuntu 14.04, since it is the last to have a 
glibc version (for arm) that will run on kernel 2.6.32. Not ideal 
perhaps but the older one available is for 12.04, and haven't tested 
that one yet.

Now it compiled a long time until it got a problem with a host tool.

./mkbc: 1: ./mkbc: Syntax error: word unexpected (expecting ")")

Which is a bit peculiar, but I expect it to be cause by improper setup? 
We will soon find out :) :p.

I really don't know how ALT_COMPILER_PATH would magically allow it to 
find a compiler like /usr/bin/arm-linux-gnueabi-g++-4.7, so I will go 
ahead and symlink it anyway.

Some of these files are also sitting in /usr/arm-linux-genueabi and even 
though they are identical... Euhm, yep, they are hardlinked :p.

Well everything seems to be fine but I still have the same error:

/toolchaindir/bin/g++ <long command> - < 
/openjdk-7-jre/99b00-2.6.5-r6.1/icedtea-2.6.5/build/openjdk/hotspot/src/cpu/zero/vm/bytecodes_arm.def 
|  ./mkbc - bytecodes_arm.s

./mkbc: 1: ./mkbc: Syntax error: word unexpected (expecting ")")

Yup I am still using the IcedTea distribution. Not sure if that would 
botch things up.

Well downloading openjdk-7 update 131 now to see if it makes a 
difference.

So there we go.

:).

It can't find the header <new>! That is so weird.

It includes -I/usr/arm-linux-gnueabi/include
in /usr/arm-linux-gnueabi/include/c++/4.7.3/ there is the file "new".

And yet it doesn't find it. Oops, my mistake. Then it needs another 
header, this time from 
/usr/arm-linux-gnueabi/include/c++/4.7.3/arm-linux-gnueabi,

is this thing going to require an include for every header location? 
Lol.

I guess they did that this way to separate armel from armhf.

Next up is a "mcp" variable reference in

/openjdk-7-u131/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp at line 
37 that is nowhere else in the file.

So I downgraded to u101 and it went on, but now it cannot link libjvm.so 
because a symlink to it already exists :/.

     rm -f libjvm.so.1; ln -s libjvm.so libjvm.so.1;
     [ -f libjvm.so ] || { ln -s libjvm.so libjvm.so; ln -s libjvm.so.1 
libjvm.so.1; };

It's definitely missing a directory somewhere.

>> I first succeeded in building it using OE but since the compiler 
>> and/or
> 
> Out of curiosity what is OE?

Oh sorry, I thought it would be something standard. OpenEmbedded.



More information about the build-dev mailing list