Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86089 - Emerging gnustep-base fails with incompatible cflags error
Summary: Emerging gnustep-base fails with incompatible cflags error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Gnustep project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-20 21:54 UTC by ranson
Modified: 2005-03-22 14:54 UTC (History)
0 users

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


Attachments
/usr/GNUstep/System/Library/Makefiles/config.make (config.make,4.11 KB, text/plain)
2005-03-22 12:22 UTC, ranson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ranson 2005-03-20 21:54:50 UTC
Gnustep-base will not emerge. The specific error is 
"i686-pc-linux-gnu-gcc: -pg and -fomit-frame-pointer are incompatible"

It fails when compiling GSCategories.m.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 ranson 2005-03-20 21:56:15 UTC
Making all for subproject Additions...
 Compiling file GSCategories.m ...
cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++ but not for C
cc1: warning: command line option "-fconstant-string-class=NSConstantString" is valid for ObjC/ObjC++ but not for C
i686-pc-linux-gnu-gcc: -pg and -fomit-frame-pointer are incompatible
make[3]: *** [shared_profile_obj/GSCategories.o] Error 1
make[2]: *** [Additions.all.subproject.variables] Error 2
make[2]: Leaving directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source/Additions'
make[1]: *** [libgnustep-base.all.library.variables] Error 2
make[1]: Leaving directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source'
make: *** [internal-all] Error 2

!!! ERROR: gnustep-base/gnustep-base-1.10.2_pre20050312 failed.
!!! Function egnustep_make, Line 163, Exitcode 2
!!! package make failed
!!! If you need support, post the topmost build error, NOT this status message.
Comment 2 Chris White (RETIRED) gentoo-dev 2005-03-21 00:20:26 UTC
Please add on your emerge --info as requested.

gnustep herd:

-fomit-frame-pointer filtration?
Comment 3 ranson 2005-03-21 00:26:30 UTC
Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, glibc-2.3.4.200
50125-r1, 2.6.10-jr1 i686)
=================================================================
System uname: 2.6.10-jr1 i686 Intel(R) Pentium(R) M processor 1300MHz
Gentoo Base System version 1.6.10
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Feb 24 2005, 23:41:10)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5

Gentoo Base System version 1.6.10
Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.
6.10-jr1 i686)
=================================================================
System uname: 2.6.10-jr1 i686 Intel(R) Pentium(R) M processor 1300MHz
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Feb 24 2005, 23:41:10)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r3, 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r6
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium-m -msse -msse2 -mmmx -pipe -fomit-frame-pointer -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr
/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/
3/share/config /usr/lib/X11/xkb /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/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo etc/env.d"
CXXFLAGS="-O3 -march=pentium-m -msse -msse2 -mmmx -pipe -fomit-frame-pointer -mfpmath=sse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X X509 Xaw3d a52 aac aalib accessibility acl acpi acpi4linux adns afs aim alsa apm arts audiofile avi bash-completion bcmath berkdb bidi bitmap-fonts bzip2 bzlib calendar ccache cdb cdda cddb cdio cdparanoia cdr cdrom cpdflib crypt cscope ctype curl curlwrappers dga dio directfb divx4linux doc dvb dvd dvdr ecc emacs emboss encode esd evo exif fam fbcon fdftk ffmpeg fftw flac flash font-server foomaticdb fortran ftp gdbm ggi gif gimpprint ginac gnome gnustep gpm gtk gtk2 gtkhtml hal i8x0 iconv icq imagemagick imap imlib ipv6 jabber java jpeg kerberos krb4 libcaca libedit libg++ libwww lirc live mad maildir matroska mcal mhash mikmod mime ming mmap mmx mng monkey motif mozcalendar mozdevelop mozilla moznocompose moznomail mozp3p mozplaintext mozsvg mozxmlterm mp3 mpeg mpi msn ncurses nethack nls nptl objc offensive ogg oggvorbis openal opengl oss pam pcmcia pcntl pcre pda pdflib perl png pnp posix prelude profile python qt quicktime readline sasl sdl slang sockets speex spell sse ssl stream svg tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb vcd videos vidix vlm wmf wxwindows xine xinerama xml xml2 xmms xosd xpm xprint xv xvid xvmc yahoo zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 4 Armando Di Cianno (RETIRED) gentoo-dev 2005-03-21 01:14:24 UTC
gnustep.eclass now filters -fomit-frame-pointer.

Marking bug as fixed; after an update (let the mirrors sync), if it turns out to be something more esoteric, feel free to reopen the bug.

Thanks for the report (I never use -fomit-frame-pointer ... 'cause it breaks things. ;-))
Comment 5 ranson 2005-03-22 11:35:10 UTC
Interestingly enough, this error still seems to happen, whether or not I have --fomit-frame-pointer in my cflags. I will attach the full emerge results.
Comment 6 ranson 2005-03-22 11:45:59 UTC

emerge gnustep-base
Calculating dependencies ...done!
>>> emerge (1 of 1) gnustep-base/gnustep-base-1.10.2_pre20050312 to /
>>> Unpacking source...
 * Fetching CVS module gnustep/core/base into /usr/portage/distfiles/cvs-src/savannah.gnu.org-gnustep ...
 * Warning: The SSH host key of the remote server will not be verified.
 * A temporary known hosts list will be used.
 * Running  cvs -q -d ":ext:anoncvs@savannah.gnu.org:/cvsroot/gnustep" update -dP -D 20050312 gnustep/core/base
Warning: Permanently added 'savannah.gnu.org,199.232.41.3' (RSA) to the list of known hosts.
 * Copying gnustep/core/base from /usr/portage/distfiles/cvs-src/savannah.gnu.org-gnustep ...
 * CVS module gnustep/core/base is now in /var/tmp/portage/gnustep-base-1.10.2_pre20050312/work
 * Applying base-user-defaults.patch-1.10.2_pre20050312 ...               [ ok ]
>>> Source unpacked.
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-ffcall --enable-libffi --with-ffi-library=/usr/lib/libffi --with-ffi-include=/usr/include/libffi --with-xml-prefix=/usr --with-gmp-include=/usr/include --with-gmp-library=/usr/lib
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu

....

configure: creating ./config.status
config.status: creating config.mak
config.status: creating base.make
config.status: creating Headers/Additions/GNUstepBase/GSConfig.h
config.status: creating Headers/Additions/GNUstepBase/preface.h
config.status: creating Headers/Additions/GNUstepBase/config.h
configure: configuring in Source/mframe
configure: running /bin/sh './configure' --prefix=/usr  '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--disable-ffcall' '--enable-libffi' '--with-ffi-library=/usr/lib/libffi' '--with-ffi-include=/usr/include/libffi' '--with-xml-prefix=/usr' '--with-gmp-include=/usr/include' '--with-gmp-library=/usr/lib' 'CFLAGS=-O3 -march=pentium-m -msse -msse2 -mmmx -pipe -mfpmath=sse' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
Using information from i386/linux-gnu.
configure: creating ./config.status
configure: configuring in SSL
configure: running /bin/sh './configure' --prefix=/usr  '--prefix=/usr' '--host=
i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--disable-ffcall' '--enable-libffi' '--with-ffi-library=/usr/lib/libffi' '--with-ffi-include=/usr/include/libffi' '--with-xml-prefix=/usr' '--with-gmp-include=/usr/include' '--with-gmp-library=/usr/lib' 'CFLAGS=-O3 -march=pentium-m -msse -msse2 -mmmx -pipe -mfpmath=sse' 'host_alias=i686-pc-linux-gnu' --cache-file=/dev/null --srcdir=.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu

....

configure: creating ./config.status
config.status: creating config.mak
config.status: creating config.h
Making all in Source...
make[1]: Entering directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source'
rm -f dynamic-load.h
cp simple-load.h dynamic-load.h
/usr/GNUstep/System/Library/Makefiles/mkinstalldirs .
mv mframe/mframe.h .
touch ./mframe.h
/usr/GNUstep/System/Library/Makefiles/mkinstalldirs .
mv ../Headers/Additions/GNUstepBase/config.h .
touch ./config.h
/usr/GNUstep/System/Library/Makefiles/mkinstalldirs .
mv ../Headers/Additions/GNUstepBase/GSConfig.h .
touch ./GSConfig.h
Making all in subprojects of library libgnustep-base...
make[2]: Entering directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source/Additions'
Making all for subproject Additions...
 Compiling file GSCategories.m ...
cc1: warning: command line option "-fgnu-runtime" is valid for ObjC/ObjC++ but not for C
cc1: warning: command line option "-fconstant-string-class=NSConstantString" is valid for ObjC/ObjC++ but not for C
i686-pc-linux-gnu-gcc: -pg and -fomit-frame-pointer are incompatible
make[3]: *** [shared_profile_obj/GSCategories.o] Error 1
make[2]: *** [Additions.all.subproject.variables] Error 2
make[2]: Leaving directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source/Additions'
make[1]: *** [libgnustep-base.all.library.variables] Error 2
make[1]: Leaving directory `/var/tmp/portage/gnustep-base-1.10.2_pre20050312/work/gnustep/core/base/Source'
make: *** [internal-all] Error 2

!!! ERROR: gnustep-base/gnustep-base-1.10.2_pre20050312 failed.
!!! Function egnustep_make, Line 163, Exitcode 2
!!! package make failed
!!! If you need support, post the topmost build error, NOT this status message.

Comment 7 ranson 2005-03-22 11:56:20 UTC
Even after changing my cflags in make.conf to:

CFLAGS="-march=pentium-m -fno-omit-frame-pointer -O0 -msse -msse2 -mmmx -pipe -mfpmath=sse"

I still cannot emerge gnustep-base.
Comment 8 ranson 2005-03-22 12:22:56 UTC
Created attachment 54172 [details]
/usr/GNUstep/System/Library/Makefiles/config.make

This is my /usr/GNUstep/System/Library/Makefiles/config.make. This might also
be the source of the problem, given that its in the $(GNUSTEP_MAKEFILES)
directory.
Comment 9 ranson 2005-03-22 12:29:34 UTC
The /usr/GNUstep/System/Library/Makefiles/config.make OPTFLAG setting was the culprit. It seems that it must have been set to a bad value with a previous emerge, and it doesn't get reset.

Can this be fixed?
Comment 10 ranson 2005-03-22 12:39:28 UTC
It seems to me that this is a problem in gnustep-base/gnustep-make.

Comment 11 ranson 2005-03-22 12:52:48 UTC
Here's what I've figured out. The gnustep-make installation on my system was from before the change in the ebuild. The file /usr/GNUstep/System/Library/Makefiles/config.make was created before the --fomit-frame-pointer filtering started. Since gnustep-make emerged successfully though, it wasn't replaced when the new ebuild was created, and the value for OPTFLAG in config.make remained. This prevented any other gnustep ebuilds from being emerged. Emerging gnustep-make again fixed the problem.
Comment 12 ranson 2005-03-22 12:56:21 UTC
Could this problem be fixed with a -r version bump?
Comment 13 Armando Di Cianno (RETIRED) gentoo-dev 2005-03-22 14:00:30 UTC
Wow -- this is really interesting -- at first my other thought about it now seems unrelated to a fix.

Likely I'll see if passing in "OPTFLAG" to the make call resets things ... 'cause if things now work for you, w/o omit-frame-pointer, but gnustep-make "got set" with that, I'll have to figure out how to unset things.

*sigh* icky bug, but thanks for this report
Comment 14 Armando Di Cianno (RETIRED) gentoo-dev 2005-03-22 14:54:04 UTC
okay, bumped appropriate versions of gnustep-make to propogate gnustep.eclass changes.

Closing this bug, as things should be fixed now, but I'm going to keep my eye out for a better fix.