jubatus / jubatus_core

Jubatus algorithm component
GNU Lesser General Public License v2.1
20 stars 29 forks source link

compile error in gcc-6.0 and above #368

Closed kazuki closed 7 years ago

kazuki commented 7 years ago

build ok. but checkall is failed. I tested gcc-6.3.0 and gcc-7.1.0.

$ ./waf build
(many many warning... but no error)
$ ./waf --checkall
In file included from ../jubatus/util/lang/ref_test.cpp:33:0:                                                                                                                                                                                                                     [434/9990]
../.unittest-gtest/gtest-1.7.0/fused-src/gtest/gtest.h:1664:14: error: ‘tuple’ is already declared in this scope                     
 using ::std::tuple;                                                                                               
              ^~~~~                                                                                                                                                                                                                         
../.unittest-gtest/gtest-1.7.0/fused-src/gtest/gtest.h:1665:14: error: ‘tuple_element’ is already declared in this scope                        
 using ::std::tuple_element;                                                                                                                               
              ^~~~~~~~~~~~~                                                                                                                                                                                                      
../.unittest-gtest/gtest-1.7.0/fused-src/gtest/gtest.h:1666:14: error: ‘tuple_size’ is already declared in this scope                                                                 
 using ::std::tuple_size;                                                                                                            
              ^~~~~~~~~~                                                                                                                        

In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tr1/functional:39:0,
                 from ../jubatus/util/lang/ref.h:37,                                                                                         
                 from ../jubatus/util/lang/mem_fn.h:35,                                                                                                                               
                 from ../jubatus/util/lang/bind.h:35,                                                                                
                 from ../jubatus/util/lang/bind_test.cpp:34:                                      
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tr1/tuple:130:11: error: redefinition of ‘class std::tuple< <template-parameter-1-1> >’
     class tuple : public _Tuple_impl<0, _Elements...>                                                                                          
           ^~~~~
In file included from ../.unittest-gtest/gtest-1.7.0/fused-src/gtest/gtest.h:1655:0,
                 from ../jubatus/util/lang/bind_test.cpp:32:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tuple:554:11: error: previous definition of ‘class std::tuple< <template-parameter-1-1> >’
     class tuple : public _Tuple_impl<0, _Elements...>
           ^~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tr1/functional:39:0,
                 from ../jubatus/util/lang/ref.h:37,
                 from ../jubatus/util/lang/mem_fn.h:35,
                 from ../jubatus/util/lang/bind.h:35,
                 from ../jubatus/util/lang/bind_test.cpp:34:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tr1/tuple:164:20: error: redefinition of ‘class std::tuple<>’
   template<> class tuple<> { };
                    ^~~~~~~
In file included from ../.unittest-gtest/gtest-1.7.0/fused-src/gtest/gtest.h:1655:0,
                 from ../jubatus/util/lang/bind_test.cpp:32:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6/tuple:857:11: error: previous definition of ‘class std::tuple<>’
     class tuple<>
           ^~~~~~~
(repeats same errors)
kmaehashi commented 7 years ago

Fixed via #369