【AnyQ】遇到的问题整理(一)

2023-11-02

【一】编译出错

【问题描述】

In file included from /home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel.h:291:0,

from /home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/operators/channel_create_op.cc:15:

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h:69:32: error: ‘recursive_mutex’ is not a member of ‘std’

void Wait(std::unique_lockstd::recursive_mutex &lock) {

^~~

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h:69:32: error: ‘recursive_mutex’ is not a member of ‘std’

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h:69:52: error: template argument 1 is invalid

void Wait(std::unique_lockstd::recursive_mutex &lock) {

^

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h:106:8: error: ‘recursive_mutex’ in namespace ‘std’ does not name a type

std::recursive_mutex mu_;

^~~~~~~~~~~~~~~

In file included from /home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel.h:291:0,

from /home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/operators/channel_create_op.cc:15:

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h: In member function ‘virtual bool paddle::framework::ChannelImpl::CanSend()’:

/home/jockeyyan/git-repository/QuestionAnsweringBot/AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h:124:19: error: ‘recursive_mutex’ is not a member of ‘std’

std::lock_guardstd::recursive_mutex lock{mu_};

【解决方案】

在 AnyQ/build/third_party/paddle/src/extern_paddle/paddle/fluid/framework/channel_impl.h 文件里加了一行头文件,编译通过了。

#include <mutex>


【二】编译出错

【问题描述】

[ 17%] Built target proto_build

[ 21%] Built target extern_eigen

[ 25%] Built target extern_gtest

[ 30%] Built target extern_gflags

[ 35%] Built target extern_openssl

[ 39%] Built target extern_glog

[ 43%] Built target extern_leveldb

[ 47%] Built target extern_brpc

[ 52%] Built target extern_curl

[ 53%] Performing build step for 'extern_paddle'

[ 1%] Built target extern_eigen3

[ 1%] Built target extern_gflags

[ 2%] Built target extern_threadpool

[ 5%] Built target extern_boost

[ 3%] Built target extern_snappy

[ 3%] Built target extern_zlib

[ 3%] Built target extern_mklml

[ 4%] Built target swig

[ 6%] Built target extern_warpctc

[ 7%] Built target extern_lib_any

[ 7%] Built target framework_py_proto_init

[ 7%] Built target profiler_py_proto_init

paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/build.make:60: *** target pattern contains no '%'. Stop.

CMakeFiles/Makefile2:2402: recipe for target 'paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all' failed

make[4]: *** [paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all] Error 2

make[4]: *** Waiting for unfinished jobs....

paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/build.make:60: *** target pattern contains no '%'. Stop.

CMakeFiles/Makefile2:1751: recipe for target 'paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all' failed

make[4]: *** [paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2

[ 8%] Built target extern_glog

[ 8%] Built target extern_snappystream

[ 9%] Built target extern_protobuf

Makefile:105: recipe for target 'all' failed

make[3]: *** [all] Error 2

CMakeFiles/extern_paddle.dir/build.make:111: recipe for target 'third_party/paddle/src/extern_paddle-stamp/extern_paddle-build' failed

make[2]: *** [third_party/paddle/src/extern_paddle-stamp/extern_paddle-build] Error 2

CMakeFiles/Makefile2:857: recipe for target 'CMakeFiles/extern_paddle.dir/all' failed

make[1]: *** [CMakeFiles/extern_paddle.dir/all] Error 2

Makefile:83: recipe for target 'all' failed

make: *** [all] Error 2

【解决方案】

这个错误是跟cmake版本有关系,我改成cmake 3.2.2 就不会报错了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【AnyQ】遇到的问题整理(一) 的相关文章

随机推荐