I've tried to compile OO with setted: CFLAGS="-march=athlon-xp -O3 -mfpmath=sse -pipe -ffast-math -DNDEBUG -DG_DISABLE_ASSERT -fomit-frame-pointer" CXXFLAGS="-march=athlon-xp -O2 -mfpmath=sse -pipe -ffast-math -DNDEBUG -DG_DISABLE_ASSERT -fno-exceptions -fno-rtti" and compilation fails. i've change ma CXXFLAGS to: CXXFLAGS="-march=athlon-xp -O2 -mfpmath=sse -pipe -ffast-math" (keeping CFLAGS as they were) and it helped. I don't have ability to make a full test (well - at least not now), but one of -DNDEBUG -DG_DISABLE_ASSERT -fno-exceptions -fno-rtti flags in CXXFLAGS breaks compilation and should be filtered. Maybe someone with faster cpu and more time will make some additional tests and will find out which one exactly is incorrect. if not - maybe this bug will help others, who have problems with compiling OO. here's my full emerge info: Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.6) ================================================================= System uname: 2.6.6 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.15 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -mfpmath=sse -pipe -ffast-math -DNDEBUG -DG_DISABLE_ASSERT -fomit-frame-p ointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -mfpmath=sse -pipe -ffast-math -DNDEBUG -DG_DISABLE_ASSERT -fno-exceptio ns -fno-rtti" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.zie.pg.gda.pl/ http://gentoo.prz.rzeszow.pl http://src.gentoo.pl/distfile s ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://www.m irror.ac.uk/sites/www.ibiblio.org/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http ://ftp.uni-erlangen.de/pub/mirrors/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo ftp://ft p.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.easynet.nl/mirror/gentoo/ http://ftp.snt.utwente.nl/pub/ os/linux/gentoo http://gentoo.inode.at/ ftp://ftp.rhnet.is/pub/gentoo/ http://www.ibiblio.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/portage/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/my_ebuilds" SYNC="rsync://rsync.gentoo.pl/gentoo-portage" USE="3dnow X aalib apache2 avi crypt cups dvd encode esd fbcon flash gif glut gpm gtk gtk2 imlib imlib2 java javascript jikes jpeg lcms libwww maildir mbox memlimit mikmod mmx motif moznocompose moznoirc mo znomail mpeg mysql ncurses nls nocardbus nvidia oggvorbis opengl oss pam pda pdflib perl png ppds pytho n quicktime readline samba sasl sdl serial slang spell sse ssl tcltk tcpd tiff truetype v4l v4l2 videos vim-with-x wmf x86 xmms xv xvid zlib"
Created attachment 32126 [details, diff] openoffice.patch it's all about -fno-exceptions (shame on me, that i didn't read compilation output with coution;/). i'm adding proposal patch for OO's ebuild (propably the same should go to XOO)
We will not do such things as -fno-exceptions will not work in general on c++ software (while it shouldn't have an effect for c software). Similar to -ffast-math option which will (even according to the docs) create software that performs WRONG floating point calculations. Similarly the -fno-rtti option is not globally applicable to c++ programs. All these options limit the features of the c++ language and as such only work for programs that don't use them. They should be enabled only on per program basis after analysis of the code, and preferably by the authors.
well - i'm not getting your point. i know that part of those flags are dangerous and i know consequences of using them. in the other hand - that's why the whole idea of filtering/replacing flags is, or am i wrong? flags which may cause compilation fails or are known as breakers for certain application should be blocked in ebuilds. i just don't understand why some flags (like for example -O3, which is also dissuaded) are filtered out and others are not.
Well, we filter out those flags that are not problematic in general, or at least in their design should not be. The -fno-exceptions, -fno-rtti, and -ffast-math options are unsafe in general and as such not supported. I cannot stop you from using them, but to be honest, I think it is unwise to use them at all. Let alone in general. Read the info documentation for those flags, they give nonstandard c/c++
ok, i've got one more question. is there somewhere list of 'supported' flags? i mean those, which should be commited as a bug, if brakes copilation/functionality of some program?