Bug #5985
closedCompiler error
0%
Description
gcc version 4.9.4 (Ubuntu 4.9.4-2ubuntu1~14.04.1)
[ 84%] Building CXX object src/Wt/Dbo/backend/CMakeFiles/wtdbopostgres.dir/Postgres.C.o
In file included from /opt/cpp/wt-4.0.0/src/Wt/Dbo/backend/Postgres.C:28:0:
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h: In instantiation of 'std::basic_istream<_CharT, _Traits>& date::from_stream(std::basic_istream<_CharT, _Traits>&, const CharT*, date::fields&, std::basic_string<CharT, Traits, Alloc>, std::chrono::minutes*) [with CharT = char; Traits = std::char_traits; Duration = std::chrono::duration<long int, std::ratio<1l, 1000000000l> >; Alloc = std::allocator; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]':
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6542:45: required from 'std::basic_istream<_CharT, _Traits>& date::from_stream(std::basic_istream<_CharT, _Traits>&, const CharT, date::sys_time&, std::basic_string<CharT, Traits, Alloc>, std::chrono::minutes*) [with Duration = std::chrono::duration<long int, std::ratio<1l, 1000000000l> >; CharT = char; Traits = std::char_traits; Alloc = std::allocator; date::sys_time = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1l, 1000000000l> > >; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]'
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6612:74: required from 'std::basic_istream<_CharT, _Traits>& date::operator>>(std::basic_istream<_CharT, _Traits>&, const date::parse_manip<Parsable, CharT, Traits, Alloc>&) [with Parsable = std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1l, 1000000000l> > >; CharT = char; Traits = std::char_traits; Alloc = std::allocator]'
/opt/cpp/wt-4.0.0/src/Wt/Dbo/backend/Postgres.C:493:37: required from here
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5530:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5547:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5562:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5584:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5603:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5628:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5683:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5713:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5779:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5801:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5856:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5877:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5930:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5980:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6005:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6103:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h: In instantiation of 'std::basic_istream<_CharT, _Traits>& date::from_stream(std::basic_istream<_CharT, _Traits>&, const CharT, date::fields&, std::basic_string<CharT, Traits, Alloc>, std::chrono::minutes*) [with CharT = char; Traits = std::char_traits; Duration = std::chrono::duration<long int, std::ratio<1l, 1000l> >; Alloc = std::allocator; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]':
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6580:45: required from 'std::basic_istream<_CharT, _Traits>& date::from_stream(std::basic_istream<_CharT, _Traits>&, const CharT, std::chrono::duration<_Rep1, _Period1>&, std::basic_string<CharT, Traits, Alloc>*, std::chrono::minutes*) [with Rep = int; Period = std::ratio<1l, 1000l>; CharT = char; Traits = std::char_traits; Alloc = std::allocator; std::chrono::minutes = std::chrono::duration<long int, std::ratio<60l> >]'
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6612:74: required from 'std::basic_istream<_CharT, _Traits>& date::operator>>(std::basic_istream<_CharT, _Traits>&, const date::parse_manip<Parsable, CharT, Traits, Alloc>&) [with Parsable = std::chrono::duration<int, std::ratio<1l, 1000l> >; CharT = char; Traits = std::char_traits; Alloc = std::allocator]'
/opt/cpp/wt-4.0.0/src/Wt/Dbo/backend/Postgres.C:528:35: required from here
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5530:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5547:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5562:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5584:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5603:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5628:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5683:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5713:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5779:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5801:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5856:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5877:21: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5930:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:5980:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6005:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
/opt/cpp/wt-4.0.0/src/Wt/Date/date.h:6103:25: error: 'const class std::time_get' has no member named 'get'
f.get(is, 0, is, err, &tm, command, fmt+1);
^
make[2]: * [src/Wt/Dbo/backend/CMakeFiles/wtdbopostgres.dir/Postgres.C.o] Error 1
make[1]: * [src/Wt/Dbo/backend/CMakeFiles/wtdbopostgres.dir/all] Error 2
make: * [all] Error 2
Updated by Roel Standaert over 6 years ago
It appears that I was incorrect in stating that G 4.9 is the minimum compiler version. It appears that the included version of date (2.2) does not support it. There seems to be a more recent version where it can be built with the -DONLY_C_LOCALE
flag.
Updated by Roel Standaert over 6 years ago
- Status changed from New to Resolved
I tried it out, and it seemed to build properly, but it seems that the use of date::parse
in wtdbopostgres causes that error. We could work around that, but maybe supporting GCC 4.9 is not that important. I've updated the minimum version of GCC to 5.0 in the installation instructions, so unless there arises a specific need for GCC 4.9 support, I'll mark this as resolved now.
Updated by Chao-Kai Yang over 6 years ago
Thanks,
I resolved by update gcc to 5.0.
Updated by Roel Standaert over 6 years ago
Tiny correction: GCC 5.0 doesn't exist. The first in the 5 series is 5.1 :-). It seems that they changed their versioning scheme in GCC 5.
Updated by Roel Standaert over 6 years ago
- Status changed from Resolved to Closed