public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "armand dot potter at free dot fr" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libstdc++/40974] cannot build gcc-4.4.1: fenv_t has not been declared
Date: Sat, 19 Dec 2009 15:44:00 -0000	[thread overview]
Message-ID: <20091219154421.31184.qmail@sourceware.org> (raw)
In-Reply-To: <bug-40974-17891@http.gcc.gnu.org/bugzilla/>



------- Comment #18 from armand dot potter at free dot fr  2009-12-19 15:44 -------
Configure is as follow:

/tmp/gcc-4.4.2/configure --enable-shared --enable-clocale=gnu
--enable-__cxa_atexit --libexecdir=/usr/lib --enable-threads=posix
--enable-languages=c,c++ --build=i686-pc-linux-gnu --host=x86_64-mine-linux-gnu
--target=x86_64-mine-linux-gnu

Here is the error:
make[2]: Entering directory `/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3'
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=x86_64-mine-linux-gnu-gcc
" "CFLAGS=-g -O2 -pipe -march=athlon64  " "CXXFLAGS=-O2 -pipe -march=athlon64  
-D_GNU_SOUR
CE  " "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-g -O2 -pipe -march=athlon64"
"INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644"
"INSTALL_PROGRAM=/usr/b
in/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g
-O2 -pipe -march=athlon64  " "LIBCFLAGS_FOR_TARGET=-g -O2 -pipe
-march=athlon64" "MAKE=make" 
"MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG="
"PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/usr"
"infodir=/usr/share/inf
o" "libdir=/usr/lib" "includedir=/usr/include" "prefix=/usr"
"tooldir=/usr/x86_64-mine-linux-gnu" "gxx_include_dir=/usr/include/c++/4.4.2"
"AR=/usr/lib/gcc/x86_64-mine-li
nux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/bin/ar"
"AS=/usr/lib/gcc/x86_64-mine-linux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/bin/as"
"LD=/usr/lib/gcc/x86_64-min
e-linux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/bin/ld"
"RANLIB=/usr/lib/gcc/x86_64-mine-linux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/bin/ranlib"
"NM=/usr/lib/gc
c/x86_64-mine-linux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/bin/nm"
"NM_FOR_BUILD="
"NM_FOR_TARGET=/usr/lib/gcc/x86_64-mine-linux-gnu/4.4.2/../../../../x86_64-mine-li
nux-gnu/bin/nm" "DESTDIR=" "WERROR=" all-recursive
make[3]: Entering directory `/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3'
Making all in include
make[4]: Entering directory
`/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include'
mkdir -p ./x86_64-mine-linux-gnu/bits/stdtr1c++.h.gch
x86_64-mine-linux-gnu-c++  -x c++-header -O2 -pipe -march=athlon64  
-D_GNU_SOURCE  
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/x86_64-mine-linux-gnu
-I/
tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include
-I/tmp/gcc-4.4.2/libstdc++-v3/libsupc++ -O2 -g
/tmp/gcc-4.4.2/libstdc++-v3/include/precompiled/stdtr1c++.h -o x86
_64-mine-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch
In file included from
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv:46,
                 from
/tmp/gcc-4.4.2/libstdc++-v3/include/precompiled/stdtr1c++.h:33:
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:49:
error: '::fenv_t' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:50:
error: '::fexcept_t' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:53:
error: '::feclearexcept' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:54:
error: '::fegetexceptflag' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:55:
error: '::feraiseexcept' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:56:
error: '::fesetexceptflag' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:57:
error: '::fetestexcept' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:59:
error: '::fegetround' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:60:
error: '::fesetround' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:62:
error: '::fegetenv' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:63:
error: '::feholdexcept' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:64:
error: '::fesetenv' has not been declared
/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv:65:
error: '::feupdateenv' has not been declared
make[4]: *** [x86_64-mine-linux-gnu/bits/stdtr1c++.h.gch/O2g.gch] Error 1
make[4]: Leaving directory
`/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/tmp/gcc-build'
make: *** [all] Error 2

And with -E | grep -i fenv:
subway:/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include$
x86_64-mine-linux-gnu-c++  -x c++-header -O2 -pipe -march=athlon64  
-D_GNU_SOURCE  
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/x86_64-mine-linux-gnu
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include
-I/tmp/gcc-4.4.2/libstdc++-v3/libsupc++ -O2 -g
/tmp/gcc-4.4.2/libstdc++-v3/include/precompiled/stdtr1c++.h -E | grep -i fenv
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 1
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv"
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 1 3
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 1
"/usr/lib/gcc/x86_64-mine-linux-gnu/4.4.2/../../../../x86_64-mine-linux-gnu/include/c++/4.4.2/fenv.h"
1 3
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 2 3
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3
# 46 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
1 3
# 44 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
3
  using ::fenv_t;
# 47 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3

And with -nostdinc++ added (compilation runs ok):
subway:/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include$
x86_64-mine-linux-gnu-c++ -nostdinc++ -x c++-header -O2 -pipe -march=athlon64  
-D_GNU_SOURCE  
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/x86_64-mine-linux-gnu
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include
-I/tmp/gcc-4.4.2/libstdc++-v3/libsupc++ -O2 -g
/tmp/gcc-4.4.2/libstdc++-v3/include/precompiled/stdtr1c++.h -E | grep -i fenv
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 1
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv"
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 1 3
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 1 "/new-system/usr/include/fenv.h" 1 3 4
# 58 "/new-system/usr/include/fenv.h" 3 4
# 1 "/new-system/usr/include/bits/fenv.h" 1 3 4
# 23 "/new-system/usr/include/bits/fenv.h" 3 4
# 24 "/new-system/usr/include/bits/fenv.h" 2 3 4
fenv_t;
# 59 "/new-system/usr/include/fenv.h" 2 3 4
extern int fegetenv (fenv_t *__envp) throw ();
extern int feholdexcept (fenv_t *__envp) throw ();
extern int fesetenv (__const fenv_t *__envp) throw ();
extern int feupdateenv (__const fenv_t *__envp) throw ();
# 1 "/new-system/usr/include/bits/fenvinline.h" 1 3 4
# 116 "/new-system/usr/include/fenv.h" 2 3 4
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 2 3
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3
# 46 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
1 3
# 44 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
3
  using ::fenv_t;
# 47 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3

/new-system being the sysroot dir used by gcc and where target glibc headers
are. Adding "-I/usr/include" also works even if wrong header is picked this
time:

subway:/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include$
x86_64-mine-linux-gnu-c++ -x c++-header -O2 -pipe -march=athlon64  
-D_GNU_SOURCE  
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/x86_64-mine-linux-gnu
-I/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include
-I/tmp/gcc-4.4.2/libstdc++-v3/libsupc++ -I/usr/include -O2 -g
/tmp/gcc-4.4.2/libstdc++-v3/include/precompiled/stdtr1c++.h -E | grep fenv      
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 1
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv"
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 1 3
# 32 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 33 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 3
# 1 "/usr/include/fenv.h" 1 3
# 58 "/usr/include/fenv.h" 3
# 1 "/usr/include/bits/fenv.h" 1 3
# 26 "/usr/include/bits/fenv.h" 3
fenv_t;
# 59 "/usr/include/fenv.h" 2 3
extern int fegetenv (fenv_t *__envp) throw ();
extern int feholdexcept (fenv_t *__envp) throw ();
extern int fesetenv (__const fenv_t *__envp) throw ();
extern int feupdateenv (__const fenv_t *__envp) throw ();
# 1 "/usr/include/bits/fenvinline.h" 1 3
# 116 "/usr/include/fenv.h" 2 3
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/fenv.h" 2 3
# 37 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3
# 46 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 3
# 1 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
1 3
# 44 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1_impl/cfenv"
3
  using ::fenv_t;
# 47 "/tmp/gcc-build/x86_64-mine-linux-gnu/libstdc++-v3/include/tr1/cfenv" 2 3

As a side note changing the "C" header model from c_global to c_std in
libstdc++-v3/configure.host file solves the problem as fenv.h is no longer
installed by gcc along with three other headers (two of them being also
provided by glibc).

Thanks for your time.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974


  parent reply	other threads:[~2009-12-19 15:44 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-05 16:44 [Bug libstdc++/40974] New: " booleandomain at gmail dot com
2009-08-05 22:26 ` [Bug libstdc++/40974] " paolo dot carlini at oracle dot com
2009-08-06 19:22 ` booleandomain at gmail dot com
2009-08-06 20:21 ` booleandomain at gmail dot com
2009-08-07  8:22 ` paolo dot carlini at oracle dot com
2009-08-07  9:46 ` bonzini at gnu dot org
2009-08-07 10:12 ` paolo dot carlini at oracle dot com
2009-08-07 10:45 ` bonzini at gnu dot org
2009-08-07 11:58 ` booleandomain at gmail dot com
2009-08-07 12:01 ` booleandomain at gmail dot com
2009-08-07 12:03 ` booleandomain at gmail dot com
2009-08-07 12:10 ` booleandomain at gmail dot com
2009-09-26 19:44 ` pinskia at gcc dot gnu dot org
2009-12-15 20:48 ` armand dot potter at free dot fr
2009-12-16 16:18 ` paolo dot carlini at oracle dot com
2009-12-16 17:30 ` bonzini at gnu dot org
2009-12-16 19:15 ` paolo dot carlini at oracle dot com
2009-12-16 21:52 ` rwild at gcc dot gnu dot org
2009-12-19 15:44 ` armand dot potter at free dot fr [this message]
2009-12-22  9:58 ` paolo dot carlini at oracle dot com
2009-12-22 21:04 ` rwild at gcc dot gnu dot org
2010-01-10 11:28 ` armand dot potter at free dot fr
2010-01-10 12:16 ` paolo dot carlini at oracle dot com
2010-01-10 12:18 ` paolo dot carlini at oracle dot com
2010-01-10 16:52 ` hjl dot tools at gmail dot com
2010-01-10 17:16 ` hjl dot tools at gmail dot com
2010-05-14 15:07 ` armin76 at gentoo dot org
2010-05-14 15:11 ` paolo dot carlini at oracle dot com
2010-05-14 15:50 ` dougsemler at gmail dot com
2010-05-16 17:32 ` rwild at gcc dot gnu dot org
2010-06-19 11:31 ` armin76 at gentoo dot org
2010-07-21 21:35 ` armand dot potter at free dot fr
2010-07-21 22:03 ` paolo dot carlini at oracle dot com
2010-07-25 15:20 ` paolo dot carlini at oracle dot com
2010-08-01 17:21 ` armand dot potter at free dot fr
2010-08-02  6:53 ` paolo dot carlini at oracle dot com
2010-08-10 21:51 ` pinskia at gcc dot gnu dot org
2010-08-10 21:53 ` [Bug libstdc++/40974] [4.3/4.4/4.5/4.6 Regression] " pinskia at gcc dot gnu dot org
2010-08-10 22:00 ` pinskia at gcc dot gnu dot org
2010-08-10 22:18 ` paolo dot carlini at oracle dot com
2010-08-10 22:19 ` pinskia at gcc dot gnu dot org
2010-08-11  1:12 ` pinskia at gcc dot gnu dot org
2010-08-11  1:20 ` pinskia at gcc dot gnu dot org
2010-08-11  1:24 ` paolo dot carlini at oracle dot com
2010-08-11  1:28 ` pinskia at gcc dot gnu dot org
2010-08-11  7:08 ` paolo dot carlini at oracle dot com
2010-09-02  8:24 ` boris at kolpackov dot net
2010-09-02  9:42 ` paolo dot carlini at oracle dot com
2010-09-02 12:45 ` bonzini at gnu dot org
2010-09-02 14:10 ` paolo dot carlini at oracle dot com
2010-09-02 14:13 ` paolo at gcc dot gnu dot org
2010-09-02 16:07 ` paolo dot carlini at oracle dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091219154421.31184.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).