facebookarchive / thpp

TH++, C++ interface to the torch7 TH library
Other
235 stars 110 forks source link

error when build thpp,wuwuwu,I‘m so sad! #44

Open zoe218 opened 7 years ago

zoe218 commented 7 years ago

[ 10%] Building CXX object CMakeFiles/thpp.dir/Storage.cpp.o In file included from /tmp/fblualib-build.uR4GKO/thpp/thpp/build/thpp/if/gen-cpp2/Tensor_types.h:13:0, from /tmp/fblualib-build.uR4GKO/thpp/thpp/../thpp/Storage.h:22, from /tmp/fblualib-build.uR4GKO/thpp/thpp/Storage.cpp:11: /usr/local/include/folly/io/Cursor.h: In member function ‘size_t folly::io::detail::CursorBase<Derived, BufType>::cloneAtMost(std::unique_ptr&, size_t)’: /usr/local/include/folly/io/Cursor.h:443:13: error: ‘make_unique’ is not a member of ‘std’ buf = std::make_unique(); ^ /usr/local/include/folly/io/Cursor.h:443:13: note: suggested alternative: In file included from /usr/local/include/thrift/lib/cpp/Thrift.h:23:0, from /usr/local/include/thrift/lib/cpp2/Thrift.h:20, from /tmp/fblualib-build.uR4GKO/thpp/thpp/build/thpp/if/gen-cpp2/Tensor_types.h:9, from /tmp/fblualib-build.uR4GKO/thpp/thpp/../thpp/Storage.h:22, from /tmp/fblualib-build.uR4GKO/thpp/thpp/Storage.cpp:11: /usr/local/include/folly/Memory.h:63:1: note: ‘folly::make_unique’ make_unique(Args&&...) = delete; ^ In file included from /tmp/fblualib-build.uR4GKO/thpp/thpp/build/thpp/if/gen-cpp2/Tensor_types.h:13:0, from /tmp/fblualib-build.uR4GKO/thpp/thpp/../thpp/Storage.h:22, from /tmp/fblualib-build.uR4GKO/thpp/thpp/Storage.cpp:11: /usr/local/include/folly/io/Cursor.h:443:42: error: expected primary-expression before ‘>’ token buf = std::make_unique(); ^ /usr/local/include/folly/io/Cursor.h:443:44: error: expected primary-expression before ‘)’ token buf = std::make_unique(); ^ CMakeFiles/thpp.dir/build.make:84: recipe for target 'CMakeFiles/thpp.dir/Storage.cpp.o' failed make[2]: [CMakeFiles/thpp.dir/Storage.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/thpp.dir/all' failed make[1]: [CMakeFiles/thpp.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

Endofunctor commented 7 years ago

Your compiler is complaining about a modern feature. Is your compiler up to date? More information about your build environment would be useful.

zoe218 commented 7 years ago

I don't know what you exactly mean, I copy the more info, can you help me? @Endofunctor

Endofunctor commented 7 years ago

I see your compiler is GNU GCC 5.4.0. In your local repo can you edit this file: https://github.com/facebook/thpp/blob/master/thpp/CMakeLists.txt#L45 from SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") to SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14") and remove the build folder before running the build script again.

Pull request https://github.com/facebook/thpp/pull/32 is exactly this change.

zoe218 commented 7 years ago

I solved the error with your help, but I meet a new error: [ 20%] Building CXX object CMakeFiles/thpp.dir/thpp/if/gen-cpp2/Tensortypes.cpp.o In file included from /usr/local/include/thrift/lib/cpp2/GeneratedCodeHelper.h:20:0, from /home/zoe/fblualib/thpp/thpp/build/thpp/if/gen-cpp2/Tensortypes.tcc:15, from /home/zoe/fblualib/thpp/thpp/build/thpp/if/gen-cpp2/Tensor_types.cpp:9: /usr/local/include/thrift/lib/cpp2/FrozenTApplicationException.h:19:43: fatal error: thrift/lib/cpp2/frozen/Frozen.h: No such file or directory compilation terminated. CMakeFiles/thpp.dir/build.make:228: recipe for target 'CMakeFiles/thpp.dir/thpp/if/gen-cpp2/Tensor_types.cpp.o' failed make[2]: [CMakeFiles/thpp.dir/thpp/if/gen-cpp2/Tensor_types.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/thpp.dir/all' failed make[1]: [CMakeFiles/thpp.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

I had installed the thrift... I'm so sorry to bother you, but I really have no idea..thank you so much~@Endofunctor

se4u commented 7 years ago

I am encountering error at this same step, where after changing the CXXFLAG to gnu++14 the build process errors out at the following command. It seems to be an error caused due to bad interaction between existing TH headers and the new THpp but I could be wrong. I also tried THPP_NOFB=1 ./build.sh and that also gives the same error.

# /usr/bin/c++   -Dthpp_EXPORTS -I/tmp/fblualib-build.XXXXXX/thpp/thpp/.. -I/tmp/fblualib-build.XXXXXX/thpp/thpp/build -I/root/torch/install/include -I/root/torch/install/include/TH -I/usr/local/includ\
e -I/tmp/fblualib-build.XXXXXX/thpp/thpp/googletest-release-1.7.0/include  -std=gnu++14 -fPIC   -o CMakeFiles/thpp.dir/TensorSerialization.cpp.o -c /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerializat\
ion.cpp
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:10,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<float> >::_max(THFloatTensor*, THLongTensor*, THFloatTen\
sor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:191:50: error: too few arguments to function 'void THFloatTensor_max(THFloatTensor*, THLongTensor*, THFloatTensor*, int, int)'
     return THTensor_(max)(values, indices, t, dim);
                                                  ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:73:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(max)(THTensor *values_, THLongTensor *indices_, THTensor *t, int dimension, i
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:10,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:191:50: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(max)(values, indices, t, dim);
                                                  ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<float> >::_min(THFloatTensor*, THLongTensor*, THFloatTen\
sor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:195:50: error: too few arguments to function 'void THFloatTensor_min(THFloatTensor*, THLongTensor*, THFloatTensor*, int, int)'
     return THTensor_(min)(values, indices, t, dim);
                                                  ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:74:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(min)(THTensor *values_, THLongTensor *indices_, THTensor *t, int dimension, i
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:10,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:195:50: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(min)(values, indices, t, dim);
                                                  ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<float> >::_sum(THFloatTensor*, THFloatTensor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:198:36: error: too few arguments to function 'void THFloatTensor_sum(THFloatTensor*, THFloatTensor*, int, int)'
     return THTensor_(sum)(r, t, dim);
                                    ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:78:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(sum)(THTensor *r_, THTensor *t, int dimension, int keepdim);
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:10,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:198:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(sum)(r, t, dim);
                                    ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<float> >::_prod(THFloatTensor*, THFloatTensor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:201:37: error: too few arguments to function 'void THFloatTensor_prod(THFloatTensor*, THFloatTensor*, int, int)'
     return THTensor_(prod)(r, t, dim);
                                     ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:79:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(prod)(THTensor *r_, THTensor *t, int dimension, int keepdim);
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:10,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:201:37: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(prod)(r, t, dim);
                                     ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:11,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<double> >::_max(THDoubleTensor*, THLongTensor*, THDouble\
Tensor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:191:50: error: too few arguments to function 'void THDoubleTensor_max(THDoubleTensor*, THLongTensor*, THDoubleTensor*, int, int)'
     return THTensor_(max)(values, indices, t, dim);
                                                  ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:73:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(max)(THTensor *values_, THLongTensor *indices_, THTensor *t, int dimension, i
/root/torch/install/include/TH/generic/THTensorMath.h:73:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(max)(THTensor *values_, THLongTensor *indices_, THTensor *t, int dimension, i
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:11,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:191:50: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(max)(values, indices, t, dim);
                                                  ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<double> >::_min(THDoubleTensor*, THLongTensor*, THDouble\
Tensor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:195:50: error: too few arguments to function 'void THDoubleTensor_min(THDoubleTensor*, THLongTensor*, THDoubleTensor*, int, int)'
     return THTensor_(min)(values, indices, t, dim);
                                                  ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:74:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(min)(THTensor *values_, THLongTensor *indices_, THTensor *t, int dimension, i
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:11,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:195:50: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(min)(values, indices, t, dim);
                                                  ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<double> >::_sum(THDoubleTensor*, THDoubleTensor*, int)':
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:198:36: error: too few arguments to function 'void THDoubleTensor_sum(THDoubleTensor*, THDoubleTensor*, int, int)'
     return THTensor_(sum)(r, t, dim);
                                    ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:78:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(sum)(THTensor *r_, THTensor *t, int dimension, int keepdim);
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:11,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:198:36: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(sum)(r, t, dim);
                                    ^
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h: In static member function 'static void thpp::detail::TensorOps<thpp::Tensor<double> >::_prod(THDoubleTensor*, THDoubleTensor*, int)'\
:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:201:37: error: too few arguments to function 'void THDoubleTensor_prod(THDoubleTensor*, THDoubleTensor*, int, int)'
     return THTensor_(prod)(r, t, dim);
                                     ^
In file included from /root/torch/install/include/TH/THStorage.h:4:0,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Storage.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Storage.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:14,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/root/torch/install/include/TH/THTensor.h:8:39: note: declared here
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                                       ^
/root/torch/install/include/TH/THGeneral.h:115:37: note: in definition of macro 'TH_CONCAT_4_EXPAND'
 #define TH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w
                                     ^
/root/torch/install/include/TH/THTensor.h:8:27: note: in expansion of macro 'TH_CONCAT_4'
 #define THTensor_(NAME)   TH_CONCAT_4(TH,Real,Tensor_,NAME)
                           ^
/root/torch/install/include/TH/generic/THTensorMath.h:79:13: note: in expansion of macro 'THTensor_'
 TH_API void THTensor_(prod)(THTensor *r_, THTensor *t, int dimension, int keepdim);
             ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateFloatTypes.h:11,
                 from /root/torch/install/include/TH/THGenerateAllTypes.h:10,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/Tensor.h:30,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/Tensor.h:16,
                 from /tmp/fblualib-build.XXXXXX/thpp/thpp/TensorSerialization.cpp:11:
/tmp/fblualib-build.XXXXXX/thpp/thpp/../thpp/detail/TensorGeneric.h:201:37: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return THTensor_(prod)(r, t, dim);
                                     ^
In file included from thpp/detail/TensorGeneric.h:1:0,
                 from /root/torch/install/include/TH/THGenerateIntTypes.h:10,
...
...
se4u commented 7 years ago

Figured out the problems, basically use pull request number 32 and 42 are needed to compile thpp.

I also used older versions of folly and other libraries that were the latest versions that were compatible with gnu++11 but I think that these were not really necessary, still just in case I am posting the recipe here.

 7 rm -rf folly
  8 git clone -b v2017.05.15.00 --depth 1 https://github.com/facebook/folly
  9 cd folly/folly
 10 autoreconf -ivf
 11 ./configure
 12 make -j 8
 13 make check
 14 sudo make install
 15 sudo ldconfig # reload the lib paths after freshly installed folly. fbthrift needs it.
 16
 17 rm -rf wangle
 18 git clone -b v2017.05.15.00 --depth 1 https://github.com/facebook/wangle
 19 cd wangle/wangle
 20 cmake .
 21 make -j 8
 22 sudo make install
 23
 24
 25 rm -rf fbthrift
 26 git clone -b v2017.05.15.00 --depth 1 https://github.com/facebook/fbthrift
 27 cd fbthrift/thrift/
 28 # ./build/deps_ubuntu_14.04.sh
 29 autoreconf -ivf
 30 ./configure
 31 pushd lib/cpp2/fatal/internal
 32 ln -s folly_dynamic-inl-pre.h folly_dynamic-inl.h
 33 popd
 34 make -j 8
 35 sudo make install
 36
 37
 38 rm -rf thpp
 39 git clone https://github.com/facebook/thpp
 40 cd thpp/thpp
 41 git checkout 899817dd54592
 42 rm -rf build
 43 ./build.sh
 44
 45 git clone https://github.com/facebook/fblualib
 46 cd $dir/fblualib/fblualib/python
 47 luarocks make rockspec/fbpython-0.1-1.rockspec
zoe218 commented 7 years ago

You had install all of these successfully? I want to run crnn project, but I cant install thpp... @se4u

se4u commented 7 years ago

@zoe218 Hi, yes I installed all of these successfully. Basically what's going on is that the api in these open source libraries has changed subtly with C++14. For example, you said that you got the following error:

the source in the file /detail/TensorGeneric.h error: return-statement with a value, in function returning 'void' [-fpermissive] return THTensor_(prod)(r, t, dim);

This error is probably because of some error in the macro, or because the THTensor_prod function was meant to be doing inplace operation and returning void and it was changed to return the handle of the new tensor. Since all these libraries are not compatible at this point of time, and the repo maintainers have not yet merged the pull requests for fixing this, you could just merge these pull requests directly in your own fork yourself and also you could use older versions of the libraries that are known to work.

mengya22 commented 7 years ago

我也是想运行crnn的时候,安装thpp出错,请问你解决了么 @zoe218

zoe218 commented 7 years ago

@mengya22 没有啊,你是什么错?

mengya22 commented 7 years ago

@zoe218 和你差不多,是因为torch版本和thpp不兼容么?

askerlee commented 7 years ago

@zoe218 I tried @se4u 's recipe but still got errors on thpp compilation. Later I figured out the solution: use the patched version by CodeVerySlow: https://github.com/codeVerySlow/thpp/tree/patch-1

You can clone the code by git clone -b patch-1 https://github.com/codeVerySlow/thpp/

After that you need to change CMakeLists.txt:45: "... -std=gnu++11" to "... -std=gnu++14" Then you can run 'build.sh'.

If the compiler complains about undefined 'FOLLY_MAYBE_UNUSED', you need to add an include file in the beginning of 'build/thpp/if/gen-cpp2/Tensor_types.h': #include <folly/CppAttributes.h>

zoe218 commented 7 years ago

你现在安装好了么 @mengya22

archenroot commented 6 years ago

I did this change via pull requests 10 months ago, but is not accepted... https://github.com/facebook/thpp/pull/32

LiangHao92 commented 6 years ago

@zoe218 你们的文件夹有thpp/cmake里面FindTorch.cmake这个文件么,我cmake 一直报错,说没有这个文件无法find torch