anna
anna copied to clipboard
No rule to make target libtbb.so error
make[2]: *** No rule to make target 'vendor/tbb/src/tbb/build/linux_intel64_clang_cc4.8_libc2.19_kernel3.13.0_release/libtbb.so', needed by 'kvs/kvs_server'. Stop. CMakeFiles/Makefile2:423: recipe for target 'kvs/CMakeFiles/kvs_server.dir/all' failed
similar error in
Scanning dependencies of target kvs_proxy
[ 85%] Building CXX object kvs/CMakeFiles/kvs_proxy.dir/kvs_proxy.cpp.o
[ 87%] Building CXX object kvs/CMakeFiles/kvs_proxy.dir/message.pb.cc.o
[ 88%] Building CXX object kvs/CMakeFiles/kvs_proxy.dir/include/zmq_util.cc.o
[ 89%] Building CXX object kvs/CMakeFiles/kvs_proxy.dir/include/socket_cache.cc.o
make[2]: *** 没有规则可制作目标“vendor/tbb/src/tbb/build/linux_intel64_clang_cc4.8_libc2.19_kernel3.13.0_release/libtbb.so”,由“kvs/kvs_proxy” 需求。 停止。
make[1]: *** [CMakeFiles/Makefile2:540:kvs/CMakeFiles/kvs_proxy.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2
Get same error in running bash scripts/build_release.sh
I got the same issue, solved with below steps:
- open file vendor/tbb/CMakeLists.txt
- for the last two cmake 'set' cmd in this file, which are using fixed value 'linux_intel64_clang_cc4.8_libc2.19_kernel3.13.0_release'. This is what you got in your error msg, and also the reason why you got this error msg.
- change this value to be the same as your env. For example, I am using clang 5.4.0, libc 2.23, kernel 4.4.0 , so I changed this value to 'linux_intel64_clang_cc5.4.0_libc2.23_kernel4.4.0_release' .
Tips: If you can't make sure what this value in your env should be, you can just run 'scripts/build_release.sh' for once. Yeah, the build will fail, but then you can check the generated folder by the build process, which is 'build/vendor/tbb/src/tbb/build'. Under this folder, you will find a sub folder, its name is just the value you need.
@dssocool thank you
@dssocool solved my problem. thx.