Weird build dependency issue causing missing symbols

Bills, Jason M jason.m.bills at linux.intel.com
Fri Jul 3 09:59:39 AEST 2020



On 7/2/2020 2:33 PM, Patrick Williams wrote:
> On Thu, Jul 02, 2020 at 12:58:43PM -0700, Bills, Jason M wrote:
>> We have narrowed this down to being caused by two separate issues:
>> 1. When phosphor-dbus-interfaces is rebuilt it will sometimes change the
>> order of the PropertiesVariant in server.hpp.
> 
> This sounds like a bug in sdbus++.  We should be sorting the variant
> parameters or issuing them in array order.  I'll look into it.
> 
>> 2. When the order of PropertiesVariant changes on a rebuild, the recipes
>> that already have an old copy of server.hpp are not triggered to rebuild
>> and are left with the old copy of server.hpp.
> 
> This isn't surprising if what is triggering the rebuild is not a Yocto
> variable change (or git revision).  Yocto doesn't cache the contents of
> the packages, but caches the variables that went into a build step.  A
> hash of the variables are used to look up the potential 'sstate-cache'
> files so that it can skip build steps.
> 
> If you think a variable or a git-revision should have changed with what
> you were doing, then maybe it is something else.
> 
It seems like a header file change should trigger a rebuild, though?  If 
I manually edited something like a library header file, I'd expect 
everything that includes that library to be rebuilt with the new header 
change.

I tried to devtool modify boost to check the behavior, but that causes 
boost to rebuild every time and correctly triggers the dependent builds. 
  Maybe the case above of modifying a header file is invalid?


More information about the openbmc mailing list