README.md 3.1 KB

Open62541

An open-source communication stack implementation of OPC UA (OPC Unified Architecture) licensed under LGPL + static linking exception.

Ohloh Project Status Build Status Coverity Scan Build Status

Getting dependencies

Ubuntu

Getting gcc toolchain:
sudo apt-get install build-essential subversion git autoconf libtool pkg-config texinfo
Getting python toolchain for the 62541 structures code generator:
sudo apt-get install python python-lxml 
Getting additional libraries:
sudo apt-get install expat libexpat1-dev
Getting and installing check as unit test framework (http://check.sourceforge.net/):
$ svn checkout https://svn.code.sf.net/p/check/code/trunk check-code
$ cd check-code
$ autoreconf --install
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
Getting and using Doxygen
  • install the needed packages bash sudo apt-get install graphviz doxygen
  • configure autotools, clean and build: bash $ ./configure --enable-doxygen $ make clean $ make all
  • the output is generated in doc/html/index.htm
  • configure the output of Doxygen with doc/Doxygen.in file

Windows

Getting MinGW and MSYS:
Get Gtk+ bundle (just for m4 marcros and pkg-config):
Get git (IMPORTANT: get 1.8.4, since 1.8.5.2 has a bug):
Getting and installing check as unit testing framework (http://check.sourceforge.net/):
  • Open MinGW\msys\1.0\msys.bat
$ svn checkout svn://svn.code.sf.net/p/check/code/trunk check-code
$ cd check-code
$ autoreconf --install
$ ./configure --prefix=
$ make
$ make install
Get Pyhton with lxml module
  • [TBD]

Clone open62541

$ git clone https://github.com/acplt/open62541.git

Building

  • use autogen.sh only first time and whenever aclocal.m4 or configure.ac were modified

    $ cd open62541
    $ ./autogen.sh
    $ ./configure --enable-debug=yes
    $ make
    $ make check
    

    Configure Options

  • --enable-debug=(yes|no|verbose) - omit/include debug code

  • --enable-multithreading - enable pthreads (for examples/src/opcuaServerMT)

  • --enable-doxygen - make documentation as well

  • --enable-coverage - profiling with gcov,lcov, make check will generate reports in tests/coverage