Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 52166 - openoffice-1.1.1-r1 fails to compile with agresive CXXFLAGS
Summary: openoffice-1.1.1-r1 fails to compile with agresive CXXFLAGS
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 All
: High normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-27 00:27 UTC by Marcin Kryczek (RETIRED)
Modified: 2004-05-27 13:23 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
openoffice.patch (openoffice.patch,511 bytes, patch)
2004-05-27 01:13 UTC, Marcin Kryczek (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Kryczek (RETIRED) gentoo-dev 2004-05-27 00:27:56 UTC
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"
Comment 1 Marcin Kryczek (RETIRED) gentoo-dev 2004-05-27 01:13:06 UTC
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)
Comment 2 Paul de Vrieze (RETIRED) gentoo-dev 2004-05-27 11:09:18 UTC
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.
Comment 3 Marcin Kryczek (RETIRED) gentoo-dev 2004-05-27 12:35:34 UTC
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.
Comment 4 Paul de Vrieze (RETIRED) gentoo-dev 2004-05-27 12:41:34 UTC
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++
Comment 5 Marcin Kryczek (RETIRED) gentoo-dev 2004-05-27 13:23:17 UTC
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?