Hi, all.
We are finally taking some time to update our OPC UA IOCs here at Sirius. Im using the main Ralph Lange's repository to build the modules:
And also the Assets distributed:
https://github.com/epics-modules/opcua/releases/tag/v0.9.4
Particularly the one for debian 11:
https://github.com/epics-modules/opcua/releases/download/v0.9.4/IOC_opcua-0.9.4_Base-3.15.9_debian11.tar.gz
However, as someone who is not a PLC or OPC UA expert, i fail to understand the difference between the whole repository and only the asset.
Extracting the tar file from the provided asset, pointing to EPICS_BASE path in its configure/RELEASE file and building works just fine.
Cloning the whole repository, pointing to EPICS_BASE and GTEST in its configure/RELEASE file doesnt work. The build fails with the compilation message that i append below.
My main question is: can i simply use the asset instead of the whole module in the repository? If yes, what will i be missing?
Also, i
n my GTEST build, i didnt write any particular test because i dont know how to use this module. Is it necessary?
Thanks for your time,
Marco
BUILD FAILURE LOG:
make -C ./configure install
make[1]: Entering directory '/usr/local/epics/apps/opcua/configure'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/epics/apps/opcua/configure/O.linux-x86_64'
perl -CSD /usr/local/epics/base/bin/linux-x86_64/convertRelease.pl checkRelease
make[2]: Leaving directory '/usr/local/epics/apps/opcua/configure/O.linux-x86_64'
make[1]: Leaving directory '/usr/local/epics/apps/opcua/configure'
make -C ./devOpcuaSup install
make[1]: Entering directory '/usr/local/epics/apps/opcua/devOpcuaSup'
make -C O.linux-x86_64 -f ../Makefile TOP=../.. \
T_A=linux-x86_64 install
make[2]: Entering directory '/usr/local/epics/apps/opcua/devOpcuaSup/O.linux-x86_64'
perl -CSD /usr/local/epics/base/bin/linux-x86_64/expandVars.pl -DEPICS_OPCUA_MAJOR_VERSION="0" -DEPICS_OPCUA_MINOR_VERSION="9" -DEPICS_OPCUA_MAINTENANCE_VERSION="4" -DEPICS_OPCUA_DEVELOPMENT_FLAG="0" -DEPICS_OPCUA_GIT_COMMIT="v0.9.4-0-g45bb32c-dirty"
-t ../.. -a linux-x86_64 ../devOpcuaVersionNum.h@ ../O.Common/devOpcuaVersionNum.h
Installing generated generic include file ../../include/devOpcuaVersionNum.h
/usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -DUSE_TYPED_RSET -std=c++11 -std=c++11 -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../devOpcuaSup -I../../include/compiler/gcc
-I../../include/os/Linux -I../../include -I/usr/local/epics/modules/gtest/include -I/usr/local/epics/base/include/compiler/gcc -I/usr/local/epics/base/include/os/Linux -I/usr/local/epics/base/include -c ../devOpcua.cpp
/usr/bin/ar -rc libopcua.a devOpcua.o iocshIntegration.o RecordConnector.o linkParser.o opcuaItemRecord.o
/usr/bin/ranlib libopcua.a
/usr/bin/g++ -o libopcua.so.0.9 -shared -fPIC -Wl,-hlibopcua.so.0.9 -L/usr/local/epics/apps/opcua/lib/linux-x86_64 -L/usr/local/epics/base/lib/linux-x86_64 -Wl,-rpath,/usr/local/epics/apps/opcua/lib/linux-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/linux-x86_64
-rdynamic -m64 devOpcua.o iocshIntegration.o RecordConnector.o linkParser.o opcuaItemRecord.o -ldbRecStd -ldbCore -lca -lCom -lpthread -lreadline -lm -lrt -ldl -lgcc
Installing shared library ../../lib/linux-x86_64/libopcua.so.0.9
ln -s libopcua.so.0.9 ../../lib/linux-x86_64/libopcua.so
Installing library ../../lib/linux-x86_64/libopcua.a
make[2]: Leaving directory '/usr/local/epics/apps/opcua/devOpcuaSup/O.linux-x86_64'
make[1]: Leaving directory '/usr/local/epics/apps/opcua/devOpcuaSup'
make -C ./unitTestApp install
make[1]: Entering directory '/usr/local/epics/apps/opcua/unitTestApp'
make -C ./src install
make[2]: Entering directory '/usr/local/epics/apps/opcua/unitTestApp/src'
make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \
T_A=linux-x86_64 install
make[3]: Entering directory '/usr/local/epics/apps/opcua/unitTestApp/src/O.linux-x86_64'
/usr/local/epics/modules/gtest/cfg/RULES_GTEST:45: ElementTreeTest.make: No such file or directory
make[3]: *** No rule to make target 'Session.o', needed by 'ElementTreeTest'. Stop.
make[3]: Leaving directory '/usr/local/epics/apps/opcua/unitTestApp/src/O.linux-x86_64'
make[2]: *** [/usr/local/epics/base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2
make[2]: Leaving directory '/usr/local/epics/apps/opcua/unitTestApp/src'
make[1]: *** [/usr/local/epics/base/configure/RULES_DIRS:84: src.install] Error 2
make[1]: Leaving directory '/usr/local/epics/apps/opcua/unitTestApp'
make: *** [/usr/local/epics/base/configure/RULES_DIRS:84: unitTestApp.install] Error 2