Bug 1583 - enabling multilib will invalidate sscache
Summary: enabling multilib will invalidate sscache
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.2
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard: Patches out for review
Depends on:
Blocks:
 
Reported: 2011-10-03 15:28 UTC by Matthew McClintock
Modified: 2011-11-24 14:18 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.