Merged. Thank you. It would be nice to have a test case for this. On Mon, Sep 7, 2020 at 6:08 AM Martin Jansa <martin.ja...@gmail.com> wrote:
> * it was a bit tricky to find this, because > $ bitbake -g lib32-python > $ grep '"python\.' task-depends.dot > doesn't show anything, but if you set > COMPATIBLE_HOST_pn-python = "^(?!x86_64).*" > $ bitbake lib32-python > will fail with: > NOTE: Resolving any missing task queue dependencies > ERROR: Nothing PROVIDES 'python' > python was skipped: incompatible with host x86_64-oe-linux (not in > COMPATIBLE_HOST) > ERROR: Required build target 'lib32-python' has no buildable providers. > Missing or unbuildable dependency chain was: ['lib32-python', 'python'] > > so I was wondering where this dependency was created when it isn't part > of task-depends.dot > > in the end I've added small debug output in bitbake: > diff --git a/lib/bb/taskdata.py b/lib/bb/taskdata.py > index ffbaf362..e7fab3cc 100644 > --- a/lib/bb/taskdata.py > +++ b/lib/bb/taskdata.py > @@ -70,6 +70,7 @@ class TaskData: > """ > > task_deps = dataCache.task_deps[fn] > + logger.verbose('add_tasks for %s: %s' % (fn, task_deps)) > > if fn in self.failed_fns: > bb.msg.fatal("TaskData", "Trying to re-add a failed file? > Something is broken...") > > which showed exactly where the issue was: > NOTE: add_tasks for > virtual:multilib:lib32:/OE/meta-python2/recipes-devtools/python/ > python_2.7.18.bb: {'tasks': ['do_patch', 'do_populate_sysroot', > 'do_populate_sysroot_setscene', 'do_prepare_recipe_sysroot', > 'do_listtasks', 'do_clean', 'do_checkuri', 'do_fetch', 'do_unpack', > 'do_configure', 'do_compile', 'do_install', 'do_build', 'do_cleansstate', > 'do_cleanall', 'do_rm_work_all', 'do_rm_work', 'do_build_without_rm_work', > 'do_package_qa', 'do_package_qa_setscene', 'do_package', > 'do_package_setscene', 'do_packagedata', 'do_packagedata_setscene', > 'do_package_write_ipk_setscene', 'do_package_write_ipk', 'do_devshell', > 'do_devpyshell', 'do_populate_lic', 'do_populate_lic_setscene', > 'do_create_manifest'], 'parents': {'do_patch': ['do_unpack'], > 'do_populate_sysroot': ['do_install'], 'do_populate_sysroot_setscene': [], > 'do_prepare_recipe_sysroot': ['do_fetch'], 'do_listtasks': [], 'do_clean': > [], 'do_checkuri': [], 'do_fetch': [], 'do_unpack': ['do_fetch'], > 'do_configure': ['do_prepare_recipe_sysroot', 'do_patch'], 'do_compile': > ['do_configure'], 'do_install': ['do_compile'], 'do_build': ['do_rm_work', > 'do_populate_lic', 'do_packagedata', 'do_package_qa', 'do_rm_work_all', > 'do_populate_sysroot'], 'do_cleansstate': ['do_clean'], 'do_cleanall': > ['do_cleansstate'], 'do_rm_work_all': [], 'do_rm_work': ['do_deploy', > 'do_package_qa', 'do_package_write_ipk', 'do_packagedata', > 'do_populate_lic', 'do_populate_sysroot'], 'do_build_without_rm_work': > ['do_deploy', 'do_package_qa', 'do_package_write_ipk', 'do_packagedata', > 'do_populate_lic', 'do_populate_sysroot'], 'do_package_qa': > ['do_packagedata', 'do_package'], 'do_package_qa_setscene': [], > 'do_package': ['do_install'], 'do_package_setscene': [], 'do_packagedata': > ['do_package'], 'do_packagedata_setscene': [], > 'do_package_write_ipk_setscene': [], 'do_package_write_ipk': > ['do_packagedata', 'do_package'], 'do_devshell': ['do_patch', > 'do_prepare_recipe_sysroot'], 'do_devpyshell': ['do_patch'], > 'do_populate_lic': ['do_patch'], 'do_populate_lic_setscene': [], > 'do_create_manifest': []}, 'mcdepends': {}, 'depends': {'do_patch': > 'quilt-native:do_populate_sysroot > patch-replacement-native:do_populate_sysroot', 'do_populate_sysroot': ' > virtual/lib32-i686-oemllib32-linux-binutils:do_populate_sysroot', > 'do_prepare_recipe_sysroot': ' > virtual/fakeroot-native:do_populate_sysroot', 'do_fetch': ' > wget-native:do_populate_sysroot', 'do_unpack': ' > xz-native:do_populate_sysroot', 'do_install': ' > virtual/fakeroot-native:do_populate_sysroot', 'do_package_qa': ' > virtual/lib32-i686-oemllib32-linux-binutils:do_populate_sysroot > virtual/fakeroot-native:do_populate_sysroot', 'do_package': ' > virtual/fakeroot-native:do_populate_sysroot rpm-native:do_populate_sysroot > dwarfsrcfiles-native:do_populate_sysroot file-native:do_populate_sysroot', > 'do_package_setscene': ' virtual/fakeroot-native:do_populate_sysroot', > 'do_package_write_ipk': ' opkg-utils-native:do_populate_sysroot > virtual/fakeroot-native:do_populate_sysroot xz-native:do_populate_sysroot', > 'do_devshell': ' virtual/fakeroot-native:do_populate_sysroot', > 'do_create_manifest': ' python:do_prepare_recipe_sysroot python:do_patch'}, > 'rdepends': {}, 'deptask': {'do_prepare_recipe_sysroot': > 'do_populate_sysroot', 'do_package': ' do_packagedata'}, 'rdeptask': > {'do_package_qa': 'do_packagedata', 'do_package_write_ipk': > 'do_packagedata'}, 'recrdeptask': {'do_build': ' do_deploy > do_package_write_ipk', 'do_rm_work_all': 'do_rm_work'}, 'recideptask': {}, > 'nostamp': {'do_listtasks': '1', 'do_clean': '1', 'do_checkuri': '1', > 'do_cleansstate': '1', 'do_cleanall': '1', 'do_devshell': '1', > 'do_devpyshell': '1'}, 'fakeroot': {'do_install': '1', 'do_package_qa': > '1', 'do_package': '1', 'do_package_setscene': '1', 'do_package_write_ipk': > '1'}, 'noexec': {'do_build': '1', 'do_rm_work_all': '1', > 'do_build_without_rm_work': '1'}, 'umask': {'do_patch': '022', > 'do_populate_sysroot': '022', 'do_unpack': '022', 'do_configure': '022', > 'do_compile': '022', 'do_install': '022', 'do_package': '022', > 'do_package_write_ipk': '022'}} > > * now the fix was simple (the same fix is already in oe-core's python3 > recipe, > since > https://git.openembedded.org/openembedded-core/commit/?id=02714c105426b0d687620913c1a7401b386428b6 > ) > > * and now when I know what task was causing it, it can be shown with > bitbake -g as well: > $ bitbake -g lib32-python -c create_manifest > NOTE: Started PRServer with DBfile: > /OE/build/oe-core/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 43095, PID: > 47453 > Loading cache: 100% > |###################################################################################################################################################################################################################################| > Time: 0:00:00 > Loaded 7076 entries from dependency cache. > NOTE: Resolving any missing task queue dependencies > NOTE: PN build list saved to 'pn-buildlist' > NOTE: Task dependencies saved to 'task-depends.dot' > $ grep '"python\.' task-depends.dot > "lib32-python.do_create_manifest" -> "python.do_patch" > "lib32-python.do_create_manifest" -> "python.do_prepare_recipe_sysroot" > "python.do_fetch" [label="python > do_fetch\n:2.7.18-r0\n/OE/build/oe-core/meta-python2/recipes-devtools/python/ > python_2.7.18.bb"] > "python.do_patch" [label="python > do_patch\n:2.7.18-r0\n/OE/build/oe-core/meta-python2/recipes-devtools/python/ > python_2.7.18.bb"] > "python.do_patch" -> "patch-native.do_populate_sysroot" > "python.do_patch" -> "python.do_unpack" > "python.do_patch" -> "quilt-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" [label="python > do_prepare_recipe_sysroot\n:2.7.18-r0\n/OE/build/oe-core/meta-python2/recipes-devtools/python/ > python_2.7.18.bb"] > "python.do_prepare_recipe_sysroot" -> "autoconf-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "automake-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "bzip2.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "db.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> > "gcc-cross-x86_64.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "gcc-runtime.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "gdbm.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "glibc.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> > "gnu-config-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "libffi.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "libtool-cross.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "libtool-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "libxcrypt.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "openssl.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> > "pkgconfig-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "pseudo-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "python-native.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "python.do_fetch" > "python.do_prepare_recipe_sysroot" -> "readline.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "sqlite3.do_populate_sysroot" > "python.do_prepare_recipe_sysroot" -> "zlib.do_populate_sysroot" > "python.do_unpack" [label="python > do_unpack\n:2.7.18-r0\n/OE/build/oe-core/meta-python2/recipes-devtools/python/ > python_2.7.18.bb"] > "python.do_unpack" -> "python.do_fetch" > "python.do_unpack" -> "xz-native.do_populate_sysroot" > > * I've included all these debugging steps, to discuss whether "bitbake -g" > should > show also the "optional" tasks - no task from python.do_build depends on > do_create_manifest tasks, it's only called manually with: > bitbake python -c create_manifest > but still bitbake includes this task dependency when preparing runqueue > or > maybe bitbake shouldn't include it in the dependency tree when it's not > going to call that task anyway > > Signed-off-by: Martin Jansa <martin.ja...@gmail.com> > --- > recipes-devtools/python/python_2.7.18.bb | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/recipes-devtools/python/python_2.7.18.bb > b/recipes-devtools/python/python_2.7.18.bb > index be7c6d2..bca2910 100644 > --- a/recipes-devtools/python/python_2.7.18.bb > +++ b/recipes-devtools/python/python_2.7.18.bb > @@ -256,5 +256,5 @@ do_create_manifest() { > addtask do_create_manifest > > # Make sure we have native python ready when we create a new manifest > -do_create_manifest[depends] += "python:do_prepare_recipe_sysroot" > -do_create_manifest[depends] += "python:do_patch" > +do_create_manifest[depends] += "${PN}:do_prepare_recipe_sysroot" > +do_create_manifest[depends] += "${PN}:do_patch" > -- > 2.25.1 > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#87013): https://lists.openembedded.org/g/openembedded-devel/message/87013 Mute This Topic: https://lists.openembedded.org/mt/76685661/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-