getting toolchain to be used

Xen list at xenhideout.nl
Sat May 6 07:49:31 UTC 2017


So seriously,

because the command line includes -I/usr/include

and because the toolchain directory /usr/arm-linux-eabi/include is 
embedded in the toolchain,
and because --sysroot /usr/include is also a standard directory

it searches its full paramters first before it considers any standard 
locations, even if those standard locations are actually supplied on the 
command line.

So it will find /usr/include first before venturing into e.g. 
$SYSROOT/usr/include.

Why? Well apparently because due to --sysroot /usr/include is no longer 
a standard location, so it is considered first.

Isn't that freaking amazing, it just ignores your parameters because it 
already knows about them.

It integrates them into its list and only after will it start sorting 
them according to what it already knew.

Which is really just wrong behaviour, but anyway.

It should integrate after sorting and then use the first occurance in 
the list.

So I can get around it yes.

If I just copy the headers to $SYSROOT/usr/local/include.fuckedup, then 
it will work.

Symlinks also don't work because it will just readlink them :p.

Meanwhile --sysroot actually does not cause locations to be resolved 
according to $SYSROOT.

So it's whole purpose is meaningless: it just causes important locations 
to be searched last.

Neither full nor relative paths are resolved with regards to it. Why 
have it then???

Maybe it works for libraries, I don't know.

Oh man...

I truly believe people make it harder on purpose. Not you, in this case 
just GCC.

There are just people invested in making life harder for other people.

For example, why doesn't GCC or make just output a list of locations 
that it searched in?

It would be so easy.

And save so much time.

But they don't do it.

They just give a non-descript error.

That you need fucking strace to diagnose.

Sorry for my language though.

Regards.



More information about the build-dev mailing list