Build - adjacentlink/emane GitHub Wiki

The following instructions are for building distribution packages from EMANE source. The emane git repository master branch always contains the latest EMANE release. Older versions are available as tags. Use the develop branch for access to the latest non-stable source.

See the Install page for information on installing EMANE from pre-built packages.

Contents

General Build Instructions

The general steps to build EMANE are the same across all distributions.

  1. Install the required build dependencies. The following dependencies are available via your distribution package manager:

    1. libxml2
    2. libpcap
    3. pcre
    4. libuuid
    5. protobuf
    6. python-protobuf
    7. python-lxml

    Dependency package names vary slightly between distributions. Consult the below instructions for distribution specifics.

  2. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  3. Build and install EMANE:

    # cd emane
    # ./autogen.sh && ./configure --prefix=/usr && make install
    

RHEL/Rocky/CentOS Stream 8

  1. Enable the EPEL package repository and powertools:

    # sudo dnf install epel-release
    # sudo dnf config-manager --set-enabled powertools
    
  2. Install EMANE build dependencies:

    # dnf install gcc-c++ autoconf automake libtool libxml2-devel protobuf-devel \
    python3-protobuf libpcap-devel pcre-devel libuuid-devel rpm-build \
    python3-setuptools python3-devel git make
    
  3. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  4. Build RPMs:

    # cd emane
    # ./autogen.sh && ./configure && make rpm
    
  5. Install RPMs:

    # cd .rpmbuild
    # sudo dnf install $(ls RPMS/x86_64/*.rpm RPMS/noarch/*.rpm | grep -v debuginfo)
    

RHEL/Rocky/CentOS Stream 9

  1. Enable the EPEL package repository and powertools:

    # sudo dnf -y install epel-release dnf-plugins-core
    # sudo dnf config-manager --enable crb
    
  2. Install EMANE build dependencies:

    # dnf install git gcc-c++ make autoconf automake libtool rpm-build python3-setuptools \
    libxml2-devel libpcap-devel pcre-devel libuuid-devel python3-devel \
    python3-protobuf protobuf-devel
    
  3. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  4. Build RPMs:

    # cd emane
    # ./autogen.sh && ./configure && make rpm
    
  5. Install RPMs:

    # cd .rpmbuild
    # sudo dnf install $(ls RPMS/x86_64/*.rpm RPMS/noarch/*.rpm | grep -v debuginfo)
    

Fedora 41

  1. Install EMANE build dependencies:

    # dnf install git gcc-c++ make autoconf automake libtool rpm-build python3-setuptools \
    libxml2-devel libpcap-devel pcre-devel libuuid-devel python3-devel \
    python3-protobuf protobuf-devel
    
  2. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  3. Build RPMs:

    # cd emane
    # ./autogen.sh && ./configure && make rpm
    
  4. Install RPMs:

    # cd .rpmbuild
    # sudo dnf install $(ls RPMS/x86_64/*.rpm RPMS/noarch/*.rpm | grep -v debuginfo)
    

Ubuntu 22.04 LTS

  1. Install EMANE build dependencies:

    # sudo apt-get install git gcc g++ autoconf automake libtool dh-python  debhelper python3-setuptools \
    libxml2-dev libprotobuf-dev libpcap-dev libpcre3-dev uuid-dev pkg-config \
    python3-protobuf protobuf-compiler
    
  2. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  3. Build debs:

    # cd emane
    # ./autogen.sh && ./configure && make deb
    
  4. Install debs:

    # cd .debbuild
    # sudo dpkg -i *.deb
    # sudo apt-get install -f
    
    
    

Ubuntu 24.04 LTS

  1. Install EMANE build dependencies:

    # sudo apt-get install git gcc g++ autoconf automake libtool dh-python  debhelper python3-setuptools \
    libxml2-dev libprotobuf-dev libpcap-dev libpcre3-dev uuid-dev pkg-config \
    python3-protobuf protobuf-compiler
    
  2. Clone the EMANE repo:

    # git clone https://github.com/adjacentlink/emane.git
    
  3. Build debs:

    # cd emane
    # ./autogen.sh && ./configure && make deb
    
  4. Install debs:

    # cd .debbuild
    # sudo dpkg -i *.deb
    # sudo apt-get install -f