I have reproduced this bug for poky (pyro, rocko and master branch) I used poky and meta-intel meta layer (use same branch for both (poky & meta-intel) either pyro, rocko OR master). I made yocto build to create multilib image for core-image-sato-sdk. Added below lines to local.conf for multilib image: # Please uncomment the 4 lines below to enable multilib support. require conf/multilib.conf DEFAULTTUNE = "corei7-64" MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "corei7-32" IMAGE_INSTALL_append = " lib32-glib-2.0 lib32-gcc" and run $ bitbake core-image-sato-sdk It is giving do_rootfs error when using IMAGE_INSTALL_append = " lib32-glib-2.0" for core-image-sato-sdk. Also this error is coming for rpm package manager (local.conf: PACKAGE_CLASSES = "package_rpm"). Here is error: ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Could not invoke dnf. Command ....... .... Running transaction test Error: Transaction check error: file /usr/bin/python3.5m-config from install of lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package python3-core-3.5.3-r1.0.corei7_64 file /usr/include/gmp.h from install of lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package libgmp-dev-6.1.2-r0.corei7_64 file /usr/share/pkgconfig/xtrans.pc from install of lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package xtrans-dev-1:1.3.5-r0.corei7_64 Error Summary ------------- ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Function failed: do_rootfs
It seems to be issue of DNF tool. From Yocto 2.3( pyro), the smart tool (rpm manager for YOCTO) is replaced by DNF tool. Earlier, the smart tool was taking it as warning message and removing installation of lib32 rpm in case of conflict in files (from package corei7_32 & corei7_64) happens. But the dnf tool is not handling this issue properly and Yocto build for multilib image is breaking. Here is error message in details: dnf.log: Traceback (most recent call last): File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 64, in main return _main(base, args, cli_class, option_parser_class) File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 99, in _main return cli_run(cli, base) File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 123, in cli_run ret = resolving(cli, base) File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 154, in resolving base.do_transaction(display=displays) File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 238, in do_transaction super(BaseCli, self).do_transaction(display) File "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/dnf/base.py", line 716, in do_transaction self._trans_error_summary(errstring)) dnf.exceptions.Error: Transaction check error: file /usr/bin/python3.5m-config from install of lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package python3-core-3.5.3-r1.0.corei7_64 file /usr/include/gmp.h from install of lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package libgmp-dev-6.1.2-r0.corei7_64 file /usr/share/pkgconfig/xtrans.pc from install of lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package xtrans-dev-1:1.3.5-r0.corei7_64 Error Summary ------------- 2018-01-25T03:51:32Z CRITICAL Error: Transaction check error: file /usr/bin/python3.5m-config from install of lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package python3-core-3.5.3-r1.0.corei7_64 file /usr/include/gmp.h from install of lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package libgmp-dev-6.1.2-r0.corei7_64 file /usr/share/pkgconfig/xtrans.pc from install of lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package xtrans-dev-1:1.3.5-r0.corei7_64
(In reply to comment #1) > It seems to be issue of DNF tool. From Yocto 2.3( pyro), the smart tool (rpm > manager for YOCTO) is replaced by DNF tool. Earlier, the smart tool was > taking it as warning message and removing installation of lib32 rpm in case > of conflict in files (from package corei7_32 & corei7_64) happens. > But the dnf tool is not handling this issue properly and Yocto build for > multilib image is breaking. > > Here is error message in details: > > dnf.log: > > Traceback (most recent call last): > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/cli/main.py", line 64, in main > return _main(base, args, cli_class, option_parser_class) > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/cli/main.py", line 99, in _main > return cli_run(cli, base) > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/cli/main.py", line 123, in cli_run > ret = resolving(cli, base) > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/cli/main.py", line 154, in resolving > base.do_transaction(display=displays) > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 238, in do_transaction > super(BaseCli, self).do_transaction(display) > File > "/home/ilab/Preeti-Work/ApolloLake/rocko-test/yocto_build/build/tmp/work/ > intel_corei7_64-poky-linux/core-image-sato-sdk/1.0-r0/recipe-sysroot-native/ > usr/lib/python3.5/site-packages/dnf/base.py", line 716, in do_transaction > self._trans_error_summary(errstring)) > dnf.exceptions.Error: Transaction check error: > file /usr/bin/python3.5m-config from install of > lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package > python3-core-3.5.3-r1.0.corei7_64 > file /usr/include/gmp.h from install of > lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package > libgmp-dev-6.1.2-r0.corei7_64 > file /usr/share/pkgconfig/xtrans.pc from install of > lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package > xtrans-dev-1:1.3.5-r0.corei7_64 > > Error Summary > ------------- > > 2018-01-25T03:51:32Z CRITICAL Error: Transaction check error: > file /usr/bin/python3.5m-config from install of > lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package > python3-core-3.5.3-r1.0.corei7_64 > file /usr/include/gmp.h from install of > lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package > libgmp-dev-6.1.2-r0.corei7_64 > file /usr/share/pkgconfig/xtrans.pc from install of > lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package > xtrans-dev-1:1.3.5-r0.corei7_64 Greetings Preeti, Firstly a few things to try. Can you try the newest version and report back with a trace on that if it occurs. I am also wondering if it's a issue with dnf or append itself so can you try += rather than IMAGE_INSTALL_append to see if that helps too.
Hi, I tried with below configuration: 1. With latest dnf version (dnf_2.7.5.bb ). Used meta-intel and poky, master branch (http://git.yoctoproject.org/cgit.cgi/poky/tree/meta/recipes-devtools/dnf/dnf_2.7.5.bb). 2. Used IMAGE_INSTALL += "lib32-glib-2.0 lib32-gcc" instead of IMAGE_INSTALL_append But still the below error is coming: ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Could not invoke dnf. Command ....... .... Running transaction test Error: Transaction check error: file /usr/bin/python3.5m-config from install of lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package python3-core-3.5.3-r1.0.corei7_64 file /usr/include/gmp.h from install of lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package libgmp-dev-6.1.2-r0.corei7_64 file /usr/share/pkgconfig/xtrans.pc from install of lib32-xtrans-dev-1:1.3.5-r0.corei7_32 conflicts with file from package xtrans-dev-1:1.3.5-r0.corei7_64 Error Summary ------------- ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Function failed: do_rootfs\ ------------------------------------------------------------------- To reproduce this error at your end, use below local.conf configuration: MACHINE = "intel-corei7-64" require conf/multilib.conf DEFAULTTUNE = "corei7-64" MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 ="corei7-32" IMAGE_INSTALL += "lib32-glib-2.0 lib32-gcc" --------------------------------------------------- This is bug of dnf tool and need to fix dnf source code.
Looks like a issue with python and mutlilib yocto recipes actually as the trace is complaining about the same file even through one is 32bit and the other 64bit. file /usr/bin/python3.5m-config from install of lib32-python3-core-3.5.3-r1.0.corei7_32 conflicts with file from package python3-core-3.5.3-r1.0.corei7_64 file /usr/include/gmp.h from install of lib32-libgmp-dev-6.1.2-r0.corei7_32 conflicts with file from package libgmp-dev-6.1.2-r0.corei7_64 Can you try without your recipes mutlilib enabled as if it works that's the issue if not than you may be right. Will have to see if it works with other package managers after through.
Obviously, without mutlilib enabled in local.conf, issue will not come. Earlier till Yocto Poky Jethro branch, smart tool was being used with RPM for packaging/installing rpm files. The smart tool was handling 64bit & 32bit identical file conflict situation properly. But from Yocto Poky 2.3 (pyro), smart tool has been replaced by dnf tool and dnf tool is not handling this conflicting error properly. Enabling multilib config is standard configuration and has mentioned in previous Intel BSP's release note. For example: https://www.yoctoproject.org/software-overview/layers/bsps/pyro23-halo/ https://www.yoctoproject.org/software-overview/layers/bsps/pyro23-xeon/ If user follow steps in above mentioned BSP release note, then will surely encounter this issue for Yocto poky (pyro, rocko and master branch). Whether it is python or multilib class/recipe or dnf tool issue, could please proceed to fix this issue as installing multilib libraries is standard configuration ?
Ok that makes sense and was my point. Anyhow try with smart tool and see if it works if not then please tell my what version of dnf you are using and if it's the most current. As if it's the case then dnf should be reverted back to smart tool until dnf is properly fixed and I will open a bug report there.
Patches to address this queued in master-next.
Fix the xtrans issue: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=0609f4fee30494792d7c5b9e9113a6275dc93d1c and the python issue: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=69b588ea2ad37f6c798aee8e49c5b375e52b7e81 however once these were fixed there were other multilib issues. This lead to the seven patches ending with http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7cb125d7ee4b80fb33d87bdd0b257bc6daaff051