You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by Roger Meier <ro...@bufferoverflow.ch> on 2015/03/18 00:41:55 UTC

[DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Hi all

We had lot of discussions and issues about C++11 support and I think  
it is time to move the master branch development towards C++11 and set  
this as a dependency starting wit 0.9.3 of Apache Thrift.

reasons to move forward:
- no feature show stopper due to C++98 dependency
- no backport of patches, it's a nightmare
- master branch should focus towards future
- evolution of compiler and cpp library
- many developers already use C++11 capable compilers
    -  
http://cpprocks.com/c11-compiler-support-shootout-visual-studio-gcc-clang-intel/
    - gcc support -std=c++11 since version 4.7
      see https://gcc.gnu.org/projects/cxx0x.html
    - clang 3.5
- all recent Linux distros support C++11
    - centos 7 uses gcc 4.8.2
    - Debian Jessie uses gcc 4.9.2
    - Debian Wheezy uses gcc 4.7.2
    - RHEL-7.0 uses gcc 4.8.2
    - Suse 13.2 uses gcc 4.8.3
    - Suse 13.1 uses gcc 4.8.1
    - Ubuntu utopic 14.10 uses gcc 4.9.1
    - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
    - Ubuntu saucy 13.10 uses gcc 4.8.1
- it is 2015 and C++11 is ready to use in the wild
- C++11 compilers can easy be installed on older distros
- no fork of a C++11 library

solution for older environments:
- C++98 can be handled on the 0.9.x branch if required
- install a more recent compiler
    - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/

What do you think?

all the best!
-roger


On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>
>     [  
> https://issues.apache.org/jira/browse/THRIFT-3043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14364464#comment-14364464  
> ]
>
> Randy Abernethy commented on THRIFT-3043:
> -----------------------------------------
>
> Hey Jens: looks good, many thanks!
>
> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib  
> ASAP. The only thing I am suggesting is that we keep the IDL  
> compiler source Cpp98 until Cpp11 is ubiquitous. My hope is that we  
> can fork the Cpp98 lib to create a Cpp11 lib and fork the Cpp98  
> generator to create a Cpp11 generator (which would be written in  
> Cpp98). This way folks can use Cpp11 or Cpp98 in their user code. I  
> think this was the plan arrived at on some other threads. The  
> THeader pull from DJW  
> (https://github.com/apache/thrift/pull/357.patch) is all lib so  
> should apply fine to a Cpp11 lib fork.
>
> The IDL compiler is pretty simple and has no bearing on user code.  
> The path of least resistance there seems to be to keep the source  
> for the IDL compiler in Cpp98. That way it will compile under Cpp11  
> or Cpp98. Win win. Rewriting the compiler in Cpp11 (or Java or Go)  
> does not seem like a good use of our time and we have precious  
> little of it (as you pointed out on the THeader issue). Most of the  
> Cpp98 breaking patches are due to unsupported variable  
> initialization and the like, seems silly to cut off a large chunk of  
> compatibility we already have in place for trivial stuff like that.
>
>> go compiler generator uses non C++98 code
>> -----------------------------------------
>>
>>                 Key: THRIFT-3043
>>                 URL: https://issues.apache.org/jira/browse/THRIFT-3043
>>             Project: Thrift
>>          Issue Type: Bug
>>          Components: Go - Compiler
>>    Affects Versions: 0.9.3
>>            Reporter: Randy Abernethy
>>            Assignee: Jens Geyer
>>            Priority: Blocker
>>             Fix For: 0.9.3
>>
>>         Attachments:  
>> THRIFT-3043-go-compiler-generator-uses-non-C-98-code.patch
>>
>>
>> go compiler generator uses non C++98 code causing builds to fail in  
>> Centos 6 and other environments.
>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98  
>> ���commonInitialisms��� must be initialized by constructor, not by  
>> ���{...}���
>> ==> default: src/generate/t_go_generator.cc:415: error: deducing  
>> from brace-enclosed initializer list requires #include  
>> <initializer_list>
>> ==> default: src/generate/t_go_generator.cc:415: error: deducing  
>> from brace-enclosed initializer list requires #include  
>> <initializer_list>
>> ==> default: src/generate/t_go_generator.cc:415: warning: extended  
>> initializer lists only available with -std=c++0x or -std=gnu++0x
>> ==> default: src/generate/t_go_generator.cc:415: error: no matching  
>> function for call to ���std::set<std::basic_string<char,  
>> std::char_traits<char>, s
>> td::allocator<char> >, std::less<std::basic_string<char,  
>> std::char_traits<char>, std::allocator<char> > >,  
>> std::allocator<std::basic_string<char, std:
>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed  
>> initializer list>)���
>> ==> default:  
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_set.h:188: note: candidates are: std::set<_Key, _Compare,  
>> _
>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =  
>> std::basic_string<char, std::char_traits<char>,  
>> std::allocator<char> >, _Compare = s
>> td::less<std::basic_string<char, std::char_traits<char>,  
>> std::allocator<char> > >, _Alloc =  
>> std::allocator<std::basic_string<char, std::char_traits<ch
>> ar>, std::allocator<char> > >]
>> ==> default:  
>> /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/stl_set.h:136: note:                 std::set<_Key, _Compare,  
>> _
>> Alloc>::set() [with _Key = std::basic_string<char,  
>> std::char_traits<char>, std::allocator<char> >, _Compare =  
>> std::less<std::basic_string<char, std::c
>> har_traits<char>, std::allocator<char> > >, _Alloc =  
>> std::allocator<std::basic_string<char, std::char_traits<char>,  
>> std::allocator<char> > >]
>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>> ==> default: make[2]: *** [all] Error 2
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>


Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Posted by Jens Geyer <je...@hotmail.com>.
Agree, makes sense.

-----Ursprüngliche Nachricht----- 
From: Roger Meier
Sent: Saturday, March 21, 2015 9:59 PM
To: dev@thrift.apache.org
Subject: Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] 
(THRIFT-3043) go compiler generator uses non C++98 code)

Yes, let's do a 0.9.3 release as proposed by Jake.

and focus afterwards towards 1.0.0 on the master branch with new
features such as:
- C++11(MSVC, gcc, clang)
- CMake
- Phyton3
- etc.

regards
-roger

Quoting Randy Abernethy <ra...@gmail.com>:

> +1 for C++11/cmake/Py3 as part of 1.0
>
>
> On Tue, Mar 17, 2015 at 5:13 PM, Konrad Grochowski <hc...@minions.org.pl>
> wrote:
>
>> +1
>>
>> As you may remember I was working on C++11/cpp_v2 gen/lib -
>> https://github.com/hcorg/thrift/tree/cpp_v2 yet I had to put it on a
>> hiatus some time ago... Maybe next month I'll find some time to finish it
>> (I think I was pretty close to 0.0.1 version of complete generator ;) )
>>
>> -KG
>>
>> W dniu 2015-03-18 o 01:05, Jake Farrell pisze:
>>
>>  +1
>>>
>>> Thoughts on cutting the 0.9.3 release so we do not have a long delay
>>> between releases again and put this in for a 0.9.4 or we could stop the
>>> point releases and go with 1.0 with full c++11, cmake, py3.0, etc.
>>>
>>> -Jake
>>>
>>> On Tue, Mar 17, 2015 at 7:41 PM, Roger Meier <ro...@bufferoverflow.ch>
>>> wrote:
>>>
>>>  Hi all
>>>>
>>>> We had lot of discussions and issues about C++11 support and I think it
>>>> is
>>>> time to move the master branch development towards C++11 and set this 
>>>> as
>>>> a
>>>> dependency starting wit 0.9.3 of Apache Thrift.
>>>>
>>>> reasons to move forward:
>>>> - no feature show stopper due to C++98 dependency
>>>> - no backport of patches, it's a nightmare
>>>> - master branch should focus towards future
>>>> - evolution of compiler and cpp library
>>>> - many developers already use C++11 capable compilers
>>>>     - http://cpprocks.com/c11-compiler-support-shootout-
>>>> visual-studio-gcc-clang-intel/
>>>>     - gcc support -std=c++11 since version 4.7
>>>>       see https://gcc.gnu.org/projects/cxx0x.html
>>>>     - clang 3.5
>>>> - all recent Linux distros support C++11
>>>>     - centos 7 uses gcc 4.8.2
>>>>     - Debian Jessie uses gcc 4.9.2
>>>>     - Debian Wheezy uses gcc 4.7.2
>>>>     - RHEL-7.0 uses gcc 4.8.2
>>>>     - Suse 13.2 uses gcc 4.8.3
>>>>     - Suse 13.1 uses gcc 4.8.1
>>>>     - Ubuntu utopic 14.10 uses gcc 4.9.1
>>>>     - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
>>>>     - Ubuntu saucy 13.10 uses gcc 4.8.1
>>>> - it is 2015 and C++11 is ready to use in the wild
>>>> - C++11 compilers can easy be installed on older distros
>>>> - no fork of a C++11 library
>>>>
>>>> solution for older environments:
>>>> - C++98 can be handled on the 0.9.x branch if required
>>>> - install a more recent compiler
>>>>     - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/
>>>>
>>>> What do you think?
>>>>
>>>> all the best!
>>>> -roger
>>>>
>>>>
>>>> On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>>>>
>>>>       [ https://issues.apache.org/jira/browse/THRIFT-3043?page=
>>>>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>>>>> tabpanel&focusedCommentId=14364464#comment-14364464 ]
>>>>>
>>>>> Randy Abernethy commented on THRIFT-3043:
>>>>> -----------------------------------------
>>>>>
>>>>> Hey Jens: looks good, many thanks!
>>>>>
>>>>> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib 
>>>>> ASAP.
>>>>> The only thing I am suggesting is that we keep the IDL compiler source
>>>>> Cpp98 until Cpp11 is ubiquitous. My hope is that we can fork the Cpp98
>>>>> lib
>>>>> to create a Cpp11 lib and fork the Cpp98 generator to create a Cpp11
>>>>> generator (which would be written in Cpp98). This way folks can use
>>>>> Cpp11
>>>>> or Cpp98 in their user code. I think this was the plan arrived at on
>>>>> some
>>>>> other threads. The THeader pull from DJW (https://github.com/apache/
>>>>> thrift/pull/357.patch) is all lib so should apply fine to a Cpp11 lib
>>>>> fork.
>>>>>
>>>>> The IDL compiler is pretty simple and has no bearing on user code. The
>>>>> path of least resistance there seems to be to keep the source for the
>>>>> IDL
>>>>> compiler in Cpp98. That way it will compile under Cpp11 or Cpp98. Win
>>>>> win.
>>>>> Rewriting the compiler in Cpp11 (or Java or Go) does not seem like a
>>>>> good
>>>>> use of our time and we have precious little of it (as you pointed out 
>>>>> on
>>>>> the THeader issue). Most of the Cpp98 breaking patches are due to
>>>>> unsupported variable initialization and the like, seems silly to cut
>>>>> off a
>>>>> large chunk of compatibility we already have in place for trivial 
>>>>> stuff
>>>>> like that.
>>>>>
>>>>>   go compiler generator uses non C++98 code
>>>>>
>>>>>> -----------------------------------------
>>>>>>
>>>>>>                  Key: THRIFT-3043
>>>>>>                  URL: https://issues.apache.org/
>>>>>> jira/browse/THRIFT-3043
>>>>>>              Project: Thrift
>>>>>>           Issue Type: Bug
>>>>>>           Components: Go - Compiler
>>>>>>     Affects Versions: 0.9.3
>>>>>>             Reporter: Randy Abernethy
>>>>>>             Assignee: Jens Geyer
>>>>>>             Priority: Blocker
>>>>>>              Fix For: 0.9.3
>>>>>>
>>>>>>          Attachments: THRIFT-3043-go-compiler-
>>>>>> generator-uses-non-C-98-code.patch
>>>>>>
>>>>>>
>>>>>> go compiler generator uses non C++98 code causing builds to fail in
>>>>>> Centos 6 and other environments.
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98
>>>>>> ���commonInitialisms��� must be initialized by constructor, not by
>>>>>> ���{...}���
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>>> ==> default: src/generate/t_go_generator.cc:415: warning: extended
>>>>>> initializer lists only available with -std=c++0x or -std=gnu++0x
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: no matching
>>>>>> function for call to ���std::set<std::basic_string<char,
>>>>>> std::char_traits<char>, s
>>>>>> td::allocator<char> >, std::less<std::basic_string<char,
>>>>>> std::char_traits<char>, std::allocator<char> > >,
>>>>>> std::allocator<std::basic_string<char,
>>>>>> std:
>>>>>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed
>>>>>> initializer list>)���
>>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>>> include/c++/4.4.7/bits/stl_set.h:188: note: candidates are:
>>>>>> std::set<_Key, _Compare, _
>>>>>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =
>>>>>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>>>>>  >,
>>>>>> _Compare = s
>>>>>> td::less<std::basic_string<char, std::char_traits<char>,
>>>>>> std::allocator<char> > >, _Alloc = std::allocator<std::basic_
>>>>>> string<char,
>>>>>> std::char_traits<ch
>>>>>> ar>, std::allocator<char> > >]
>>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>>> include/c++/4.4.7/bits/stl_set.h:136: note:
>>>>>>   std::set<_Key, _Compare, _
>>>>>> Alloc>::set() [with _Key = std::basic_string<char,
>>>>>> std::char_traits<char>, std::allocator<char> >, _Compare =
>>>>>> std::less<std::basic_string<char, std::c
>>>>>> har_traits<char>, std::allocator<char> > >, _Alloc =
>>>>>> std::allocator<std::basic_string<char, std::char_traits<char>,
>>>>>> std::allocator<char> > >]
>>>>>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>>>>>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>>>>>> ==> default: make[2]: *** [all] Error 2
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> This message was sent by Atlassian JIRA
>>>>> (v6.3.4#6332)
>>>>>
>>>>>
>>>>>
>>



Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Posted by Roger Meier <ro...@bufferoverflow.ch>.
Yes, let's do a 0.9.3 release as proposed by Jake.

and focus afterwards towards 1.0.0 on the master branch with new  
features such as:
- C++11(MSVC, gcc, clang)
- CMake
- Phyton3
- etc.

regards
-roger

Quoting Randy Abernethy <ra...@gmail.com>:

> +1 for C++11/cmake/Py3 as part of 1.0
>
>
> On Tue, Mar 17, 2015 at 5:13 PM, Konrad Grochowski <hc...@minions.org.pl>
> wrote:
>
>> +1
>>
>> As you may remember I was working on C++11/cpp_v2 gen/lib -
>> https://github.com/hcorg/thrift/tree/cpp_v2 yet I had to put it on a
>> hiatus some time ago... Maybe next month I'll find some time to finish it
>> (I think I was pretty close to 0.0.1 version of complete generator ;) )
>>
>> -KG
>>
>> W dniu 2015-03-18 o 01:05, Jake Farrell pisze:
>>
>>  +1
>>>
>>> Thoughts on cutting the 0.9.3 release so we do not have a long delay
>>> between releases again and put this in for a 0.9.4 or we could stop the
>>> point releases and go with 1.0 with full c++11, cmake, py3.0, etc.
>>>
>>> -Jake
>>>
>>> On Tue, Mar 17, 2015 at 7:41 PM, Roger Meier <ro...@bufferoverflow.ch>
>>> wrote:
>>>
>>>  Hi all
>>>>
>>>> We had lot of discussions and issues about C++11 support and I think it
>>>> is
>>>> time to move the master branch development towards C++11 and set this as
>>>> a
>>>> dependency starting wit 0.9.3 of Apache Thrift.
>>>>
>>>> reasons to move forward:
>>>> - no feature show stopper due to C++98 dependency
>>>> - no backport of patches, it's a nightmare
>>>> - master branch should focus towards future
>>>> - evolution of compiler and cpp library
>>>> - many developers already use C++11 capable compilers
>>>>     - http://cpprocks.com/c11-compiler-support-shootout-
>>>> visual-studio-gcc-clang-intel/
>>>>     - gcc support -std=c++11 since version 4.7
>>>>       see https://gcc.gnu.org/projects/cxx0x.html
>>>>     - clang 3.5
>>>> - all recent Linux distros support C++11
>>>>     - centos 7 uses gcc 4.8.2
>>>>     - Debian Jessie uses gcc 4.9.2
>>>>     - Debian Wheezy uses gcc 4.7.2
>>>>     - RHEL-7.0 uses gcc 4.8.2
>>>>     - Suse 13.2 uses gcc 4.8.3
>>>>     - Suse 13.1 uses gcc 4.8.1
>>>>     - Ubuntu utopic 14.10 uses gcc 4.9.1
>>>>     - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
>>>>     - Ubuntu saucy 13.10 uses gcc 4.8.1
>>>> - it is 2015 and C++11 is ready to use in the wild
>>>> - C++11 compilers can easy be installed on older distros
>>>> - no fork of a C++11 library
>>>>
>>>> solution for older environments:
>>>> - C++98 can be handled on the 0.9.x branch if required
>>>> - install a more recent compiler
>>>>     - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/
>>>>
>>>> What do you think?
>>>>
>>>> all the best!
>>>> -roger
>>>>
>>>>
>>>> On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>>>>
>>>>       [ https://issues.apache.org/jira/browse/THRIFT-3043?page=
>>>>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>>>>> tabpanel&focusedCommentId=14364464#comment-14364464 ]
>>>>>
>>>>> Randy Abernethy commented on THRIFT-3043:
>>>>> -----------------------------------------
>>>>>
>>>>> Hey Jens: looks good, many thanks!
>>>>>
>>>>> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib ASAP.
>>>>> The only thing I am suggesting is that we keep the IDL compiler source
>>>>> Cpp98 until Cpp11 is ubiquitous. My hope is that we can fork the Cpp98
>>>>> lib
>>>>> to create a Cpp11 lib and fork the Cpp98 generator to create a Cpp11
>>>>> generator (which would be written in Cpp98). This way folks can use
>>>>> Cpp11
>>>>> or Cpp98 in their user code. I think this was the plan arrived at on
>>>>> some
>>>>> other threads. The THeader pull from DJW (https://github.com/apache/
>>>>> thrift/pull/357.patch) is all lib so should apply fine to a Cpp11 lib
>>>>> fork.
>>>>>
>>>>> The IDL compiler is pretty simple and has no bearing on user code. The
>>>>> path of least resistance there seems to be to keep the source for the
>>>>> IDL
>>>>> compiler in Cpp98. That way it will compile under Cpp11 or Cpp98. Win
>>>>> win.
>>>>> Rewriting the compiler in Cpp11 (or Java or Go) does not seem like a
>>>>> good
>>>>> use of our time and we have precious little of it (as you pointed out on
>>>>> the THeader issue). Most of the Cpp98 breaking patches are due to
>>>>> unsupported variable initialization and the like, seems silly to cut
>>>>> off a
>>>>> large chunk of compatibility we already have in place for trivial stuff
>>>>> like that.
>>>>>
>>>>>   go compiler generator uses non C++98 code
>>>>>
>>>>>> -----------------------------------------
>>>>>>
>>>>>>                  Key: THRIFT-3043
>>>>>>                  URL: https://issues.apache.org/
>>>>>> jira/browse/THRIFT-3043
>>>>>>              Project: Thrift
>>>>>>           Issue Type: Bug
>>>>>>           Components: Go - Compiler
>>>>>>     Affects Versions: 0.9.3
>>>>>>             Reporter: Randy Abernethy
>>>>>>             Assignee: Jens Geyer
>>>>>>             Priority: Blocker
>>>>>>              Fix For: 0.9.3
>>>>>>
>>>>>>          Attachments: THRIFT-3043-go-compiler-
>>>>>> generator-uses-non-C-98-code.patch
>>>>>>
>>>>>>
>>>>>> go compiler generator uses non C++98 code causing builds to fail in
>>>>>> Centos 6 and other environments.
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98
>>>>>> ���commonInitialisms��� must be initialized by constructor, not by
>>>>>> ���{...}���
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>>> ==> default: src/generate/t_go_generator.cc:415: warning: extended
>>>>>> initializer lists only available with -std=c++0x or -std=gnu++0x
>>>>>> ==> default: src/generate/t_go_generator.cc:415: error: no matching
>>>>>> function for call to ���std::set<std::basic_string<char,
>>>>>> std::char_traits<char>, s
>>>>>> td::allocator<char> >, std::less<std::basic_string<char,
>>>>>> std::char_traits<char>, std::allocator<char> > >,
>>>>>> std::allocator<std::basic_string<char,
>>>>>> std:
>>>>>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed
>>>>>> initializer list>)���
>>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>>> include/c++/4.4.7/bits/stl_set.h:188: note: candidates are:
>>>>>> std::set<_Key, _Compare, _
>>>>>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =
>>>>>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
>>>>>> _Compare = s
>>>>>> td::less<std::basic_string<char, std::char_traits<char>,
>>>>>> std::allocator<char> > >, _Alloc = std::allocator<std::basic_
>>>>>> string<char,
>>>>>> std::char_traits<ch
>>>>>> ar>, std::allocator<char> > >]
>>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>>> include/c++/4.4.7/bits/stl_set.h:136: note:
>>>>>>   std::set<_Key, _Compare, _
>>>>>> Alloc>::set() [with _Key = std::basic_string<char,
>>>>>> std::char_traits<char>, std::allocator<char> >, _Compare =
>>>>>> std::less<std::basic_string<char, std::c
>>>>>> har_traits<char>, std::allocator<char> > >, _Alloc =
>>>>>> std::allocator<std::basic_string<char, std::char_traits<char>,
>>>>>> std::allocator<char> > >]
>>>>>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>>>>>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>>>>>> ==> default: make[2]: *** [all] Error 2
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> This message was sent by Atlassian JIRA
>>>>> (v6.3.4#6332)
>>>>>
>>>>>
>>>>>
>>



Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Posted by Randy Abernethy <ra...@gmail.com>.
+1 for C++11/cmake/Py3 as part of 1.0


On Tue, Mar 17, 2015 at 5:13 PM, Konrad Grochowski <hc...@minions.org.pl>
wrote:

> +1
>
> As you may remember I was working on C++11/cpp_v2 gen/lib -
> https://github.com/hcorg/thrift/tree/cpp_v2 yet I had to put it on a
> hiatus some time ago... Maybe next month I'll find some time to finish it
> (I think I was pretty close to 0.0.1 version of complete generator ;) )
>
> -KG
>
> W dniu 2015-03-18 o 01:05, Jake Farrell pisze:
>
>  +1
>>
>> Thoughts on cutting the 0.9.3 release so we do not have a long delay
>> between releases again and put this in for a 0.9.4 or we could stop the
>> point releases and go with 1.0 with full c++11, cmake, py3.0, etc.
>>
>> -Jake
>>
>> On Tue, Mar 17, 2015 at 7:41 PM, Roger Meier <ro...@bufferoverflow.ch>
>> wrote:
>>
>>  Hi all
>>>
>>> We had lot of discussions and issues about C++11 support and I think it
>>> is
>>> time to move the master branch development towards C++11 and set this as
>>> a
>>> dependency starting wit 0.9.3 of Apache Thrift.
>>>
>>> reasons to move forward:
>>> - no feature show stopper due to C++98 dependency
>>> - no backport of patches, it's a nightmare
>>> - master branch should focus towards future
>>> - evolution of compiler and cpp library
>>> - many developers already use C++11 capable compilers
>>>     - http://cpprocks.com/c11-compiler-support-shootout-
>>> visual-studio-gcc-clang-intel/
>>>     - gcc support -std=c++11 since version 4.7
>>>       see https://gcc.gnu.org/projects/cxx0x.html
>>>     - clang 3.5
>>> - all recent Linux distros support C++11
>>>     - centos 7 uses gcc 4.8.2
>>>     - Debian Jessie uses gcc 4.9.2
>>>     - Debian Wheezy uses gcc 4.7.2
>>>     - RHEL-7.0 uses gcc 4.8.2
>>>     - Suse 13.2 uses gcc 4.8.3
>>>     - Suse 13.1 uses gcc 4.8.1
>>>     - Ubuntu utopic 14.10 uses gcc 4.9.1
>>>     - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
>>>     - Ubuntu saucy 13.10 uses gcc 4.8.1
>>> - it is 2015 and C++11 is ready to use in the wild
>>> - C++11 compilers can easy be installed on older distros
>>> - no fork of a C++11 library
>>>
>>> solution for older environments:
>>> - C++98 can be handled on the 0.9.x branch if required
>>> - install a more recent compiler
>>>     - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/
>>>
>>> What do you think?
>>>
>>> all the best!
>>> -roger
>>>
>>>
>>> On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>>>
>>>       [ https://issues.apache.org/jira/browse/THRIFT-3043?page=
>>>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>>>> tabpanel&focusedCommentId=14364464#comment-14364464 ]
>>>>
>>>> Randy Abernethy commented on THRIFT-3043:
>>>> -----------------------------------------
>>>>
>>>> Hey Jens: looks good, many thanks!
>>>>
>>>> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib ASAP.
>>>> The only thing I am suggesting is that we keep the IDL compiler source
>>>> Cpp98 until Cpp11 is ubiquitous. My hope is that we can fork the Cpp98
>>>> lib
>>>> to create a Cpp11 lib and fork the Cpp98 generator to create a Cpp11
>>>> generator (which would be written in Cpp98). This way folks can use
>>>> Cpp11
>>>> or Cpp98 in their user code. I think this was the plan arrived at on
>>>> some
>>>> other threads. The THeader pull from DJW (https://github.com/apache/
>>>> thrift/pull/357.patch) is all lib so should apply fine to a Cpp11 lib
>>>> fork.
>>>>
>>>> The IDL compiler is pretty simple and has no bearing on user code. The
>>>> path of least resistance there seems to be to keep the source for the
>>>> IDL
>>>> compiler in Cpp98. That way it will compile under Cpp11 or Cpp98. Win
>>>> win.
>>>> Rewriting the compiler in Cpp11 (or Java or Go) does not seem like a
>>>> good
>>>> use of our time and we have precious little of it (as you pointed out on
>>>> the THeader issue). Most of the Cpp98 breaking patches are due to
>>>> unsupported variable initialization and the like, seems silly to cut
>>>> off a
>>>> large chunk of compatibility we already have in place for trivial stuff
>>>> like that.
>>>>
>>>>   go compiler generator uses non C++98 code
>>>>
>>>>> -----------------------------------------
>>>>>
>>>>>                  Key: THRIFT-3043
>>>>>                  URL: https://issues.apache.org/
>>>>> jira/browse/THRIFT-3043
>>>>>              Project: Thrift
>>>>>           Issue Type: Bug
>>>>>           Components: Go - Compiler
>>>>>     Affects Versions: 0.9.3
>>>>>             Reporter: Randy Abernethy
>>>>>             Assignee: Jens Geyer
>>>>>             Priority: Blocker
>>>>>              Fix For: 0.9.3
>>>>>
>>>>>          Attachments: THRIFT-3043-go-compiler-
>>>>> generator-uses-non-C-98-code.patch
>>>>>
>>>>>
>>>>> go compiler generator uses non C++98 code causing builds to fail in
>>>>> Centos 6 and other environments.
>>>>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98
>>>>> ���commonInitialisms��� must be initialized by constructor, not by
>>>>> ���{...}���
>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>>> ==> default: src/generate/t_go_generator.cc:415: warning: extended
>>>>> initializer lists only available with -std=c++0x or -std=gnu++0x
>>>>> ==> default: src/generate/t_go_generator.cc:415: error: no matching
>>>>> function for call to ���std::set<std::basic_string<char,
>>>>> std::char_traits<char>, s
>>>>> td::allocator<char> >, std::less<std::basic_string<char,
>>>>> std::char_traits<char>, std::allocator<char> > >,
>>>>> std::allocator<std::basic_string<char,
>>>>> std:
>>>>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed
>>>>> initializer list>)���
>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>> include/c++/4.4.7/bits/stl_set.h:188: note: candidates are:
>>>>> std::set<_Key, _Compare, _
>>>>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =
>>>>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
>>>>> _Compare = s
>>>>> td::less<std::basic_string<char, std::char_traits<char>,
>>>>> std::allocator<char> > >, _Alloc = std::allocator<std::basic_
>>>>> string<char,
>>>>> std::char_traits<ch
>>>>> ar>, std::allocator<char> > >]
>>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>>> include/c++/4.4.7/bits/stl_set.h:136: note:
>>>>>   std::set<_Key, _Compare, _
>>>>> Alloc>::set() [with _Key = std::basic_string<char,
>>>>> std::char_traits<char>, std::allocator<char> >, _Compare =
>>>>> std::less<std::basic_string<char, std::c
>>>>> har_traits<char>, std::allocator<char> > >, _Alloc =
>>>>> std::allocator<std::basic_string<char, std::char_traits<char>,
>>>>> std::allocator<char> > >]
>>>>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>>>>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>>>>> ==> default: make[2]: *** [all] Error 2
>>>>>
>>>>>
>>>>
>>>> --
>>>> This message was sent by Atlassian JIRA
>>>> (v6.3.4#6332)
>>>>
>>>>
>>>>
>

Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Posted by Konrad Grochowski <hc...@minions.org.pl>.
+1

As you may remember I was working on C++11/cpp_v2 gen/lib - 
https://github.com/hcorg/thrift/tree/cpp_v2 yet I had to put it on a 
hiatus some time ago... Maybe next month I'll find some time to finish 
it (I think I was pretty close to 0.0.1 version of complete generator ;) )

-KG

W dniu 2015-03-18 o 01:05, Jake Farrell pisze:
> +1
>
> Thoughts on cutting the 0.9.3 release so we do not have a long delay
> between releases again and put this in for a 0.9.4 or we could stop the
> point releases and go with 1.0 with full c++11, cmake, py3.0, etc.
>
> -Jake
>
> On Tue, Mar 17, 2015 at 7:41 PM, Roger Meier <ro...@bufferoverflow.ch>
> wrote:
>
>> Hi all
>>
>> We had lot of discussions and issues about C++11 support and I think it is
>> time to move the master branch development towards C++11 and set this as a
>> dependency starting wit 0.9.3 of Apache Thrift.
>>
>> reasons to move forward:
>> - no feature show stopper due to C++98 dependency
>> - no backport of patches, it's a nightmare
>> - master branch should focus towards future
>> - evolution of compiler and cpp library
>> - many developers already use C++11 capable compilers
>>     - http://cpprocks.com/c11-compiler-support-shootout-
>> visual-studio-gcc-clang-intel/
>>     - gcc support -std=c++11 since version 4.7
>>       see https://gcc.gnu.org/projects/cxx0x.html
>>     - clang 3.5
>> - all recent Linux distros support C++11
>>     - centos 7 uses gcc 4.8.2
>>     - Debian Jessie uses gcc 4.9.2
>>     - Debian Wheezy uses gcc 4.7.2
>>     - RHEL-7.0 uses gcc 4.8.2
>>     - Suse 13.2 uses gcc 4.8.3
>>     - Suse 13.1 uses gcc 4.8.1
>>     - Ubuntu utopic 14.10 uses gcc 4.9.1
>>     - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
>>     - Ubuntu saucy 13.10 uses gcc 4.8.1
>> - it is 2015 and C++11 is ready to use in the wild
>> - C++11 compilers can easy be installed on older distros
>> - no fork of a C++11 library
>>
>> solution for older environments:
>> - C++98 can be handled on the 0.9.x branch if required
>> - install a more recent compiler
>>     - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/
>>
>> What do you think?
>>
>> all the best!
>> -roger
>>
>>
>> On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>>
>>>      [ https://issues.apache.org/jira/browse/THRIFT-3043?page=
>>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>>> tabpanel&focusedCommentId=14364464#comment-14364464 ]
>>>
>>> Randy Abernethy commented on THRIFT-3043:
>>> -----------------------------------------
>>>
>>> Hey Jens: looks good, many thanks!
>>>
>>> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib ASAP.
>>> The only thing I am suggesting is that we keep the IDL compiler source
>>> Cpp98 until Cpp11 is ubiquitous. My hope is that we can fork the Cpp98 lib
>>> to create a Cpp11 lib and fork the Cpp98 generator to create a Cpp11
>>> generator (which would be written in Cpp98). This way folks can use Cpp11
>>> or Cpp98 in their user code. I think this was the plan arrived at on some
>>> other threads. The THeader pull from DJW (https://github.com/apache/
>>> thrift/pull/357.patch) is all lib so should apply fine to a Cpp11 lib
>>> fork.
>>>
>>> The IDL compiler is pretty simple and has no bearing on user code. The
>>> path of least resistance there seems to be to keep the source for the IDL
>>> compiler in Cpp98. That way it will compile under Cpp11 or Cpp98. Win win.
>>> Rewriting the compiler in Cpp11 (or Java or Go) does not seem like a good
>>> use of our time and we have precious little of it (as you pointed out on
>>> the THeader issue). Most of the Cpp98 breaking patches are due to
>>> unsupported variable initialization and the like, seems silly to cut off a
>>> large chunk of compatibility we already have in place for trivial stuff
>>> like that.
>>>
>>>   go compiler generator uses non C++98 code
>>>> -----------------------------------------
>>>>
>>>>                  Key: THRIFT-3043
>>>>                  URL: https://issues.apache.org/jira/browse/THRIFT-3043
>>>>              Project: Thrift
>>>>           Issue Type: Bug
>>>>           Components: Go - Compiler
>>>>     Affects Versions: 0.9.3
>>>>             Reporter: Randy Abernethy
>>>>             Assignee: Jens Geyer
>>>>             Priority: Blocker
>>>>              Fix For: 0.9.3
>>>>
>>>>          Attachments: THRIFT-3043-go-compiler-
>>>> generator-uses-non-C-98-code.patch
>>>>
>>>>
>>>> go compiler generator uses non C++98 code causing builds to fail in
>>>> Centos 6 and other environments.
>>>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98
>>>> ���commonInitialisms��� must be initialized by constructor, not by
>>>> ���{...}���
>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>>> brace-enclosed initializer list requires #include <initializer_list>
>>>> ==> default: src/generate/t_go_generator.cc:415: warning: extended
>>>> initializer lists only available with -std=c++0x or -std=gnu++0x
>>>> ==> default: src/generate/t_go_generator.cc:415: error: no matching
>>>> function for call to ���std::set<std::basic_string<char,
>>>> std::char_traits<char>, s
>>>> td::allocator<char> >, std::less<std::basic_string<char,
>>>> std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char,
>>>> std:
>>>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed
>>>> initializer list>)���
>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>> include/c++/4.4.7/bits/stl_set.h:188: note: candidates are:
>>>> std::set<_Key, _Compare, _
>>>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =
>>>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
>>>> _Compare = s
>>>> td::less<std::basic_string<char, std::char_traits<char>,
>>>> std::allocator<char> > >, _Alloc = std::allocator<std::basic_string<char,
>>>> std::char_traits<ch
>>>> ar>, std::allocator<char> > >]
>>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>>> include/c++/4.4.7/bits/stl_set.h:136: note:
>>>>   std::set<_Key, _Compare, _
>>>> Alloc>::set() [with _Key = std::basic_string<char,
>>>> std::char_traits<char>, std::allocator<char> >, _Compare =
>>>> std::less<std::basic_string<char, std::c
>>>> har_traits<char>, std::allocator<char> > >, _Alloc =
>>>> std::allocator<std::basic_string<char, std::char_traits<char>,
>>>> std::allocator<char> > >]
>>>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>>>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>>>> ==> default: make[2]: *** [all] Error 2
>>>>
>>>
>>>
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.3.4#6332)
>>>
>>>


Re: [DISCUSS] let's switch to C++11 (was Re: [jira] [Commented] (THRIFT-3043) go compiler generator uses non C++98 code)

Posted by Jake Farrell <jf...@apache.org>.
+1

Thoughts on cutting the 0.9.3 release so we do not have a long delay
between releases again and put this in for a 0.9.4 or we could stop the
point releases and go with 1.0 with full c++11, cmake, py3.0, etc.

-Jake

On Tue, Mar 17, 2015 at 7:41 PM, Roger Meier <ro...@bufferoverflow.ch>
wrote:

>
> Hi all
>
> We had lot of discussions and issues about C++11 support and I think it is
> time to move the master branch development towards C++11 and set this as a
> dependency starting wit 0.9.3 of Apache Thrift.
>
> reasons to move forward:
> - no feature show stopper due to C++98 dependency
> - no backport of patches, it's a nightmare
> - master branch should focus towards future
> - evolution of compiler and cpp library
> - many developers already use C++11 capable compilers
>    - http://cpprocks.com/c11-compiler-support-shootout-
> visual-studio-gcc-clang-intel/
>    - gcc support -std=c++11 since version 4.7
>      see https://gcc.gnu.org/projects/cxx0x.html
>    - clang 3.5
> - all recent Linux distros support C++11
>    - centos 7 uses gcc 4.8.2
>    - Debian Jessie uses gcc 4.9.2
>    - Debian Wheezy uses gcc 4.7.2
>    - RHEL-7.0 uses gcc 4.8.2
>    - Suse 13.2 uses gcc 4.8.3
>    - Suse 13.1 uses gcc 4.8.1
>    - Ubuntu utopic 14.10 uses gcc 4.9.1
>    - Ubuntu trusty 14.04 LTS uses gcc 4.8.2
>    - Ubuntu saucy 13.10 uses gcc 4.8.1
> - it is 2015 and C++11 is ready to use in the wild
> - C++11 compilers can easy be installed on older distros
> - no fork of a C++11 library
>
> solution for older environments:
> - C++98 can be handled on the 0.9.x branch if required
> - install a more recent compiler
>    - http://www.necessaryandsufficient.net/2014/07/c11-on-centos/
>
> What do you think?
>
> all the best!
> -roger
>
>
> On 17.03.2015 03:49, Randy Abernethy (JIRA) wrote:
>
>>
>>     [ https://issues.apache.org/jira/browse/THRIFT-3043?page=
>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>> tabpanel&focusedCommentId=14364464#comment-14364464 ]
>>
>> Randy Abernethy commented on THRIFT-3043:
>> -----------------------------------------
>>
>> Hey Jens: looks good, many thanks!
>>
>> Hey Roger: I agree,  we definitely need a Cpp11 generator and lib ASAP.
>> The only thing I am suggesting is that we keep the IDL compiler source
>> Cpp98 until Cpp11 is ubiquitous. My hope is that we can fork the Cpp98 lib
>> to create a Cpp11 lib and fork the Cpp98 generator to create a Cpp11
>> generator (which would be written in Cpp98). This way folks can use Cpp11
>> or Cpp98 in their user code. I think this was the plan arrived at on some
>> other threads. The THeader pull from DJW (https://github.com/apache/
>> thrift/pull/357.patch) is all lib so should apply fine to a Cpp11 lib
>> fork.
>>
>> The IDL compiler is pretty simple and has no bearing on user code. The
>> path of least resistance there seems to be to keep the source for the IDL
>> compiler in Cpp98. That way it will compile under Cpp11 or Cpp98. Win win.
>> Rewriting the compiler in Cpp11 (or Java or Go) does not seem like a good
>> use of our time and we have precious little of it (as you pointed out on
>> the THeader issue). Most of the Cpp98 breaking patches are due to
>> unsupported variable initialization and the like, seems silly to cut off a
>> large chunk of compatibility we already have in place for trivial stuff
>> like that.
>>
>>  go compiler generator uses non C++98 code
>>> -----------------------------------------
>>>
>>>                 Key: THRIFT-3043
>>>                 URL: https://issues.apache.org/jira/browse/THRIFT-3043
>>>             Project: Thrift
>>>          Issue Type: Bug
>>>          Components: Go - Compiler
>>>    Affects Versions: 0.9.3
>>>            Reporter: Randy Abernethy
>>>            Assignee: Jens Geyer
>>>            Priority: Blocker
>>>             Fix For: 0.9.3
>>>
>>>         Attachments: THRIFT-3043-go-compiler-
>>> generator-uses-non-C-98-code.patch
>>>
>>>
>>> go compiler generator uses non C++98 code causing builds to fail in
>>> Centos 6 and other environments.
>>> ==> default: src/generate/t_go_generator.cc:415: error: in C++98
>>> ���commonInitialisms��� must be initialized by constructor, not by
>>> ���{...}���
>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>> brace-enclosed initializer list requires #include <initializer_list>
>>> ==> default: src/generate/t_go_generator.cc:415: error: deducing from
>>> brace-enclosed initializer list requires #include <initializer_list>
>>> ==> default: src/generate/t_go_generator.cc:415: warning: extended
>>> initializer lists only available with -std=c++0x or -std=gnu++0x
>>> ==> default: src/generate/t_go_generator.cc:415: error: no matching
>>> function for call to ���std::set<std::basic_string<char,
>>> std::char_traits<char>, s
>>> td::allocator<char> >, std::less<std::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> > >, std::allocator<std::basic_string<char,
>>> std:
>>> :char_traits<char>, std::allocator<char> > > >::set(<brace-enclosed
>>> initializer list>)���
>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>> include/c++/4.4.7/bits/stl_set.h:188: note: candidates are:
>>> std::set<_Key, _Compare, _
>>> Alloc>::set(const std::set<_Key, _Compare, _Alloc>&) [with _Key =
>>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
>>> _Compare = s
>>> td::less<std::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > >, _Alloc = std::allocator<std::basic_string<char,
>>> std::char_traits<ch
>>> ar>, std::allocator<char> > >]
>>> ==> default: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../
>>> include/c++/4.4.7/bits/stl_set.h:136: note:
>>>  std::set<_Key, _Compare, _
>>> Alloc>::set() [with _Key = std::basic_string<char,
>>> std::char_traits<char>, std::allocator<char> >, _Compare =
>>> std::less<std::basic_string<char, std::c
>>> har_traits<char>, std::allocator<char> > >, _Alloc =
>>> std::allocator<std::basic_string<char, std::char_traits<char>,
>>> std::allocator<char> > >]
>>> ==> default: make[3]: *** [thrift-t_go_generator.o] Error 1
>>> ==> default: make[3]: Leaving directory `/thrift/compiler/cpp'
>>> ==> default: make[2]: *** [all] Error 2
>>>
>>
>>
>>
>> --
>> This message was sent by Atlassian JIRA
>> (v6.3.4#6332)
>>
>>
>