Re: Build success (mostly), disk space a little huge


Tian, Kevin <kevin.tian@...>
 

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

Join yocto@lists.yoctoproject.org to automatically receive all group messages.