[yocto] Build success (mostly), disk space a little huge

Tian, Kevin kevin.tian at intel.com
Fri Dec 17 02:55:16 PST 2010


>From: Tim Bird
>Sent: Friday, December 17, 2010 4:37 AM
>
>For those interested in my build saga,
>I performed a mostly successful build of poky-minimal-image
>on my old Fedora 8 distro (oustide my Sony firewall).
>
>This was after I installed an poky 586 sdk, and set
>path to include /opt/poky/.../usr/bin (to pick up python 2.6.5)
>
>and after adding a fedora package to add chrpath to my
>system (not listed on the yocto distro help page).
>
>The build took 6 hours, and the emulator didn't quite finish.
>Here was the error:
>ERROR: Logfile of failure stored in:
>/a/home/tbird/work/yocto/poky-4.0-build/tmp/work/i686-linux/qemu-native-0.12.4-r22/t
>emp/log.do_configure.12332
>Log data follows:
>| You need libGL.so and libGLU.so to exist in your library path and the
>development headers for SDL installed to build qemu-native.
>|        Ubuntu package names are: libgl1-mesa-dev, libglu1-mesa-dev and
>libsdl1.2-dev
>| ERROR: Task failed: ('function do_configure failed',
>'/a/home/tbird/work/yocto/poky-4.0-build/tmp/work/i686-linux/qemu-native-0.12.4-r22/
>temp/log.do_configure.12332')
>NOTE: package qemu-native-0.12.4-r22: task do_configure: Failed
>
>I checked, and indeed my system is missing SDL-devel.  Due to
>some broken dependencies in my yum database, it turned out to be
>difficult to install this package, and I'm going to give up
>(again) on this machine.
>
>I noticed after the build that my yocto directory was consuming
>30G of disk space.  The big parts were in
>yocto/poky-4.0-build/tmp/work
>$ du -sh *
>2.2M	all-poky-linux
>18G	i586-poky-linux
>3.5G	i686-linux
>4.6G	qemux86-poky-linux
>
>This seems a bit high?  Is this normal?
> -- Tim

It's normal. There're several reasons for that. One is the debug symbols. The other
is that Yocto implements build tasks in staged way to avoid interference among tasks,
which results in multiple copies of installed files. For example, do_install() installs
compilation output to ${WORKDIR}/image, and then do_package() copies image/ to
a 'package' directory for stripping and some path tweaks, and then further copies
into a packages-split directory which prepare for final packaging of base, -dev, -doc,
locale, etc. packages. This way the input and output of each task is clear and less
error-prone, but in some sacrifice of increased disk usage. :-)

Thanks
Kevin



More information about the yocto mailing list