README.md 3.2 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

Documentation

Documentation is generated from Doxygen annotations in the source code. The current version can be accessed at http://acplt.github.io/open62541/doxygen/.

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