The Platooning Extension for Veins.
Plexe currently works on Linux, Mac OS X, and Windows as well, although the latest option is not recommended. On Linux you will have the most efficient working environment for Plexe. Downloading and building Plexe will be basically automatic, and you will have free tools available for debugging your code. On Mac OS X, the situation is very similar to Linux, but you might need to install Xcode (see here for details), which is undesirable, but besides that everything will work as on Linux. On Windows instead, building Plexe is still troublesome and can require you several tweaks. Moreover, some required steps (such as downloading external libraries) will have to be done manually, which is highly inefficient. If you think about installing a Linux-OS in a virtual machine running on a Windows host, be aware that this might be extremely slow. A better solution is to have a dual-boot.
For Linux and Mac OS X be sure to have git
installed on the system to obtain Plexe source code. For Windows, this is not required as git
is included in the Mingw terminal which ships with OMNeT++ source code.
Download OMNeT++ source code and extract it either in ~/src/
(Linux or Mac OS X) or in C:\Users\<user>\src
(Windows).
In your terminal (either system terminal in Linux/Mac OS X or Mingw inside the OMNeT++ source folder in Windows), cd
into ~/src
or /c/Users/<user>/src
and obtain Plexe source code by typing
git clone https://github.com/michele-segata/plexe-veins.git
git clone https://github.com/michele-segata/plexe-sumo.git
Install required libraries and tools
Install build tools and required libraries:
sudo apt-get install build-essential bison flex zlib1g-dev tk8.5-dev openjdk-6-jre autoconf libtool libproj-dev libgdal-dev libfox-1.6-dev libxerces-c-dev r-base
Building OMNeT++
Add OMNeT++ folder to your PATH in your .bashrc
, .zshrc
, .profile
, or equivalent.
echo 'export PATH=$PATH:~/src/omnetpp-5.0/bin' >> ~/.bashrc
source ~/.bashrc
Build OMNeT++ as explained in the official documentation:
cd ~/src/omnetpp-5.0
./configure
make -j <number of cores of your PC>
Building Plexe-Veins
cd ~/src/plexe-veins
git checkout plexe-2.0
./configure
make -j <number of cores of your PC> MODE=release
Building Plexe-SUMO
cd ~/src/plexe-sumo/sumo
git checkout plexe-2.0
make -f Makefile.cvs
./configure
make -j <number of cores of your PC>
Finally, add the Plexe-SUMO bin folder to your PATH
echo 'export PATH=$PATH:~/src/plexe-sumo/sumo/bin' >> ~/.bashrc
Setting up R
First, download the package for processing OMNeT++ result files
cd /tmp
wget http://plexe.car2x.org/download/omnetpp_0.7-1.tar.gz
Start R by typing R
in your terminal. In the R
console type
install.packages(c('ggplot2', 'reshape2', 'data.table'))
Choose a mirror and, if asked, reply YES when asked whether libraries should be installed in a local folder. Finally install the OMNeT++ result files package by typing
install.packages("omnetpp_0.7-1.tar.gz", repos=NULL)
Install required libraries and tools
On Mac OS X you will need to install MacPorts, which in turn MIGHT require you to install Xcode. It looks like you can install MacPorts without the full Xcode software, but I never tried. Feel free to send me feedbacks. Then to install the required tools type
sudo port install bison flex zlib tk autoconf libtool proj gdal fox xercesc R wget
Building OMNeT++, Plexe-Veins, Plexe-SUMO, and setting up R
See Linux instructions
For macOS Sierra (10.12) users:
If you are having problems in building SUMO, check that you installed the full XCode version. Although you can install MacPorts without the complete XCode, it seems that you will have problems building it if you don't do so. In addition, check wether the MacPorts path in your PATH variable comes before the system path. In case you don't find the MacPorts path in your .profile
file, MacPorts might have added /opt/local/bin
to the /etc/paths
file. If this is the case, move the MacPorts path at the top of the list and restart your terminal.
libFOX upgrade bug
If the SUMO GUI stopped working after a MacPorts upgrade, it might be due to an update to the FOX library. You can check the installed version by typing
port installed | grep fox
in your terminal. If the answer is fox @1.6.53_0 (active)
then you have a bugged version of the library. To revert the library to a working version do the following:
cd
git clone --single-branch https://github.com/macports/macports-ports.git
cd macports-ports/x11/fox
git checkout 34b30703366e8483e99040b52e8fb905bc9b27e8
sudo port install
The clone operation downloads roughly 130 MB of data! This will install the previous version of the library. You can check the current version by typing again port installed | grep fox
which should now show
fox @1.6.46_3 (active)
fox @1.6.53_0
The SUMO GUI should now be working again.
Install required libraries and tools
Download and install Microsoft Visual C++ Express 2012, VCRedist for VS 2013, and Python 2.7. Following the official SUMO instructions you will need to download Xerces-C and the FOX pre-compiled libraries. Extract and store them in a folder with no spaces. Here it is assumed they are extracted in
C:\Users\<user>\src\xerces
C:\Users\<user>\src\fox
Building OMNeT++
Download and extract the OMNeT++ Windows sources in C:\Users\<user>\src
. Open the Mingw terminal inside the OMNeT++ folder and type
./configure
make -j <number of cores of your PC>
Building Plexe-Veins
Open the Mingw terminal in the OMNeT++ source folder and cd
into /c/Users/<user>/src/plexe-veins
. To compile Plexe-Veins follow Linux instructions.
Building Plexe-SUMO
Open the Mingw terminal in the OMNeT++ source folder and cd
into /c/Users/<user>/src/plexe-sumo
. Checkout the correct code version by typing
git checkout plexe-2.0
Edit C:\Users\<user>\src\plexe-sumo\sumo\build\msvc10\config.props
to let MSVC++ know where to find shared libraries:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<XERCES>C:\Users\USER\src\xerces</XERCES>
<FOX16>C:\Users\USER\src\fox</FOX16>
<PYTHON_64_LIB_DIR>C:\Python27\libs</PYTHON_64_LIB_DIR>
<PYTHON_64_INCLUDE_DIR>C:\Python27\include</PYTHON_64_INCLUDE_DIR>
</PropertyGroup>
</Project>
Open the Visual Studio Solution located in plexe-sumo\sumo\build\msvc10
and build sumo
and sumo-gui
. Once built, add C:\Users\<user>\src\plexe-sumo\sumo\bin
to your Windows PATH.
Setting up R
Install R
for Windows from the official website and then install R tools. When the installation is complete, edit your Windows PATH to include R and Rtools binaries folder (e.g., c:\Rtools\bin;c:\Rtools\mingw_64\bin;C:\Program Files\R\R-3.3.0\bin\x64\;
). Download the OMNeT++ R package from here and save it in C:\Users\<user>\src
. Open the R console and install the required packages by typing
setwd('C:\Users\<user>\src')
install.packages(c('ggplot2', 'reshape2', 'data.table'))
install.packages("omnetpp_0.7-1.tar.gz", repos=NULL)
The installation will ask you to install the packages to a local folder. Reply with YES and take note of that folder. Then add an additional environmental variable called R_LIBS
which points to the location of the installed R libraries, for example
C:\Users\<user>\Documents\R\win-library\3.3
Now you should be able to start R by typing R
in the Mingw console provided by OMNeT++.