Project

General

Profile

Actions

Bug #5985

closed

Compiler error

Added by Chao-Kai Yang over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
10/06/2017
Due date:
% Done:

0%

Estimated time:

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

Actions #1

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.

Actions #2

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.

Actions #3

Updated by Chao-Kai Yang over 6 years ago

Thanks,

I resolved by update gcc to 5.0.

Actions #4

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.

Actions #5

Updated by Roel Standaert over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF