解決cmake的時候json;json-c not found

轉自: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”,搞定!!!安裝這個工具玩玩,真的是好心酸啊!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章