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

Bug 228915

Summary: Multiple packages fail on gcc-4.3.1 due to gmp.h
Product: Gentoo Linux Reporter: Juergen Rose <rose>
Component: Current packagesAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED FIXED    
Severity: normal CC: dberkholz, sci-mathematics
Priority: High    
Version: 2007.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 198121    
Attachments: gmp-4.2.2-cstdio-stdfile.patch

Description Juergen Rose 2008-06-22 15:46:16 UTC
Compiling of drgeo-1.1.0 with gcc-4.3.1 fails with:
...
if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DLOCALEDIR=\"/usr/share/locale\" -DLIBRARY_DIR=\""/usr/share/geo/"\" -DDRGEO_HELPDIR=\""/usr/share/drgeo/help"\" -DDRGEO_GLADEDIR=\""/usr/share/drgeo/glade"\" -DDRGEO_ENCODEDIR=\""/usr/share/drgeo/encode"\" -I/usr/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/libglade-2.0 -I/usr/include/libxml2                                -O2 -march=pentium4 -fomit-frame-pointer -MT drgeo_drawable.o -MD -MP -MF ".deps/drgeo_drawable.Tpo" \
          -c -o drgeo_drawable.o `test -f 'drgeo_drawable.cc' || echo './'`drgeo_drawable.cc; \
        then mv -f ".deps/drgeo_drawable.Tpo" ".deps/drgeo_drawable.Po"; \
        else rm -f ".deps/drgeo_drawable.Tpo"; exit 1; \
        fi
In file included from /usr/include/libguile.h:24,
                 from /usr/include/guile/gh.h:24,
                 from ../drgenius_config.h:28,
                 from drgeo_figure.h:39,
                 from drgeo_drawable.h:33,
                 from drgeo_drawable.cc:27:
/usr/include/gmp.h:520: error: 'std::FILE' has not been declared
make[3]: *** [drgeo_drawable.o] Error 1

With gcc-4.2.4 it compiles without problems.


Reproducible: Always




vilm ~ # emerge --info
WARNING: repository at /usr/portage is missing a repo_name entry
WARNING: repository at /usr/portage/local/layman/arcon is missing a repo_name entry
WARNING: repository at /usr/portage/local/layman/science is missing a repo_name entry
WARNING: repository at /usr/local/portage/xeffects is missing a repo_name entry
Portage 2.2_rc1 (default-linux/x86/2007.0, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25 i686)
=================================================================
System uname: Linux-2.6.25-i686-Intel-R-_Pentium-R-_4_CPU_3.00GHz-with-glibc2.0
Timestamp of tree: Sun, 22 Jun 2008 03:00:02 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13, 2.5.2-r4
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.62
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php
5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp.fi.muni.c
z/pub/linux/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo rsync://gd.tuwien.ac.at/opsys/linux/gentoo ftp://sunsite.informatik.rwth-aachen.de
/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo http://gentoo.oregonstate.edu"
LDFLAGS=""
LINGUAS="de fr"
PKGDIR="/usr/portage/packages/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distf
iles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/arcon /usr/portage/local/layman/science /usr/local/portage /usr/local/portage/xeffects /usr/local/sci"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi administrator afs aiglx alsa amrr ao aotuv apache2 asf atlas auctex audacious audiofile automount bash-completion beag
le berkdb bjam blas bluetooth bonobo boo boost bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli corba cracklib cran crypt cups curl cxx
 daap dbus device-mapper dga dia divx djvu dlloader dmi dri ds3490 dv dvb dvd dvdr dvi dxr3 dynagraph eds effects elf emacs emboss encode epiphany e
sd evo examples exif expat extra fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx galago gd gdal gdbm geos gif gimp gimpprint gina
c glade glitz gml gmp gnokii gnome gnuplot gnutls gphoto2 gpm graphics graphviz gs gsl gsm gstreamer gtk guile hal hardened hddtemp hdf hdf5 hlapi h
ttp hvm iconv icq icu id3 imagemagick imap innodb ipv6 irda irmc isdnlog ithreads jabber java jbig john jpeg jpeg2k kerberos kexi keyring ladspa lam
e lapack latex lcms ldap libgda libsamplerate lirc lm_sensors lua lzo lzw mad maildir math matroska matrox midi mmx mmxext mng mod mono motif mozdev
elop mozilla mozsvg mozxmlterm mp3 mp4 mp4live mpeg mpeg2 mplayer mudflap musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network netwo
rkmanager nfs nls nntp nptl nptlonly nsplugin ntfs numarray numeric obex ocaml octave odbc ogdi ogg ole opengl openmp pae pam pcre pda pdf perl plot
utils plugins png posix postgres postscript pppd preview-latex proj projectx pstricks python qhull quicktime readline real reflection reiserfs rhyth
mbox rle rpc rrdcgi rrdtool samba sasl science sdl session slang slp smp sndfile snmp soup sox speex spell spl sqlite sse sse2 ssl stlport subtitles
 subversion suexec svg t1lib tcl tcpd tex theora threads thunderbird tidy tiff tk truetype unicode userlocales utempter v4l2 vorbis win32codecs wmf 
wxwindows x86 xattr xemacs xext xine xml xmlreader xmlrpc xorg xpm xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym c
opy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2
_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz
_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident i
magemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif
 so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                " KERNEL="linux" LCD_DEVICES=
"bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" USERLAND="GNU" VIDEO_CARDS="mga vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_
OPTS
Comment 1 Markus Dittrich (RETIRED) gentoo-dev 2008-06-23 10:52:00 UTC
Hi Juergen,

Thanks much for your bug report and this is indeed a
gcc-4.3 issue. However, the root cause is a 

using std::FILE

statement without accompanying cstdio in /usr/include/gmp.h 
which belongs to dev-libs/gmp. Hence, the issues should
likely be fixed within gmp rather than drgeo. I've cc'd
the toolchain herd to see what they advise.

Thanks,
Markus 
Comment 2 SpanKY gentoo-dev 2008-06-23 13:22:34 UTC
without having gone through the gmp source extensively, i think your analysis is correct ...
Comment 3 Donnie Berkholz (RETIRED) gentoo-dev 2008-07-07 04:55:01 UTC
I agree that this looks like a gcc bug, based on http://osdir.com/ml/lib.gmp.bugs/2007-12/msg00023.html. It's now affecting another package, sci-chemistry/coot. Reassigning per comment #2.
Comment 5 Donnie Berkholz (RETIRED) gentoo-dev 2008-07-07 06:00:48 UTC
Great, that post even points to a Debian patch. Perhaps you want to commit it to gmp?
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2008-07-07 22:36:37 UTC
Created attachment 159839 [details, diff]
gmp-4.2.2-cstdio-stdfile.patch

fedora has a different approach but i don't like it as much

http://cvs.fedoraproject.org/viewcvs/devel/gmp/gmp-4.2.2-cstdio.patch?rev=1.1&view=markup
Comment 7 Peter Alfredsen (RETIRED) gentoo-dev 2008-07-12 20:30:34 UTC
+  12 Jul 2008; Peter Alfredsen <loki_val@gentoo.org>
+  +files/gmp-4.2.2-cstdio-stdfile.patch, gmp-4.2.2-r1.ebuild:
+  Fix include files for gcc-4.3 compat wrt bug #228915
+
Comment 8 SpanKY gentoo-dev 2008-08-20 14:13:11 UTC
Peter: document patches you add

http://sources.gentoo.org/dev-libs/gmp/files/gmp-4.2.2-cstdio-stdfile.patch?r1=1.1&r2=1.2