I've updated gcc yeasterday from 3.2.3-r4 to 3.3.3_pre20040408-r1 (glibc got updated in the process to glibc-2.3.3.20040420). After that I tryied to update qt to 3.2.3. Before that I've added -fno-strict-aliasing to CFLAGS in make.conf (as sugested by dholm). I ran emerge qt and it started the compilation. It ran for some time compiling the main library and then it started the compilation of various tools. When it came to QT Assistant it crashed. I've checked out and it seems that there was some problem with uic which just kept segfaulting when compiling certain .ui files. After some checking I found out that the qt ebuild did not passed CFLAGS to the compilation so I tried to tweak it and force the no-strict-aliasing flag to the qt compilation. Unfortunately it didn't helped - compilation stopped in the same place (tools/assistant/helpdialog.ui - uic just output the header comments then the first #include and segfaulted). I tried one or two other .ui files from KDE and found out that uic segfaults for them too. After some more tweaking I decided that I need the working system and (unfortunately for this report) downgraded gcc back to 3.2.3 which works just fine compiling qt and the newest kde. Reproducible: Always Steps to Reproduce: 1. 2. 3. Below is the emerge info result for a moment: Portage 2.0.50-r8 (default-ppc-2004.1, gcc-3.2.3, glibc-2.3.3.20040420-r0, 2.4.24-ppc-dev-r4) ================================================================= System uname: 2.4.24-ppc-dev-r4 ppc 0 Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.58-r1 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="ppc" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec" CHOST="powerpc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mcpu=7450 -maltivec -mabi=altivec" DISTDIR="/usr/portage/distfiles" FEATURES="ccache" GENTOO_MIRRORS="http://src.gentoo.pl/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.easynet.nl/mirror/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.inode.at/ http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync2.pl.gentoo.org/gentoo-portage" USE="X aalib alsa altivec arts berkdb cdr cups dvd dvdr encode esd fbcon foomaticdb gdbm gif gnome-libs imlib jpeg kde libwww linguas_pl matroska mitshm motif mozilla nls oggvorbis opengl oss pam perl png postgres ppc python qt readline sdk sdl slang ssl tcltk tcpd tetex truetype video_cards_3dfx video_cards_radeon xv" The only difference during the compilation was gcc version and CFLAGS setting. My machine is the Pegasos II PPC G4.
Locally qt built, anyway there are known issue with this gcc version and I'm going to replace it asap.
I did the second attempt. I've reemerged the GCC, then reemerged glibc with it. Next was the qt - hoped it to be some glitch with glibc. Unfortunatelly it still failes to compile. I did some investigation then and I found something that absolutely amazes me. Compilation failed when uic was trying to compile some .ui file to .cpp. The command used is something like that: /path/to/qt/bin/uic filename.ui -L /path/to/qt/plugins -i filename.h -o filename.cpp If the command is run from the ebuild it segfaults. If however I change dir to the point where the .ui file is and compile it with ../../bin/uic filename.ui -L ../../plugins -i filename.h -o filename.cpp it compiles succesfully. Next i did some checking and I found that the problem is -L flag and it's parameter - plugin dir with some .so libraries. I've been moving it to different places in the filesystem to find that if the path starts from directory in root that is placed (alphabetically) before /usr then uic works fine. It also works if plugins are somewhere in /usr itself. But if I place it somewhere below (i created /uss directory for testing) and there actually is any .so file inside uic fails. It looks to me that the problem is either with uic itself or one of the libraries it is linked to. Any suggestion qould be highly appreciated.
After some time I did the next attempt. This time I've installed stage1 tarball into empty directory and did the chrooted bootstrap and then emerge system. Next I emerged xorg-x11 and tried to emerge qt (3.3.2 this time). Unfortunately compilation crashes at the axactly same place as before - during uic of some .ui files. After this I start to think that it might be something with my system in general (kernel or something - this is the only thing that is unchanged from previous attempts) so any additional suggestions aould be highly appreciated.
Deamn me. I forgot to add the -fno-strict-aliasing flag when doing cleen bootstrap. I've added the flag, re-bootstrapped again and compiled qt without any problems. If there are no other suggestions or thoughts in this topic then I thing that the bug can be closed.
I guess we can close the bug
Closing, gcc-3.4.1 is ~ppc now please remember to use -fno-strict-aliasing