All of lore.kernel.org
 help / color / mirror / Atom feed
* sstate black hole?
@ 2015-04-07 14:52 Gary Thomas
  2015-04-07 15:27 ` Christopher Larson
  2015-04-07 16:19 ` Martin Jansa
  0 siblings, 2 replies; 19+ messages in thread
From: Gary Thomas @ 2015-04-07 14:52 UTC (permalink / raw)
  To: Yocto Project

I'm building for multiple ARM i.MX6 platforms.  These have
the same SoC, but slightly different peripherals. As far as
I can tell, they should be able to share everything except
for a few ${MACHINE} specific packages, e.g. the kernel and
u-boot.

Sadly, that doesn't seem to be the case.  The architecture
specific packages are being split into two categories - plain
ARM/Cortex-A9 and those that have i.MX6 specific optimizations.
For example, after building a complete image (on the order of
core-image-sato), I have this split:
$ ls tmp/work/cortexa9hf-vfp-neon-amltd-linux-gnueabi/
acl                  gst-player                 libsamplerate0         modutils-initscripts  shadow-sysroot
alsa-utils           gst-plugins-bad            libsm                  mpeg2dec              shared-mime-info
apmd                 gst-plugins-good           libsndfile1            mplayer2              speex
atk                  gst-plugins-ugly           libsoup-2.4            mtdev                 sqlite3
attr                 gstreamer                  libtheora              ncurses               startup-notification
base-passwd          gstreamer1.0               libtirpc               neon                  strace
    ...
gst-ffmpeg           libpostproc                matchbox-wm            scrnsaverproto        zlib
gst-fluendo-mpegmux  libproxy                   mkfontdir              settings-daemon
gst-meta-base        libpthread-stubs           mkfontscale            shadow

$ ls tmp/work/cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi/
alsa-lib      gst-plugins-base           imx-gpu-viv  libfslparser   libsdl      xf86-video-imxfb-vivante
cairo         gstreamer1.0-plugins-bad   libdrm       libfslvpuwrap  mesa        xserver-xorg
firmware-imx  gstreamer1.0-plugins-base  libfslcodec  libglu         pulseaudio

It's the second category that is causing problems.  They do not
seem to end up in any shareable sstate at all.  If I try to rebuild
using only sstate, i.e. build my complete image to success, then
remove 'tmp' and rebuild, using the sstate-cache from the first go,
all of the above packages (alsa-lib, ..., xserver-xorg) are all
rebuilt from scratch.  Those recipes do seem to end in my sstate-cache,
but they are never reused from it.

What would make this happen?  How can I prevent it?

As is, sstate is not really shareable between these i.MX6 targets
as so much is being rebuilt all the time...

Any ideas or pointers gladly welcomed.

Thanks

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 19+ messages in thread
* sstate black hole?
@ 2015-06-15 13:35 Gary Thomas
  2015-06-15 13:58 ` Nikolay Dimitrov
  2015-06-15 14:21 ` Martin Jansa
  0 siblings, 2 replies; 19+ messages in thread
From: Gary Thomas @ 2015-06-15 13:35 UTC (permalink / raw)
  To: Yocto Project

I'm working with i.MX6 targets (meta-fsl-arm*).  For these
targets, some packages are "special" in that they use i.MX6
specific graphics support.  This ends up with an additional
layer of stratification, so my tmp/work tree has:
   all-amltd-linux
   cortexa9hf-vfp-neon-amltd-linux-gnueabi
   cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi
   teton_p0382-amltd-linux-gnueabi
   x86_64-amltd-linux-gnueabi
   x86_64-linux

The packages that are built in tmp/work/cortex* are architecture
specific, not target specific, hence my question:

   If I build for two i.MX6 targets, identical in every way
   except for the ${MACHINE} name, if I use sstate to share
   the builds from target A when building for target B, why
   are the packages built in cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi
   not shared by sstate?  I can see that they are present in
   the sstate cache, but they are always rebuilt for target B.
   I consider this incorrect behaviour as these are the same
   architecture and so they should be sharable via sstate.

Am I missing something here?  How can I determine why the
package from target A (sstate cache) is not usable by target B?

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-06-16 13:46 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-07 14:52 sstate black hole? Gary Thomas
2015-04-07 15:27 ` Christopher Larson
2015-04-07 15:52   ` Gary Thomas
2015-04-07 16:19 ` Martin Jansa
2015-04-07 16:29   ` Gary Thomas
2015-04-07 16:33     ` Martin Jansa
2015-04-07 16:42       ` Gary Thomas
  -- strict thread matches above, loose matches on Subject: below --
2015-06-15 13:35 Gary Thomas
2015-06-15 13:58 ` Nikolay Dimitrov
2015-06-15 14:21 ` Martin Jansa
2015-06-15 17:41   ` Gary Thomas
2015-06-15 17:46     ` Martin Jansa
2015-06-15 19:33       ` Gary Thomas
2015-06-16  0:19         ` Gary Thomas
2015-06-16  8:37           ` Paul Eggleton
2015-06-16 10:47             ` Gary Thomas
2015-06-16 12:36               ` Paul Eggleton
2015-06-16 13:21                 ` Gary Thomas
2015-06-16 13:46                   ` Paul Eggleton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.