Bug 1583

Summary: enabling multilib will invalidate sscache
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Matthew McClintock <msm-oss>
Component: meta-yoctoAssignee: 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: ---

Description Matthew McClintock 2011-10-03 15:28:54 UTC
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....
Comment 2 Matthew McClintock 2011-10-07 12:36:02 UTC
This issue is still present for the actual target is should we keep this bug to track that issue?
Comment 3 Matthew McClintock 2011-10-07 12:37:17 UTC
(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.
Comment 4 Richard Purdie 2011-10-07 15:36:17 UTC
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.
Comment 5 Matthew McClintock 2011-10-09 11:38:11 UTC
(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
Comment 6 Matthew McClintock 2011-10-25 09:31:52 UTC
I'm reopening this so it's not lost... I still think this is an issue that could be made better.