[oe] Issue with (gcc-cross-|glibc-)initial and packaged staging

Denys Dmytriyenko denis at denix.org
Tue Mar 9 21:05:13 UTC 2010


On Tue, Mar 09, 2010 at 01:07:29PM -0700, Tom Rini wrote:
> On Tue, 2010-03-09 at 11:40 +0000, Thomas Horsten wrote:
> > I've spotted a rather annoying interim build failure but I'm not sure
> > how to best tackle the situation.
> > 
> > For example, gcc-cross-initial and gcc-cross install some of the same
> > files in staging. Normally this doesn't matter, since gcc-cross
> > overwrites the earlier ones installed by -initial, but when using
> > packaged staging and many threads (BBTHREADS=10 for example), it
> > sometimes happens that the pstaging packages for gcc-cross-initial and
> > gcc-cross get installed into staging in the wrong order (or at the same
> > time in two different threads), resulting in all builds after that
> > failing due to undefined references in the lib files from -initial.
> 
> So, my guess is that what happens is that when we copy the stamps from
> the pstage package over to the live stamps directory to check them,
> another thread comes along and sees they're in and we get out of order.
> Can you try something like (pastebin'd to avoid patchwork doing
> something silly):
> http://pastebin.com/rCijESQ8
> 
> This is possibly not ideal, but as I comment there, grab the lock for
> staging before we copy stamps in (and release it if there's problems).
> But this should fix the problem, yes?  If gcc-cross-initial thread is
> going and the gcc-cross thread fires, it'll be stuck waiting for
> gcc-initial to finish up fully.

As I've previously seen and complained on IRC about a similar issue with many 
BB threads failing in packaged staging, but for different packages, I would 
like to try this patch as well. BTW, looking into the patch it is funny that I 
also tried to fix it by using SYSROOT_LOCK, but I don't think I was doing it 
properly. I'll see if Tom's patch fixes it...

-- 
Denys




More information about the Openembedded-devel mailing list