1. 程式人生 > >zmap原始碼編譯安裝流程及錯誤解決方案

zmap原始碼編譯安裝流程及錯誤解決方案

參考官方給出的方案在這裡,事實上針對ubuntu我們要進行一些調整。

注意:以下命令均進行在root許可權下

我的安裝環境:ubuntu12.04+zmap2.1.0

安裝依賴包

  • apt-get install -y build-essential cmake libgmp3-dev libpcap-dev gengetopt byacc flex dwarfdump libtool autoconf git

安裝json-c依賴包

  • git clone https://github.com/json-c/json-c.git
  • cd json-c
  • sh ./autogen.sh
  • ./configure
  • make
  • make install
  • ldconfig

安裝zmap

  • git clone git://github.com/zmap/zmap.git
    或者 wget https://github.com/zmap/zmap/archive/v2.1.0.tar.gz && tar -xzvf v2.1.0.tar.gz

  • cd zmap

  • vim CMakeLists.txt
    修改配置檔案中第一行的Cmake的版本號。因為apt-get到的是2.08,配置檔案寫的是2.12,檢查不通過。改為:cmake_minimum_required (VERSION 2.8.0)即可

    否則會報如下錯誤:

    root@cdxy:~/Tools/zmap-2.1.0# cmake -DENABLE_DEVELOPMENT=OFF
    CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
    CMake 2.8.12 or higher is required.  You are running version 2.8.7
  • vim ./lib/CMakeLists.txt

    註釋或者刪除這一行
    target_include_directories (zmaplib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

    否則報錯:

    CMake Error at
    lib/CMakeLists.txt:21 (target_include_directories): Unknown CMake command "target_include_directories".
  • cmake -DENABLE_DEVELOPMENT=OFF
  • make
  • make install

    如果在這一步報錯:

    CMake Error at InstallConfFiles.cmake:6 (file):
    file COPY cannot find "/conf/zmap.conf".
    Call Stack (most recent call first):
    cmake_install.cmake:36 (INCLUDE)
    • vim InstallConfFiles.cmake
      ${PROJECT_SOURCE_DIR}替換成當前的zmap原始碼路徑即可
  • 安裝完成後 zmap -h 檢視使用說明