This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/40802] Libstdc++ is broken for win64 host



------- Comment #16 from ktietz at gcc dot gnu dot org  2009-09-01 18:38 -------
(In reply to comment #15)
> GCC 4.5 [Trunk], SVN Revision 149872. Because Win64 testing is so hard to come
> by, I took the initiative of deleting the entire tree, re-checking it out, and
> building from scratch. I am sorry, I am still encountering the following:
> 
> make[3]: Entering directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3'
> Making all in include
> make[4]: Entering directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include'
> mkdir -p ./x86_64-w64-mingw32/bits/stdc++.h.gch
> x86_64-w64-mingw32-c++
> -L/home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/winsup/mingw
> -L/home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/winsup/w32api/lib
> -isystem /home/peter/build/GCC/gcc-trunk/winsup/mingw/include -isystem
> /home/peter/build/GCC/gcc-trunk/winsup/w32api/include    -x c++-header -g -O2
> -I/home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/x86_64-w64-mingw32
> -I/home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include
> -I/home/peter/build/GCC/gcc-trunk/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x
> /home/peter/build/GCC/gcc-trunk/libstdc++-v3/include/precompiled/stdc++.h \
>         -o x86_64-w64-mingw32/bits/stdc++.h.gch/O2ggnu++0x.gch
> In file included from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/bits/move.h:38:0,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/bits/stl_pair.h:60,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/bits/stl_algobase.h:66,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/bits/char_traits.h:41,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/ios:41,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/istream:40,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/sstream:39,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/complex:47,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/ccomplex:42,
>                  from
> /home/peter/build/GCC/gcc-trunk/libstdc++-v3/include/precompiled/stdc++.h:51:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/type_traits:185:62:
> error: a function call cannot appear in a constant-expression
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/type_traits:185:63:
> error: template argument 2 is invalid
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/type_traits:215:54:
> error: a function call cannot appear in a constant-expression
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/type_traits:215:55:
> error: template argument 2 is invalid
> In file included from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/fenv.h:50:0,
>                  from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/cfenv:44,
>                  from
> /home/peter/build/GCC/gcc-trunk/libstdc++-v3/include/precompiled/stdc++.h:52:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:49:11:
> error: ?::fenv_t? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:50:11:
> error: ?::fexcept_t? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:53:11:
> error: ?::feclearexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:54:11:
> error: ?::fegetexceptflag? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:55:11:
> error: ?::feraiseexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:56:11:
> error: ?::fesetexceptflag? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:57:11:
> error: ?::fetestexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:59:11:
> error: ?::fegetround? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:60:11:
> error: ?::fesetround? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:62:11:
> error: ?::fegetenv? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:63:11:
> error: ?::feholdexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:64:11:
> error: ?::fesetenv? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:65:11:
> error: ?::feupdateenv? has not been declared
> In file included from
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/cfenv:54:0,
>                  from
> /home/peter/build/GCC/gcc-trunk/libstdc++-v3/include/precompiled/stdc++.h:52:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:49:11:
> error: ?::fenv_t? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:50:11:
> error: ?::fexcept_t? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:53:11:
> error: ?::feclearexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:54:11:
> error: ?::fegetexceptflag? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:55:11:
> error: ?::feraiseexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:56:11:
> error: ?::fesetexceptflag? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:57:11:
> error: ?::fetestexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:59:11:
> error: ?::fegetround? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:60:11:
> error: ?::fesetround? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:62:11:
> error: ?::fegetenv? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:63:11:
> error: ?::feholdexcept? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:64:11:
> error: ?::fesetenv? has not been declared
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/tr1_impl/cfenv:65:11:
> error: ?::feupdateenv? has not been declared
> In file included from
> /home/peter/build/GCC/gcc-trunk/libstdc++-v3/include/precompiled/stdc++.h:98:0:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:
> In static member function ?static _ToDuration
> std::chrono::__duration_cast_impl<_ToDuration, _CF, _CR, true>::__cast(const
> std::chrono::duration<_Rep, _Period>&) [with _Rep = long long int, _Period =
> std::ratio<1ll, 1000000ll>, _ToDuration = std::chrono::duration<long long int>,
> _CF = std::ratio<1ll, 1000000ll>, _CR = long long int&&]?:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:152:54:
>   instantiated from ?_ToDuration std::chrono::duration_cast(const
> std::chrono::duration<_Rep, _Period>&) [with _ToDuration =
> std::chrono::duration<long long int>, _Rep = long long int, _Period =
> std::ratio<1ll, 1000000ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:646:64:
>   instantiated from here
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:126:74:
> error: invalid static_cast from type ?const intmax_t? to type ?long long int&&?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:
> In static member function ?static _ToDuration
> std::chrono::__duration_cast_impl<_ToDuration, _CF, _CR, false,
> true>::__cast(const std::chrono::duration<_Rep, _Period>&) [with _Rep = long
> long int, _Period = std::ratio<1ll>, _ToDuration = std::chrono::duration<long
> long int, std::ratio<1ll, 1000000ll> >, _CF = std::ratio<1000000ll>, _CR = long
> long int&&]?:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:152:54:
>   instantiated from ?_ToDuration std::chrono::duration_cast(const
> std::chrono::duration<_Rep, _Period>&) [with _ToDuration =
> std::chrono::duration<long long int, std::ratio<1ll, 1000000ll> >, _Rep = long
> long int, _Period = std::ratio<1ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:547:61:
>   instantiated from ?std::chrono::time_point<_Clock, _ToDuration>
> std::chrono::time_point_cast(const std::chrono::time_point<_Clock, _Duration>&)
> [with _ToDuration = std::chrono::duration<long long int, std::ratio<1ll,
> 1000000ll> >, _Clock = std::chrono::system_clock, _Duration =
> std::chrono::duration<long long int>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:654:34:
>   instantiated from here
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:137:74:
> error: invalid static_cast from type ?const intmax_t? to type ?long long int&&?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:
> In constructor ?std::chrono::duration<_Rep, _Period>::duration(const _Rep2&)
> [with _Rep2 = long long int, _Rep = long long int&&, _Period =
> std::ratio<1ll>]?:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:115:66:
>   instantiated from ?static _ToDuration
> std::chrono::__duration_cast_impl<_ToDuration, _CF, _CR, true,
> true>::__cast(const std::chrono::duration<_Rep, _Period>&) [with _Rep = long
> long int, _Period = std::ratio<1ll>, _ToDuration = std::chrono::duration<long
> long int&&>, _CF = std::ratio<1ll>, _CR = long long int&&]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:152:54:
>   instantiated from ?_ToDuration std::chrono::duration_cast(const
> std::chrono::duration<_Rep, _Period>&) [with _ToDuration =
> std::chrono::duration<long long int&&>, _Rep = long long int, _Period =
> std::ratio<1ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:225:53:
>   instantiated from ?std::chrono::duration<_Rep, _Period>::duration(const
> std::chrono::duration<_Rep, _Period>&) [with _Rep2 = long long int, _Period2 =
> std::ratio<1ll>, _Rep = long long int&&, _Period = std::ratio<1ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:346:31:
>   instantiated from ?typename std::common_type<std::chrono::duration<_Rep1,
> _Period1>, std::chrono::duration<_Rep2, _Period2> >::type
> std::chrono::operator+(const std::chrono::duration<_Rep1, _Period1>&, const
> std::chrono::duration<_Rep2, _Period2>&) [with _Rep1 = long long int, _Period1
> = std::ratio<1ll>, _Rep2 = long long int, _Period2 = std::ratio<1ll>, typename
> std::common_type<std::chrono::duration<_Rep1, _Period1>,
> std::chrono::duration<_Rep2, _Period2> >::type = std::chrono::duration<long
> long int&&>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:498:32:
>   instantiated from ?std::chrono::time_point<_Clock,
> _Duration>::time_point(const duration&) [with _Clock =
> std::chrono::system_clock, _Duration = std::chrono::duration<long long int>,
> duration = std::chrono::duration<long long int>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:654:33:
>   instantiated from here
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:215:40:
> error: invalid static_cast from type ?const long long int? to type ?long long
> int&&?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:
> In constructor ?std::chrono::duration<_Rep, _Period>::duration(const _Rep2&)
> [with _Rep2 = long long int, _Rep = long long int&&, _Period = std::ratio<1ll,
> 1000000ll>]?:
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:115:66:
>   instantiated from ?static _ToDuration
> std::chrono::__duration_cast_impl<_ToDuration, _CF, _CR, true,
> true>::__cast(const std::chrono::duration<_Rep, _Period>&) [with _Rep = long
> long int, _Period = std::ratio<1ll, 1000000ll>, _ToDuration =
> std::chrono::duration<long long int&&, std::ratio<1ll, 1000000ll> >, _CF =
> std::ratio<1ll>, _CR = long long int&&]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:152:54:
>   instantiated from ?_ToDuration std::chrono::duration_cast(const
> std::chrono::duration<_Rep, _Period>&) [with _ToDuration =
> std::chrono::duration<long long int&&, std::ratio<1ll, 1000000ll> >, _Rep =
> long long int, _Period = std::ratio<1ll, 1000000ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:225:53:
>   instantiated from ?std::chrono::duration<_Rep, _Period>::duration(const
> std::chrono::duration<_Rep, _Period>&) [with _Rep2 = long long int, _Period2 =
> std::ratio<1ll, 1000000ll>, _Rep = long long int&&, _Period = std::ratio<1ll,
> 1000000ll>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:346:31:
>   instantiated from ?typename std::common_type<std::chrono::duration<_Rep1,
> _Period1>, std::chrono::duration<_Rep2, _Period2> >::type
> std::chrono::operator+(const std::chrono::duration<_Rep1, _Period1>&, const
> std::chrono::duration<_Rep2, _Period2>&) [with _Rep1 = long long int, _Period1
> = std::ratio<1ll, 1000000ll>, _Rep2 = long long int, _Period2 = std::ratio<1ll,
> 1000000ll>, typename std::common_type<std::chrono::duration<_Rep1, _Period1>,
> std::chrono::duration<_Rep2, _Period2> >::type = std::chrono::duration<long
> long int&&, std::ratio<1ll, 1000000ll> >]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:498:32:
>   instantiated from ?std::chrono::time_point<_Clock,
> _Duration>::time_point(const duration&) [with _Clock =
> std::chrono::system_clock, _Duration = std::chrono::duration<long long int,
> std::ratio<1ll, 1000000ll> >, duration = std::chrono::duration<long long int,
> std::ratio<1ll, 1000000ll> >]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:547:61:
>   instantiated from ?std::chrono::time_point<_Clock, _ToDuration>
> std::chrono::time_point_cast(const std::chrono::time_point<_Clock, _Duration>&)
> [with _ToDuration = std::chrono::duration<long long int, std::ratio<1ll,
> 1000000ll> >, _Clock = std::chrono::system_clock, _Duration =
> std::chrono::duration<long long int>]?
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:654:34:
>   instantiated from here
> /home/peter/build/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include/chrono:215:40:
> error: invalid static_cast from type ?const long long int? to type ?long long
> int&&?
> make[4]: *** [x86_64-w64-mingw32/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
> make[4]: Leaving directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3/include'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721/x86_64-w64-mingw32/libstdc++-v3'
> make[1]: *** [all-target-libstdc++-v3] Error 2
> make[1]: Leaving directory
> `/home/peter/mount/GCC/gcc-trunk/build-win-149872-20090721'
> make: *** [all] Error 2
> 
> Thank you for your attention.
> 

This issue isn't a failure of libstdc++ at all. It is reasoned by the necessary
 winsup folder (IIRC introduced by Corinna from cygwin) as we describe in our
"How to build w64 cross toolchain" to be found at
https://sourceforge.net/docman/?group_id=202880.
I can build libstdc++ library now for years without much issues.
Please make sure build environment is sane, which means use current snapshot,
reading "HowTo build gcc for x64 Windows" to be found on mingw-w64 project
page.


-- 

ktietz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]