[Buildroot] randpackageconfig builds

Peter Korsgaard jacmet at sunsite.dk
Wed Jul 28 07:50:50 UTC 2010


Hi,

With help of the nice people from the GCC compile farm
(http://gcc.gnu.org/wiki/CompileFarm) I have been doing 'make
randpackageconfig' builds continously for the last week on a fast
machine, and have now done around 250 iterations. The config I have used
has the following toolchain config:

arm926t, EABI, 2.6.34 headers, uClibc 0.9.31, binutils 2.20.1, gcc 4.4.4

I've simply used a script like this:

<cut>
#!/bin/sh
# do buildroot test

DIR=/scratch/peko

rm -rf $DIR
mkdir -p $DIR
cp ~/.config $DIR/

# limit the amount of options enabled
export KCONFIG_PROBABILITY=20

STAMP=$(date '+%F_%H-%M-%S')
git pull >~/logs/active/$STAMP.log 2>&1
yes ''|make O=$DIR randpackageconfig >/dev/null
cp $DIR/.config ~/logs/active/$STAMP.config
if yes ''|make O=$DIR >>~/logs/active/$STAMP.log 2>&1;
then
	echo "$STAMP ok"
	OUT=~/logs/ok
else
	echo "$STAMP fail"
	OUT=~/logs/fail
fi

gzip -9 ~/logs/active/$STAMP.log
mv ~/logs/active/$STAMP.* $OUT
</cut>

I've now put these logs online on:

http://buildroot.net/~jacmet/logs

Now, these are pretty big and cumbersome to read, so I've processed them
a bit:

for i in $(find ~/logs/fail -name '*.log.gz'); do ~/bin/sort-logs $i; done

where sort-logs is something like:
<cut>
#!/bin/sh
# find unique logs and keep count of them

md5=$(zcat $1|tail|md5sum|awk '{ print $1 }')
file=$md5.count
log=$md5.txt

if [ -e $file ];
then
	count=$(( $(cat $file) + 1 ))
	echo $count > $file
else
	echo 1 > $file
	zcat $1|tail >$log
fi
</cut>

we get 65 unique errors. These can be seen here:

http://buildroot.net/~jacmet/logs/unique/

We can also look a bit closer at how often each bug has triggered:

for i in *count; do
    log=$(tail -n 1 ${i%.count}.txt|sed 's~.*/build/\([^]]*\)].*~\1~');
    count=$(cat $i); echo -e "$count\t$log";
done|sort -n

1	dialog-1.1-20100428/.stamp_configured
1	fltk-1.1.7/.stamp_built
1	gmpc-0.17.0/.stamp_configured
1	gst-plugins-base-0.10.25/.stamp_built
1	gst-plugins-base-0.10.25/.stamp_built
1	gst-plugins-good-0.10.16/.stamp_built
1	gtk+-1.2.10/gtk/.libs/libgtk.a
1	host-xlib_libXfont-1.4.1/.stamp_built
1	ipsec-tools-0.7.3/.stamp_built
1	libevent-1.4.12/.stamp_built
1	libevent-1.4.12/.stamp_built
1	libglib2-2.24.1/.stamp_configured
1	libgtk2-2.12.12/.stamp_configured
1	libgtk2-2.12.12/.stamp_configured
1	libxcb-1.5/.stamp_built
1	libxcb-1.5/.stamp_built
1	ltrace-0.5/ltrace
1	mysql_client-5.1.47/.stamp_built
1	mysql_client-5.1.47/.stamp_built
1	netperf-2.4.5/.stamp_built
1	netperf-2.4.5/.stamp_built
1	pcmanfm-0.3.5.9/.stamp_configured
1	php-5.2.13/.stamp_built
1	php-5.2.13/.stamp_built
1	php-5.2.13/.stamp_built
1	php-5.2.13/.stamp_built
1	php-5.2.13/.stamp_configured
1	quagga-0.99.16/.stamp_built
1	samba-3.3.12/.stamp_configured
1	sdl_gfx-2.0.19/.stamp_configured
1	SDL_net-1.2.7/.stamp_configured
1	startup-notification-0.9/.stamp_configured
1	startup-notification-0.9/.stamp_configured
1	vsftpd-2.0.7/vsftpd
1	xserver_xorg-server-1.7.5/.stamp_built
2	dash-0.5.5.1/.stamp_built
2	fltk-1.1.7/.stamp_built
2	netperf-2.4.5/.stamp_built
2	php-5.2.13/.stamp_configured
2	quagga-0.99.16/.stamp_built
2	quagga-0.99.16/.stamp_configured
2	torsmo-0.18/.stamp_built
2	xlib_libpciaccess-0.11.0/.stamp_built
3	diffutils-2.8.1/.stamp_built
3	ng-spice-rework-17/.stamp_built
3	proftpd-1.3.1/proftpd
3	swfdec-0.8.4/.stamp_staging_installed
3	which-2.20/.stamp_built
4	host-ruby-1.9.1-p129/.stamp_host_installed
4	host-ruby-1.9.1-p129/.stamp_host_installed
4	libdnet-1.11/.stamp_built
4	pango-1.28.0/.stamp_built
4	tcl-8.4.19/.stamp_built
6	libglib2-2.22.5/.stamp_configured
6	xserver_xorg-server-1.7.5/.stamp_configured
7	libglib2-2.22.5/.stamp_built
7	libglib2-2.22.5/.stamp_configured
9	libdrm-2.4.19/.stamp_built
10	fltk-1.1.7/.stamp_built
10	gob2-2.0.15/.stamp_built
10	ipsec-tools-0.7.3/.stamp_built
10	libglib2-2.22.5/.stamp_configured
10	luafilesystem-1.5.0/.stamp_built
11	avahi-0.6.27/.stamp_configured
28	classpath-0.98/.stamp_configured

Most, but not all of the issues have been resolved so far. Avahi will be
fixed when we bump the gtk version, and classpath has been marked as broken.

I would appreciate if the other developers could take a look at these
build failures and help fix them.

Thanks!

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list