I'm trying to install OpenDNP3 on my VirtualBox Image of Ubuntu 14.01.1. My intention is to create a Master and Slave virtual box network to study DNP3 traffic, I intend to use CodeLite (codelite.org) as my C++ development IED. Unfortunately, I'm having some difficulties compiling the libraries using the following steps:
#Installing dependencies
sudo apt-get install autoconf libtool g++ git libboost-all-dev
#find 'asio' directory
find /usr/include -name 'asio'
#add asio path as an environment variable
ASIO_HOME=/usr/include/boost/asio
#clone from github
git clone https://github.com/automatak/dnp3
#Build and Install
cd dnp3
sudo autoreconf -f -i
sudo ./configure
sudo make # Breaks here!
Output during the make:
==================
/bin/bash ./libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"opendnp3\" -DPACKAGE_TARNAME=\"opendnp3\" -DPACKAGE_VERSION=\"1.1.0\" -DPACKAGE_STRING=\"opendnp3\ 1.1.0\" -DPACKAGE_BUGREPORT=\"jadam...@automatak.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"opendnp3\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I./cpp/libs/openpal/src -I./cpp/libs/asiopal/src -I -DASIO_STANDALONE -g -O2 -std=c++11 -MT cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo -MD -MP -MF cpp/libs/asiopal/src/asiopal/.deps/libasiopal_la-ASIOExecutor.Tpo -c -o cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo `test -f 'cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp' || echo './'`cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp
libtool: compile: g++ -DPACKAGE_NAME=\"opendnp3\" -DPACKAGE_TARNAME=\"opendnp3\" -DPACKAGE_VERSION=\"1.1.0\" "-DPACKAGE_STRING=\"opendnp3 1.1.0\"" -DPACKAGE_BUGREPORT=\"jadam...@automatak.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"opendnp3\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I./cpp/libs/openpal/src -I./cpp/libs/asiopal/src -I -DASIO_STANDALONE -g -O2 -std=c++11 -MT cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo -MD -MP -MF cpp/libs/asiopal/src/asiopal/.deps/libasiopal_la-ASIOExecutor.Tpo -c cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp -fPIC -DPIC -o cpp/libs/asiopal/src/asiopal/.libs/libasiopal_la-ASIOExecutor.o
In file included from cpp/libs/asiopal/src/asiopal/ASIOExecutor.h:26:0,
from cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp:21:
cpp/libs/asiopal/src/asiopal/Synchronized.h:25:20: fatal error: asio.hpp: No such file or directory
#include <asio.hpp>
^
compilation terminated.
make: *** [cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo] Error 1
I followed the steps in the Linux Build document (http://dnp3.github.io/doc/2.0.x/building/building-linux.html) and also the Prerequisites. Have I missed something?
Thanks in advance
Nick
Hi All,I'm trying to install OpenDNP3 on my VirtualBox Image of Ubuntu 14.01.1. My intention is to create a Master and Slave virtual box network to study DNP3 traffic, I intend to use CodeLite (codelite.org) as my C++ development IED. Unfortunately, I'm having some difficulties compiling the libraries using the following steps:
#Installing dependencies
sudo apt-get install autoconf libtool g++ git libboost-all-dev#find 'asio' directory
find /usr/include -name 'asio'#add asio path as an environment variable
ASIO_HOME=/usr/include/boost/asio#clone from github
git clone https://github.com/automatak/dnp3#Build and Install
cd dnp3
sudo autoreconf -f -i
sudo ./configure
sudo make # Breaks here!
Output during the make:
==================
/bin/bash ./libtool --tag=CXX --mode=compile g++ -DPACKAGE_NAME=\"opendnp3\" -DPACKAGE_TARNAME=\"opendnp3\" -DPACKAGE_VERSION=\"1.1.0\" -DPACKAGE_STRING=\"opendnp3\ 1.1.0\" -DPACKAGE_BUGREPORT=\"jadamcrai...@automatak.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"opendnp3\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I./cpp/libs/openpal/src -I./cpp/libs/asiopal/src -I -DASIO_STANDALONE -g -O2 -std=c++11 -MT cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo -MD -MP -MF cpp/libs/asiopal/src/asiopal/.deps/libasiopal_la-ASIOExecutor.Tpo -c -o cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo `test -f 'cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp' || echo './'`cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp
libtool: compile: g++ -DPACKAGE_NAME=\"opendnp3\" -DPACKAGE_TARNAME=\"opendnp3\" -DPACKAGE_VERSION=\"1.1.0\" "-DPACKAGE_STRING=\"opendnp3 1.1.0\"" -DPACKAGE_BUGREPORT=\"jadamcrai...@automatak.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"opendnp3\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I./cpp/libs/openpal/src -I./cpp/libs/asiopal/src -I -DASIO_STANDALONE -g -O2 -std=c++11 -MT cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo -MD -MP -MF cpp/libs/asiopal/src/asiopal/.deps/libasiopal_la-ASIOExecutor.Tpo -c cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp -fPIC -DPIC -o cpp/libs/asiopal/src/asiopal/.libs/libasiopal_la-ASIOExecutor.o
In file included from cpp/libs/asiopal/src/asiopal/ASIOExecutor.h:26:0,
from cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp:21:
cpp/libs/asiopal/src/asiopal/Synchronized.h:25:20: fatal error: asio.hpp: No such file or directory
#include <asio.hpp>
^
compilation terminated.
make: *** [cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo] Error 1
Thanks for the excellent pointers in here, Nick and Adam -- I've gotten a lot farther towards compiling on Ubuntu 12.04 than I had initially, but I'm still slamming up against a problem. Compilation whirs along until it gets here - any thoughts?
libtool: compile: g++ -DPACKAGE_NAME=\"opendnp3\" -DPACKAGE_TARNAME=\"opendnp3\" -DPACKAGE_VERSION=\"1.1.0\" "-DPACKAGE_STRING=\"opendnp3 1.1.0\"" -DPACKAGE_BUGREPORT=\"jadamcrai...@automatak.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"opendnp3\" -DVERSION=\"1.1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I./cpp/ach libs/openpal/src -I./cpp/libs/asiopal/src -I /home/ahirsch/src/asio-asio-1-10-3/asio/include -DASIO_STANDALONE -g -O2 -std=c++0x -MT cpp/libs/asiopal/src/asiopal/libasiopal_la-ASIOExecutor.lo -MD -MP -MF cpp/libs/asiopal/src/asiopal/.deps/libasiopal_la-ASIOExecutor.Tpo -c cpp/libs/asiopal/src/asiopal/ASIOExecutor.cpp -fPIC -DPIC -o cpp/libs/asiopal/src/asiopal/.libs/libasiopal_la-ASIOExecutor.o
The errors seem to indicate that g++ doesn't understand the C++11 override directive. I think this indicates you're on older oversion of GCC than 4.7.x required to compile the library.
Which branch are you compiling? I just noticed that we forgot to update the version in configure.ac in the 2.0.x branch.