Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 48760

Summary: app-office/lyx-1.3.4 fails to compile with gcc 3.4
Product: Gentoo Linux Reporter: Mikko Tiihonen <mikko.tiihonen>
Component: Current packagesAssignee: Text-Markup Team (OBSOLETE) <text-markup+disabled>
Status: RESOLVED FIXED    
Severity: normal CC: ed
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 48528    
Attachments: Compile log with empty CFLAGS and CXXFLAGS
1.3.4-gcc3.4.patch
1.3.4-gcc3.4.patch

Description Mikko Tiihonen 2004-04-22 23:17:24 UTC
/bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I./../ -I../../boost  -isystem /usr/X11R6/include  -march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb --param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000 --param max-pending-list-length=100 --param max-gcse-passes=4 --param max-gcse-memory=104857600 --param max-crossjump-edges=400 -c -o formulamacro.lo `test -f 'formulamacro.C' || echo './'`formulamacro.C
g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I./../ -I../../boost -isystem /usr/X11R6/include -march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb --param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000 --param max-pending-list-length=100 --param max-gcse-passes=4 --param max-gcse-memory=104857600 --param max-crossjump-edges=400 -c formulamacro.C -MT formulamacro.lo -MD -MP -MF .deps/formulamacro.TPlo
In file included from ../../boost/boost/config.hpp:35,
                 from ../../boost/boost/shared_ptr.hpp:18,
                 from ../../boost/boost/weak_ptr.hpp:17,
                 from formulabase.h:24,
                 from formulamacro.h:18,
                 from formulamacro.C:20:
../../boost/boost/config/compiler/gcc.hpp:57:7: warning: #warning "Unknown compiler version - please run the configure tests and report the results"
echo timestamp > formulabase.lo
source='math_amsarrayinset.C' object='math_amsarrayinset.lo' libtool=yes \
depfile='.deps/math_amsarrayinset.Plo' tmpdepfile='.deps/math_amsarrayinset.TPlo' \
depmode=gcc3 /bin/sh ../../config/depcomp \
/bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I./../ -I../../boost  -isystem /usr/X11R6/include  -march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb --param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000 --param max-pending-list-length=100 --param max-gcse-passes=4 --param max-gcse-memory=104857600 --param max-crossjump-edges=400 -c -o math_amsarrayinset.lo `test -f 'math_amsarrayinset.C' || echo './'`math_amsarrayinset.C
In file included from ../../boost/boost/format.hpp:50,
                 from ../../src/BoostFormat.h:9,
                 from formulamacro.C:43:
../../boost/boost/format/format_implementation.hpp: In member function `boost::basic_format<Ch, Tr>& boost::basic_format<charT, Traits>::clear_bind(int)':
../../boost/boost/format/format_implementation.hpp:154: error: `out_of_range_bit' undeclared (first use this function)
../../boost/boost/format/format_implementation.hpp:154: error: (Each undeclared identifier is reported only once for each function it appears in.)
In file included from formulamacro.C:43:
../../src/BoostFormat.h: At global scope:
../../src/BoostFormat.h:18: error: expected unqualified-id before ';' token


Browsing through the lyx developer mailing list revealed that there was that someone has patches to compile lyx with gcc 3.4

Reproducible: Always
Steps to Reproduce:




Portage 2.0.50-r6 (default-amd64-2004.0, gcc-3.4.0, glibc-2.3.3_pre20040207-r0,
2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 x86_64 4
Gentoo Base System version 1.4.9
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb
--param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000
--param max-pending-list-length=100 --param max-gcse-passes=4 --param
max-gcse-memory=104857600 --param max-crossjump-edges=400"
CHOST="x86_64-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/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="-march=k8 -pipe -O2 -fomit-frame-pointer -frename-registers -fweb
--param max-delay-slot-insn-search=300 --param max-delay-slot-live-search=1000
--param max-pending-list-length=100 --param max-gcse-passes=4 --param
max-gcse-memory=104857600 --param max-crossjump-edges=400"
DISTDIR="/mnt/2/portage-ebuilds/distfiles"
FEATURES="autoaddcvs ccache sandbox userpriv usersandbox"
GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/
ftp://trumpetti.atm.tut.fi/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/mnt/2/portage-ebuilds/packages"
PORTAGE_TMPDIR="/mnt/2/portage-tmp"
PORTDIR="/mnt/2/portage-ebuilds"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.se.gentoo.org/gentoo-portage"
USE="X alsa amd64 apm avi berkdb crypt doc encode ethereal foomaticdb freetype
gdbm gif gnome gpm gtk gtk2 imlib jpeg libg++ libwww mikmod mozilla moznoirc
mozsvg mpeg mysql ncurses nls nogcj nptl oggvorbis opengl oss pam pdflib perl
png postgres python quicktime readline ruby ruby18 sdl slang spell ssl tcpd
tetex truetype xml2 xmms xv zlib"
Comment 1 LordKow 2004-04-23 20:00:34 UTC
Perhaps make your CFLAGS right, not even god could make those CFLAGS work on an opteron at this point.
Comment 2 Mikko Tiihonen 2004-04-26 01:17:06 UTC
Created attachment 30064 [details]
Compile log with empty CFLAGS and CXXFLAGS

The problem is that gcc 3.4 is much more strict with the C++ code it compiles
and Lyx needs to be fixed. And as I said the and Lyx mailing lists already
contain some patches.

Btw. my CFLAGS are more conservative than -O3, the --param options just
increases the compilation time 3x in hope that more optimization passes would
save a few bytes. They do not imply different than optimization passes just
make the gcc try a bit harder as I don't mind longer compilation times.
Comment 3 Ed Catmur 2004-05-14 16:07:35 UTC
Thank you for failing to provide a link.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg68967.html
Comment 4 Ed Catmur 2004-05-14 16:09:15 UTC
Created attachment 31443 [details, diff]
1.3.4-gcc3.4.patch
Comment 5 Ed Catmur 2004-05-14 18:06:58 UTC
Created attachment 31446 [details, diff]
1.3.4-gcc3.4.patch

Extra part to patch needed.
Comment 6 Piojo 2004-07-04 14:22:02 UTC
The patch worked great on my machine. I didn't need anything else to make LyX compile here.
Comment 7 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-12-06 23:38:43 UTC
This patch was applied to 1.3.4 already,
and 1.3.5 (upstream) contains the fixes.