当前位置: 首页 > 工具软件 > json-error > 使用案例 >

解决cmake的时候json;json-c not found

卫沈义
2023-12-01

转自:http://blog.csdn.net/u013393502/article/details/49226531


zmap的安装可以到官方网站https://www.zmap.io/去看看,点击download,提供了两种安装方式。


软件包方式安装:

1.通过apt-get install zmap或yum install zmap安装软件包的方式直接安装。

如果通过apt-get或yum无法安装的话,官方还提供了源码安装的形式。


源码方式安装:

2.在download页面下载zmap-2.1.0.tar.gz,下载完成后解压文件。

进入zmap-2.1.0目录。

根据官网提示安装这些个库文件及工具sudo apt-get install build-essential cmake libgmp3-dev libpcap-dev gengetopt byacc flex 

输入命令cmake -DENABLE_HARDENING=ON,这个时候问题来了。


错误提示:说你使用的cmake的版本低,要在2.8.12或更高的版本。

“cmake -DENABLE_HARDENING=ONCMake Error at CMakeLists.txt:1

(cmake_minimum_required): CMake 2.8.12 or higher is required. You are running version 2.8.9”


在我的CSDN资源内有2.8.12的cmake,欢迎大家下载。


cmake源码安装:

解压下载的cmake文件:tar -xvf cmake-2.8.12.2.tar.gz

进入解压目录安装:1、cd cmake-2.8.12.2 

                                    2、./configure

                                    3、make

                                    4、make install

继续输入命令安装“cmake -DENABLE_HARDENING=ON”


此时令人心情愉悦的时刻来了!!!恭喜你,如你所看到的,报错又来啦,安装这个工具的时候非常的蛋疼!

“The C compiler identification is GNU 4.7.2-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") -- checking for module 'json-c'-- package 'json-c' not foundCMake Error at CMakeLists.txt:71 (message): Did not find libjson”


提示:找不到json-c这个模块


根据提示我们来安装下这个json-c


在zmap的目录下输入命令“git clone https://github.com/json-c/json-c.git”获取json-c


完成后会在zmap目录下会有个json-c的这个目录。

1.cd json-c

2.执行./autogen.sh这个脚本文件。错误提示:autoreconf: not found


解决方法:安装apt-get install autoconf automake libtool工具。


重新继续输入命令安装“cmake -DENABLE_HARDENING=ON”


这回该哭了吧!!!


错误提示:/conf/blacklist.conf找不到。


-- Install configuration: ""CMake Error at InstallConfFiles.cmake:2 (file): file COPY cannot find "/conf/blacklist.conf".Call Stack (most recent call first): cmake_install.cmake:36 (INCLUDE)make: *** [install]


在网络上找到了相应方法:

编结InstallConfFiles.cmake文件“vim InstallConfFiles.cmake”将原有文件代码替换如下:

if(NOT EXISTS "/etc/zmap/blacklist.conf") 

     file(COPY "./conf/blacklist.conf" DESTINATION "${CONFIG_DESTINATION}/blacklist.conf")

endif()

if(NOT EXISTS "/etc/zmap/zmap.conf") 

    file(COPY "./conf/zmap.conf" DESTINATION "${CONFIG_DESTINATION}/zmap.conf")

endif()

注意:文件格式排版要与原格式一致!


重新继续输入命令安装“cmake -DENABLE_HARDENING=ON”


这回终于搞定啦!!!真心的不容易!

但是小老弟在输入“zmap”试运行的时候,又再次的让我欲哭无泪:

无法加载libjson-c.so.3这个文件,使用“whereis libjson-c.so.3”查看发现文件是确实存在的。

那么就将libjson-c.so.3这个文件的路径添加到“/etc/ld.so.conf”文件内(另起一行)。

输入“/sbin/ldconfig -v”重新加载下文件.

再次输入“zmap”,搞定!!!安装这个工具玩玩,真的是好心酸啊!!!


 类似资料: