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

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

Содержание

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

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

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

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

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

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

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

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

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

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

4.1 NetAnim

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

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

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

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

4.3.1 Gentoo

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

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

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

  • Однако, для более тонкой конфигурации лучше сделать вручную:
    1NETANIM_DIR=$(echo netanim-*)
    2cd ${NETANIM_DIR}
    3qmake5 NetAnim.pro
    4cd ..
    5NS_DIR=$(echo ns-*)
    6cd ${NS_DIR}
    7./ns3 configure --enable-monolib --enable-python-bindings --enable-examples --enable-tests -- -DNS3_SCAN_PYTHON_BINDINGS=ON
    
  • Теперь скомпилим код:
    1NETANIM_DIR=$(echo netanim-*)
    2cd ${NETANIM_DIR}
    3make
    4cd ..
    5NS_DIR=$(echo ns-*)
    6cd ${NS_DIR}
    7./ns3 build
    

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие