GCC 4.1 for 2.2?

Mark Rosenstand mark at borkware.net
Fri Mar 3 09:02:11 UTC 2006


FWIW, I have succesfully rebuilt (almost) all of my packages with GCC 
4.1. They're from the 2.2 branch, revision 861. All were up-to-date 
before building, and the toolchain were first rebuilt two times, just 
to be sure.

The exceptions are acpid which fails due to -Werror in the Makefile, and 
slim (hi cptn and sip :-)) which fails with this message:

	app.h:56: error: extra qualification 'App::' on member
	'replaceVariables'
	app.h:79: error: extra qualification 'App::' on member 'blankScreen'

(sip: Remember to include cptn's crux-smooth theme in the updated port 
in case this will trigger a new release ;-))

My packages are:

	acpid 1.0.4-1
	akode 2.0-1
	alsa-lib 1.0.10-1
	apache 2.0.55-2
	apr 0.9.7-1
	arts 1.5.1-1
	aterm 1.0.0-1
	audiofile 0.2.6-1
	autoconf 2.59-1
	automake 1.9.6-1
	bash 3.0-2
	bc 1.06-2
	bftpd 1.0.24-3
	bin86 0.16.0-1
	binutils 2.16.1-1
	bison 2.1-1
	bzip2 1.0.3-1
	cdparanoia alpha9.8-3
	coreutils 5.93-1
	cpio 2.6-2
	cyrus-sasl 2.1.21-2
	db 4.4.20-1
	dcron 2.3.3-10
	diffutils 2.8.1-1
	e2fsprogs 1.38-1
	ed 0.2-2
	evilwm 0.99.24-1
	exim 4.60-1
	expat 1.95.8-1
	fakeroot 1.5.7-1
	file 4.16-1
	filesystem 2.2-1
	findutils 4.2.27-1
	flex 2.5.31-2
	fontconfig 2.3.2-1
	freeglut 2.4.0-1
	freetype 2.1.10-1
	fribidi 0.10.7-1
	gamin 0.1.7-1
	gawk 3.1.5-1
	gcc 4.1.0-1
	gdbm 1.8.3-1
	gettext 0.14.5-1
	ghostscript 8.15.1-1
	glib 2.8.6-1
	glibc 2.3.6-1
	gnupg 1.4.2.1-1
	gpgme 1.0.3-1
	grep 2.5.1a-1
	groff 1.19.2-5
	grub 0.95-3
	gzip 1.2.4b-1
	hicolor-icon-theme 0.9-1
	hotplug-ng 002-1
	imagemagick 6.2.6-2
	kbd 1.12-1
	kdeartwork 3.5.1-1
	kdebase 3.5.1-1
	kdelibs 3.5.1-2
	kdepim 3.5.1-1
	kdeutils 3.5.1-1
	ktorrent 1.2-2
	lame 3.96.1-1
	lcms 1.14-1
	less 394-1
	lfpfonts-fix 0.83-1
	libart_lgpl 2.3.17-1
	libgpg-error 1.1-1
	libidn 0.5.20-1
	libjpeg 6b-1
	libmad 0.15.1b-3
	libmng 1.0.9-2
	libogg 1.1.3-1
	libpcre 6.6-2
	libpng 1.2.8-1
	libtiff 3.8.0-1
	libtool 1.5.22-1
	libungif 4.1.4-1
	libusb 0.1.11-1
	libvorbis 1.1.2-1
	libxml2 2.6.23-1
	libxslt 1.1.15-1
	linux 2.6.16-rc5-1
	lipstik 2.1-1
	lm_sensors 2.9.2-1
	m4 1.4.4-1
	make 3.80-1
	man 1.6c-1
	man-pages 2.22-1
	memtest86+ 1.65-1
	mktemp 1.5-1
	module-init-tools 3.2.2-1
	nasm 0.98.39-1
	ncurses 5.5-1
	neon 0.25.4-1
	net-tools 1.60-5
	netkit-base 0.17-8
	openssh 4.3p2-1
	openssl 0.9.8a-1
	patch 2.5.4-1
	pciutils 2.2.1-2
	perl 5.8.8-1
	pkg-config 0.20-1
	pkgutils 5.20-1
	polyester 0.8-1
	poppler 0.4.4-1
	ports 1.5-2
	portspage 1.0.3-2
	procps 3.2.6-1
	prt-get 0.5.11-2
	prt-utils 0.7.1-1
	psmisc 22.1-1
	python 2.4.2-2
	qt3 3.3.5-1
	rc 2.17-2
	readline 5.1-1
	rsync 2.6.6-2
	ruby 1.8.4-1
	sed 4.1.5-1
	shadow 4.0.14-1
	slim 1.2.4-1
	subversion 1.3.0-1
	sudo 1.6.8p12-1
	sysfsutils 2.0.0-1
	sysklogd 1.4.1-5
	sysvinit 2.86-5
	tar 1.15.1-2
	tcp_wrappers 7.6-6
	tcsh 6.14-1
	time 1.7-1
	udev 085-1
	unrar 3.5.4-1
	unzip 5.52-2
	uptimed 0.3.7-1
	usbutils 0.70-1
	util-linux 2.12r-1
	vim 6.4-2
	webfs 1.21-2
	wget 1.10.2-1
	which 2.16-1
	x11 6.9.0-1
	zip 2.31-2
	zlib 1.2.3-1

And the relevant parts of "svn st | grep -v .footprint":

M      crux-2.2/ports/opt/cyrus-sasl/Pkgfile
A      crux-2.2/ports/opt/cyrus-sasl/cyrus-sasl-2.1.21-gcc4-fix.patch
M      crux-2.2/ports/opt/cyrus-sasl/.md5sum

I bugged that one in trac and attached the one-line patch, also applies 
to 4.0.

M      crux-2.2/ports/opt/libpng/Pkgfile

I had to switch to using makefile.linux over makefile.gcmmx, otherwise 
x11 would refuse to link xcursorgen against it with a bunch of 
undefined references to what looks like MMX related code.

slim (built with gcc 4.0) would also refuse to start with the gcc 4.1 
compiled libpng using makefile.gcmmx, but works when using 
makefile.linux.

M      crux-2.2/ports/opt/xine-lib/Pkgfile
M      crux-2.2/ports/opt/xine-lib/.md5sum

I also bugged that one in trac. Only xine-lib >= 1.1 supports gcc >= 
4.0.

M      crux-2.2/ports/core/gcc/Pkgfile
M      crux-2.2/ports/core/gcc/.md5sum

Obviously :-) - I just bumped it, but maybe Objective-C++ support could 
be added as well.

With my imagination probably being the primary factor, my KDE desktop 
and pkgmk (well, gcc) feels a little speedier now. And given the 
popularity Han's ProPolice-enabled gcc apparently used to have, it 
seems 4.1 would be loved by the paranoid people concerned about 
theoratical security issues, too! (That ought to put me back on his 
ignore list :-))

Of course 4.0 is safer given its life time - this is just to report my 
experience with 4.1 so far, which is much better than I expected to.



More information about the CRUX mailing list