Consolidate compiler generated dependencies of target dp make[2]: *** No rule to make target 'nanomsg-NOTFOUND', needed by 'data-plane/suricata-3.0/src/dp'. Stop. make[1]: *** [CMakeFiles/Makefile2:285: data-plane/suricata-3.0/src/CMakeFiles/dp.dir/all] Error 2 make: *** [Makefile:156: all] Error 2
时间: 2023-12-31 17:19:46 浏览: 730
这个错误提示通常是由于项目中依赖的nanomsg库没有正确安装或者安装路径没有正确配置所导致的。建议你检查一下nanomsg库是否已正确地安装,并且在CMakeLists.txt中是否正确地指定了库的路径。如果确保nanomsg库已正确安装,可以尝试使用以下命令在命令行中查找该库的安装路径:
```sh
sudo find / -name "libnanomsg.so"
```
找到路径后,将其添加到CMakeLists.txt文件中,例如:
```cmake
set(NANOMSG_LIB /usr/local/lib/libnanomsg.so)
target_link_libraries(dp ${NANOMSG_LIB})
```
然后重新编译项目,应该就可以解决这个错误了。
相关问题
[ 93%] Linking CXX executable /smartview/devel/lib/t3/t3_node [ 94%] Built target smartview_player [ 95%] Built target websocket_server_node [ 96%] Built target smartview_common /usr/bin/ld: /usr/local/lib/libprotobuf.so: undefined reference to symbol 'inflateEnd' /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status t3/CMakeFiles/t3_node.dir/build.make:319: recipe for target '/smartview/devel/lib/t3/t3_node' failed make[2]: *** [/smartview/devel/lib/t3/t3_node] Error 1 CMakeFiles/Makefile2:3555: recipe for target 't3/CMakeFiles/t3_node.dir/all' failed make[1]: *** [t3/CMakeFiles/t3_node.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... Consolidate compiler generated dependencies of target smartview_network [ 96%] Built target smartview_network Makefile:145: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j20 -l20" failed
这段提示信息是一个编译错误,可能是由于在编译过程中缺少了某个库文件或者链接顺序不正确导致的。具体来说,它在链接 libprotobuf 库时出现了 undefined reference to symbol 'inflateEnd' 的错误,这是由于缺少 zlib 库导致的。你需要检查你的编译环境是否正确安装了 zlib 库,并且在链接时是否将它加入到链接命令中。
make: Warning: File 'Makefile' has modification time 241 s in the future make[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 244 s in the future make[2]: Warning: File 'CMakeFiles/Makefile2' has modification time 244 s in the future make[3]: Warning: File 'src/CMakeFiles/main.dir/progress.make' has modification time 244 s in the future Consolidate compiler generated dependencies of target main make[3]: warning: Clock skew detected. Your build may be incomplete. make[3]: Warning: File 'src/CMakeFiles/main.dir/progress.make' has modification time 243 s in the future
这个警告通常是由于系统时间与文件时间不一致导致的。在您的系统中,某些文件的修改时间比当前系统时间晚,这可能会导致 make 命令出现警告。
要解决这个问题,您可以尝试使用 `touch` 命令手动修改文件的修改时间,例如:
```
touch Makefile CMakeFiles/Makefile2 src/CMakeFiles/main.dir/progress.make
```
这里假设需要修改的文件是 `Makefile`、`CMakeFiles/Makefile2` 和 `src/CMakeFiles/main.dir/progress.make`。您可以根据实际情况调整文件名。
如果手动修改文件的修改时间无法解决问题,则可能需要调整系统时间。您可以使用以下命令来将系统时间设置为网络时间:
```
sudo timedatectl set-ntp true
```
这将启用网络时间协议(NTP)服务,并将系统时间自动与网络时间同步。但是请注意,这可能需要一些时间才能完成同步。
最后,如果您仍然无法解决问题,则可以尝试使用 `make --debug` 命令来查看更详细的调试信息,以确定问题的根本原因。
阅读全文