bkuner / opcUaUnifiedAutomation

EPICS opcUa device support with Unified Automation C++ based client sdk.
Other
0 stars 4 forks source link

Build error on Ubuntu 16.04 with EPICS 3.16.1 #40

Closed Kamforka closed 6 years ago

Kamforka commented 6 years ago

Hi there,

I'm trying to build your package, but I'm running into a build error that I cannot resolve:

../drvOpcUa.cpp:22:38: fatal error: boost/algorithm/string.hpp: No such file or directory

I installed the C++ UA Client/Server SDK as a prerequisite.

I copied the git repo to /usr/local/epics/opcUa and created the RELEASE.local and CONFIG_SITE.local files and populated them with the corresponding variables.

Then at the root directory of opcUa I called a make to build the package, and then I got the error highlighted above.

Also I checked the readmes and it seemed to me that the boost package are only needed for Windows systems.

Can you please help me with my build problems?

ralphlange commented 6 years ago

Well, Boost is needed - and not just on Windows. (Where did you get that impression?) I guess that on ubuntu you need to install the package libboost-dev.

Leaving the issue open for adding this requirement in the appropriate section of the README.

Kamforka commented 6 years ago

@ralphlange Well I found this intel in the README_Windows.txt as :

In order to build the device support on a Windows machine, Boost C++ library (http://www.boost.org/) is needed. Extract it to an arbitrary location and provide path in the configure/CONFIG_SITE.local (e.g. BOOST = C:\boost_1_63_0).

And I found no reference to this in the original README.md.

Also I can verify that after executing sudo apt-get install libboost-all-dev I could build the module.

Though a complete tutorial on setting up an IOC to use with an OPC UA server (e.g. S7-1500) would be welcome, as now I'm stuck again on how to use it :(

ralphlange commented 6 years ago

Ha! Seems I never even looked at the Windows README. That's what I get from not reading the docs.

Usage hints (database examples) are given in the top README. I suggest using a commercial OPCUA client (e.g. uaexpert from Unified Automation) to verify connection to your server and to browse the server to find out the item ids. Once you know the namespace index and the id for your data item, you should be able to set the links as shown in the README.

Note: the embedded OPCUA server in the S7-1500 needs a license that you have to buy. And: the string ids in the Siemens contain " characters that you have to quote inside EPICS DB files.

ralphlange commented 6 years ago

And - last not least - the embedded test application has a full example of an IOC setup that can be used against an OPC-UA server.