Установка NS-3

2022-10-03 · 2 мин. для прочтения

Установка NS-3.

Содержание

1 Общая информация

2 Исходный код

2.1 Архив исходных кодов релиза

2.2 Загрузка из репозитория

  • Репозиторий скриптов: https://gitlab.com/nsnam/ns-3-allinone.
  • Порядок работы.
    • Скачайте репозиторий скриптов:

      git clone https://gitlab.com/nsnam/ns-3-allinone.git
      
    • Загрузите программный код (текущий снепшот):

      cd ns-3-allinone
      ./download.py
      
      • Загрузка текущего снепшота часто не может определить версии сопутствующего программного обеспечения.
    • Можно загрузить релиз:

      cd ns-3-allinone
      ./download.py -n ns-3.x.y
      

3 Необходимые дополнительные пакеты

4 Опции компиляции

4.1 NetAnim

  • Для компиляции NetAnim нужны библиотеки Qt5 или Qt4.
  • При конфигурировании скрипт ищет утилиты qmake-qt5 или qmake-qt4.
  • Но в gentoo данная утилита называется qmake5.
  • Поэтому следует добавить опцию:
    ./build.py --qmake-path=/usr/bin/qmake5
    

4.2 Опции для компиляции ns3

  • Чтобы получить опции компиляции для ns3, следует зайти в каталог ns3-3.x.y и запустить:
    ./ns3 configure --help
    
  • Интеграция с Python:
    ./ns3 configure --enable-python-bindings
    
  • Собрать одну большую разделяемую библиотеку:
    ./ns3 configure --enable-monolib
    

4.3 Итоговые опции компиляции

4.3.1 Gentoo

  1. Используя общий скрипт

    • Основной скрипт скрипт запускается со следующими опциями:
      ./build.py --enable-examples --enable-tests --qmake-path=/usr/bin/qmake5
      

4.3.2 Компиляция вручную

  • Однако, для более тонкой конфигурации лучше сделать вручную:
    NETANIM_DIR=$(echo netanim-*)
    cd ${NETANIM_DIR}
    qmake5 NetAnim.pro
    cd ..
    NS_DIR=$(echo ns-*)
    cd ${NS_DIR}
    ./ns3 configure --enable-monolib --enable-python-bindings --enable-examples --enable-tests -- -DNS3_SCAN_PYTHON_BINDINGS=ON
    
  • Теперь скомпилим код:
    NETANIM_DIR=$(echo netanim-*)
    cd ${NETANIM_DIR}
    make
    cd ..
    NS_DIR=$(echo ns-*)
    cd ${NS_DIR}
    ./ns3 build
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.