This is a fork of open62541, https://github.com/open62541/open62541

FlorianPalm ab666d8d57 almost done with browse implementation hace 10 años
doc 9549a87c62 changes over the weekend hace 10 años
examples b91474136e bug in NULL arrays? NULL Arrays weren't encoded. But part6 - 5.24 says they should be encoded as array with length = -1 @jpfr what do you say? hace 10 años
schema 0af770f6fa refactoring .. bigger than expected hace 10 años
src ab666d8d57 almost done with browse implementation hace 10 años
tests c0223435f7 disable check_xml for now hace 10 años
tools 001e61ea9a printing of all UA types as C-structs hace 10 años
.gitignore 596f70813a Merge of branch namespace_generation hace 10 años
.travis.yml 5dc7af528a inserting invalid email for covrity scan results hace 10 años
LICENSE 9310d323c9 changed .gitignore again hace 10 años
Makefile.am 8404438e02 Casting strings to to (unsigned char*)==(UA_Byte*) hace 10 años
README.md d370713556 typo fixed hace 10 años
autogen.sh 418b701da0 create empty files for automake on the fly hace 10 años
configure.ac 0af770f6fa refactoring .. bigger than expected hace 10 años

README.md

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 expat
  • start MinGW Installation Manager
  • choose all Packages, mark mingw32-expat and install
  • Open MinGW\msys\1.0\msys.bat bash $ mingw-get install libexpat
Get Python and lxml:
  • download Python at https://python.org/downloads (recommended version: 3.4.x)
  • install the executable
  • add the install directory (e. g. "c:\python34") to your windows path variable [Selectable in the setup-options]
  • restart mingw console
  • install lxml by either downloading and installing http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (choose the version which fits to your python installation) or by following the instructions given here: http://lxml.de/installation.html
  • [HINT for Windows x64 Users]: To use the first option to install lxml, it is necessary to edit the registry: The install path of python needs to be copyed in an other registry directroy: [FROM]: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\3.4\InstallPath [TO]: HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4\InstallPath
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
$ make
$ make install

Building

  • use autogen.sh only first time and whenever aclocal.m4 or configure.ac were modified bash $ 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