| Summary: | enabling multilib will invalidate sscache | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] Meta-yocto | Reporter: | Matthew McClintock <msm-oss> |
| Component: | meta-yocto | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | msm-oss, poky.bs.watcher, poky.watcher, sgw |
| Version: | unspecified | ||
| Target Milestone: | 1.2 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | Patches out for review | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
Fixed in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=d7babed94f56ceb2f9218e6e5d28b9f8d8d04afa This issue is still present for the actual target is should we keep this bug to track that issue? (In reply to comment #2) > This issue is still present for the actual target is should we keep this bug to > track that issue? By actual target I mean the non-native sstate-cache. Are the sstate files built with the same build configuration or are they actually different? I'd be interested on the output of diffsigs in that case to understand what differences we're dealing with and whether they are truly different or not. (In reply to comment #4) > Are the sstate files built with the same build configuration or are they > actually different? > > I'd be interested on the output of diffsigs in that case to understand what > differences we're dealing with and whether they are truly different or not. This is what I am doing: 1) Configure machine (p5020ds) in this case for multilib build 2) run 'bitbake zlib' 3) Go comment out the multilib includes in my local.conf 4) Rerun 'bitbake zlib' 5) bitbake-diffsig pastded below. I understand this is trickier than the -native stuff, but it would still be nice for the same cache to work depending if multilib is not used - esp. the non-multilib cache that is created even when multilib is enabled and able to build stuff (hope that makes sense). [mattsm@right build_p5020ds_release (edison $)]$ bitbake-diffsigs `ls ../sstate-cache/*zlib*sysroot*.siginfo | grep -v native` Task dependencies changed from ['ABIEXTENSION', 'AR', 'AS', 'ASNEEDED', 'BUILD_AR', 'BUILD_ARCH', 'BUILD_AS', 'BUILD_AS_ARCH', 'BUILD_CC', 'BUILD_CCLD', 'BUILD_CC_ARCH', 'BUILD_CFLAGS', 'BUILD_CPP', 'BUILD_CPPFLAGS', 'BUILD_CXX', 'BUILD_CXXFLAGS', 'BUILD_F77', 'BUILD_LD', 'BUILD_LDFLAGS', 'BUILD_LD_ARCH', 'BUILD_NM', 'BUILD_OPTIMIZATION', 'BUILD_OS', 'BUILD_PREFIX', 'BUILD_RANLIB', 'BUILD_STRIP', 'BUILD_SYS', 'BUILD_VENDOR', 'CC', 'CCACHE', 'CCACHE_DIR', 'CCLD', 'CFLAGS', 'CONFIG_SITE', 'CPP', 'CPPFLAGS', 'CXX', 'CXXFLAGS', 'D', 'DEBUG_BUILD', 'DEFAULTTUNE', 'EXTENDPE', 'F77', 'HOST_ARCH', 'HOST_AS_ARCH', 'HOST_CC_ARCH', 'HOST_LD_ARCH', 'HOST_OS', 'HOST_PREFIX', 'HOST_SYS', 'HOST_VENDOR', 'LC_ALL', 'LD', 'LDFLAGS', 'LIBCEXTENSION', 'MAKE', 'MULTIMACH_TARGET_SYS', 'NM', 'OBJCOPY', 'OBJDUMP', 'OPIEDIR', 'PACKAGE_ARCH', 'PATCH_GET', 'PE', 'PF', 'PKG_CONFIG_DIR', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'PKG_CONFIG_LIBDIR', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR', 'PN', 'PPCPKGARCH', 'PPCPKGSFX_FPU', 'PR', 'PSEUDO_DISABLED', 'PV', 'QMAKE_MKSPEC_PATH', 'QPEDIR', 'QTDIR', 'RANLIB', 'SELECTED_OPTIMIZATION', 'SHELLCMDS', 'SITECONFIG_SYSROOTCACHE', 'STAGING_DATADIR', 'STAGING_DATADIR_NATIVE', 'STAGING_DIR', 'STAGING_DIR_NATIVE', 'STAGING_IDLDIR', 'STAGING_INCDIR_NATIVE', 'STAGING_LIBDIR_NATIVE', 'STAGING_SIPDIR', 'STRIP', 'SYSROOT_DESTDIR', 'SYSROOT_PREPROCESS_FUNCS', 'TARGET_ARCH', 'TARGET_AS_ARCH', 'TARGET_CC_ARCH', 'TARGET_CFLAGS', 'TARGET_CPPFLAGS', 'TARGET_CXXFLAGS', 'TARGET_FPU', 'TARGET_LDFLAGS', 'TARGET_LD_ARCH', 'TARGET_LINK_HASH_STYLE', 'TARGET_OS', 'TARGET_PREFIX', 'TARGET_SYS', 'TARGET_VENDOR', 'TOOLCHAIN_OPTIONS', 'TUNE_ARCH', 'TUNE_ASARGS', 'TUNE_CCARGS', 'TUNE_LDARGS', 'TUNE_PKGARCH', 'WORKDIR', 'base_bindir', 'base_libdir', 'base_prefix', 'base_sbindir', 'baselib', 'bindir', 'datadir', 'datadir_native', 'docdir', 'exec_prefix', 'includedir', 'includedir_native', 'infodir', 'libdir', 'libdir_native', 'libexecdir', 'localstatedir', 'mandir', 'oldincludedir', 'palmqtdir', 'palmtopdir', 'prefix', 'prefix_native', 'sbindir', 'servicedir', 'sharedstatedir', 'siteinfo_data', 'siteinfo_get_files', 'sysconfdir', 'sysroot_stage_all', 'sysroot_stage_dir', 'sysroot_stage_dirs', 'sysroot_stage_libdir'] to ['ABIEXTENSION', 'AR', 'AS', 'ASNEEDED', 'BASELIB', 'BUILD_AR', 'BUILD_ARCH', 'BUILD_AS', 'BUILD_AS_ARCH', 'BUILD_CC', 'BUILD_CCLD', 'BUILD_CC_ARCH', 'BUILD_CFLAGS', 'BUILD_CPP', 'BUILD_CPPFLAGS', 'BUILD_CXX', 'BUILD_CXXFLAGS', 'BUILD_F77', 'BUILD_LD', 'BUILD_LDFLAGS', 'BUILD_LD_ARCH', 'BUILD_NM', 'BUILD_OPTIMIZATION', 'BUILD_OS', 'BUILD_PREFIX', 'BUILD_RANLIB', 'BUILD_STRIP', 'BUILD_SYS', 'BUILD_VENDOR', 'CC', 'CCACHE', 'CCACHE_DIR', 'CCLD', 'CFLAGS', 'CONFIG_SITE', 'CPP', 'CPPFLAGS', 'CXX', 'CXXFLAGS', 'D', 'DEBUG_BUILD', 'EXTENDPE', 'F77', 'HOST_ARCH', 'HOST_AS_ARCH', 'HOST_CC_ARCH', 'HOST_LD_ARCH', 'HOST_OS', 'HOST_PREFIX', 'HOST_SYS', 'HOST_VENDOR', 'LC_ALL', 'LD', 'LDFLAGS', 'LIBCEXTENSION', 'MAKE', 'MULTIMACH_TARGET_SYS', 'NM', 'OBJCOPY', 'OBJDUMP', 'OPIEDIR', 'PACKAGE_ARCH', 'PATCH_GET', 'PE', 'PF', 'PKG_CONFIG_DIR', 'PKG_CONFIG_DISABLE_UNINSTALLED', 'PKG_CONFIG_LIBDIR', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR', 'PN', 'PPCPKGARCH', 'PPCPKGSFX_FPU', 'PR', 'PSEUDO_DISABLED', 'PV', 'QMAKE_MKSPEC_PATH', 'QPEDIR', 'QTDIR', 'RANLIB', 'SELECTED_OPTIMIZATION', 'SHELLCMDS', 'SITECONFIG_SYSROOTCACHE', 'STAGING_DATADIR', 'STAGING_DATADIR_NATIVE', 'STAGING_DIR', 'STAGING_DIR_NATIVE', 'STAGING_IDLDIR', 'STAGING_INCDIR_NATIVE', 'STAGING_LIBDIR_NATIVE', 'STAGING_SIPDIR', 'STRIP', 'SYSROOT_DESTDIR', 'SYSROOT_PREPROCESS_FUNCS', 'TARGET_ARCH', 'TARGET_AS_ARCH', 'TARGET_CC_ARCH', 'TARGET_CFLAGS', 'TARGET_CPPFLAGS', 'TARGET_CXXFLAGS', 'TARGET_FPU', 'TARGET_LDFLAGS', 'TARGET_LD_ARCH', 'TARGET_LINK_HASH_STYLE', 'TARGET_OS', 'TARGET_PREFIX', 'TARGET_SYS', 'TARGET_VENDOR', 'TOOLCHAIN_OPTIONS', 'TUNE_ARCH', 'TUNE_ASARGS', 'TUNE_CCARGS', 'TUNE_LDARGS', 'TUNE_PKGARCH', 'WORKDIR', 'base_bindir', 'base_libdir', 'base_prefix', 'base_sbindir', 'baselib', 'bindir', 'datadir', 'datadir_native', 'docdir', 'exec_prefix', 'includedir', 'includedir_native', 'infodir', 'libdir', 'libdir_native', 'libexecdir', 'localstatedir', 'mandir', 'oldincludedir', 'palmqtdir', 'palmtopdir', 'prefix', 'prefix_native', 'sbindir', 'servicedir', 'sharedstatedir', 'siteinfo_data', 'siteinfo_get_files', 'sysconfdir', 'sysroot_stage_all', 'sysroot_stage_dir', 'sysroot_stage_dirs', 'sysroot_stage_libdir'] basehash changed from 7e3940139560af6b27cfb79c7e095e72 to 13b547a50c92b9fd37bc6495426beaac List of dependencies for variable baselib changed from set(['DEFAULTTUNE']) to set(['BASELIB']) Dependency on variable DEFAULTTUNE was added Dependency on Variable BASELIB was removed Variable baselib value changed from ${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'} to ${BASELIB} Hash for dependent task /local/home/mattsm/git/poky/meta/recipes-core/zlib/zlib_1.2.5.bb.do_install changed from 4babd86ca9f933e3e0b72c75cafcedbd to 0d4b92474f5cb4f65d5973e4ca3d685f I'm reopening this so it's not lost... I still think this is an issue that could be made better. |
Not sure of the entire scope of this problem currently, but it seems that enabling multilib is causing sscache to be invalidated even for -native packages which seems extreme. I suspect this would effect a lot of host packages as well. $ bitbake-diffsigs ../sstate-cache/sstate-autoconf-native-x86_64-linux-2.68-r2-x86_64-2-*siginfo [mattsm@right build_p5020ds_release (master *$)]$ bitbake-diffsigs ../sstate-cache/sstate-autoconf-native-x86_64-linux-2.68-r2-x86_64-2-*siginfo [snip] basehash changed from bab02dfa833aca4810b0fae8c4ab48f9 to e156f3fb86236bfc0262e6287bd73784 List of dependencies for variable baselib changed from set(['BASELIB']) to set(['DEFAULTTUNE']) Dependency on variable BASELIB was added Dependency on Variable DEFAULTTUNE was removed Variable baselib value changed from ${BASELIB} to ${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'} Hash for dependent task virtual:native:/local/home/mattsm/git/poky/meta/recipes-devtools/autoconf/autoconf_2.68.bb.do_install changed from e74616029727b6e61b00273425128f1d to 478e7900a2310f2669708e6909883865 Back tracking this appears to be a multilib issue since I have that enabled on one of the -native packages: ../meta/conf/bitbake.conf:baselib = "${BASELIB}" ../meta/conf/multilib.conf:baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}" Which causes the other differences....