[yocto] Toolchains of different architectures overwrite files

Mark Hatle mark.hatle at windriver.com
Fri Oct 30 10:16:16 PDT 2015


On 10/30/15 12:07 PM, Lorenz B. wrote:
> Hello,
> 
> I setup yocto (fido fa55b8e") with
> source oe-init-build-env build-qemu
> and changed MACHINE to "none" and PACKAGE_CLASSES to "package_ipk" in
> conf/local.conf
> 
> 
> built an arm and a mips toolchain with the following commands:
> export MACHINE=qemuarm; bitbake meta-toolchain
> export MACHINE=qemumips; bitbake meta-toolchain
> 
> Installed and reanmed the toolchains like this:
> ./poky-glibc-x86_64-meta-toolchain-armv5e-toolchain-1.8.1.sh -d poky
> mv poky poky-arm
> ./poky-glibc-x86_64-meta-toolchain-mips32r2-toolchain-1.8.1.sh -d poky
> mv poky poky-mips
> 
> 
> And created md5 sums from both x86_64-pokysdk-linux sysroots:
> cd poky-arm/sysroots/x86_64-pokysdk-linux
> find . -type f -exec md5sum {} \; > ../../../arm.md5
> cd -
> 
> cd poky-mips/sysroots/x86_64-pokysdk-linux/
> find . -type f -exec md5sum {} \; > ../../../mips.md5
> cd -

You can't just md5sum.  Different builds will generate different md5 sums due to
embedded data states, build stamps, build id, etc.

You need to actually use a program to compare the binaries themselves
(specifically the sections).

Anything that is taged with an arch type is specific to the target of your
compilation.  Anything else, the comparisons of the sections should be the same
within the limitations of those embedded components.  If there is a deviation,
then we should be able to look into it.. but the md5sum just says they were
built at different times to me -- and doesn't tell me there is a problem.

--Mark

> and finaly compared the two md5 files with
> colordiff -u arm.md5 mips.md5 | less -R
> to be sure that everything is equal. But to my surprise, it isn't equal.
> 
> There are some files which don't exist in the other toolchain in
> architecture specific directories which might be ok.
> But there are some files which would be overwritten if both toolchains
> are installed to the same location like the default /opt/poky/1.8.1.
> And for every toolchain I install the last one wins.
> 
> Do I use those toolchains in a wrong fashion if I install them all in
> the default path?
> And if not, why doesn't it bother that files are overwritten?
> 
> Best regards,
> Lorenz
> 
> 
> 




More information about the yocto mailing list