1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Steps for installing any EPICS Device Support module |
From: | Eusebio Naif Al-Soliman Fuentes via Tech-talk <tech-talk at aps.anl.gov> |
To: | Tech Talk <tech-talk at aps.anl.gov> |
Date: | Fri, 22 Dec 2023 13:42:46 +0100 |
Hello again Ralph and Érico.
Thanks to the instructions given by Érico in his last message, I've managed to understand how the EPICS Modules and IOC Applications work.
However, I'm having some issues creating a new IOC application following this tutorial https://docs.epics-controls.org/en/latest/getting-started/creating-ioc.html and adding the EPICS Device Support for OPC UA.
First, I have started by making the sampleIOC and adding to
sampleIOCApp/src/Makefile the next line:sampleIOC_LIBS += opcuaThen, in sampleIOCApp/src/xxxSupport.dbd I have added: include "opcua.dbd"
Finally, in configure/RELEASE.local I have included the next path:
OPCUA = /home/eusebio/binaryOpcuaIoc
However, with this first approach I'm having the next error when I try to compile with 'make'.
make[2]: Entering directory `/home/eusebio/IOCs/reccasterUAIOC/configure/O.linux-x86_64' Definition of OPCUA conflicts with OPCUA support. /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -Werror-implicit-function-declaration -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/eusebio/base-7.0.7/include/compiler/gcc -I/home/eusebio/base-7.0.7/include/os/Linux -I/home/eusebio/base-7.0.7/include -MM -MF devreccasterUAIOCVersion.d ../devreccasterUAIOCVersion.c /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -Werror-implicit-function-declaration -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/eusebio/base-7.0.7/include/compiler/gcc -I/home/eusebio/base-7.0.7/include/os/Linux -I/home/eusebio/base-7.0.7/include -MM -MF dbSubExample.d ../dbSubExample.c /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -Werror-implicit-function-declaration -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/eusebio/base-7.0.7/include/compiler/gcc -I/home/eusebio/base-7.0.7/include/os/Linux -I/home/eusebio/base-7.0.7/include -MM -MF devXxxSoft.d ../devXxxSoft.c /usr/bin/gcc -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -Werror-implicit-function-declaration -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/eusebio/base-7.0.7/include/compiler/gcc -I/home/eusebio/base-7.0.7/include/os/Linux -I/home/eusebio/base-7.0.7/include -MM -MF xxxRecord.d ../xxxRecord.c /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -std=c++11 -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/eusebio/base-7.0.7/include/compiler/gcc -I/home/eusebio/base-7.0.7/include/os/Linux -I/home/eusebio/base-7.0.7/include -MM -MF reccasterUAIOCMain.d ../reccasterUAIOCMain.cpp Creating dbd file reccasterUAIOC.dbd perl -CSD /home/eusebio/base-7.0.7/bin/linux-x86_64/dbdExpand.pl -I. -I.. -I../O.Common -I../../../dbd -I/home/eusebio/base-7.0.7/dbd -I/home/eusebio/recsync-1.5/client//dbd -I/home/eusebio/binaryOpcuaIoc/dbd -o reccasterUAIOC.dbd base.dbd xxxSupport.dbd dbSubExample.dbd devreccasterUAIOCVersion.dbd reccasterUAIOCHello.dbd initTrace.dbd PVAServerRegister.dbd qsrv.dbd dbdExpand.pl: Can't find file 'opcua.dbd' while reading 'xxxSupport.dbd' to create 'reccasterUAIOC.dbd' dbdExpand.pl: Exiting due to errors Maybe, the problem is that I should use the OPC UA source code. So I have also tried to compile it from scratch with the 'open62541' libs. However, I'm having this error:
../../devOpcuaSup/open62541/SessionOpen62541.cpp: In function ‘std::ostream& DevOpcua::operator<<(std::ostream&, UA_SecureChannelState)’: ../../devOpcuaSup/open62541/SessionOpen62541.cpp:156:14: error: ‘UA_SECURECHANNELSTATE_FRESH’ was not declared in this scope case UA_SECURECHANNELSTATE_FRESH: return os << "Fresh"; ^ ../../devOpcuaSup/open62541/SessionOpen62541.cpp: In member function ‘void DevOpcua::SessionOpen62541::connectionStatusChanged(UA_SecureChannelState, UA_SessionState, UA_StatusCode)’: ../../devOpcuaSup/open62541/SessionOpen62541.cpp:1950:18: error: ‘UA_SECURECHANNELSTATE_FRESH’ was not declared in this scope case UA_SECURECHANNELSTATE_FRESH: ^ I'm using open62541 built from the source code of GitHub (https://github.com/open62541/open62541) and compiled with CMake following these instructions: https://www.open62541.org/doc/master/building.html#building-the-library
Thanks in advance and Happy Christmas to everyone.
Cheers, Eusebio.
---
Saludos/Best regards University of Granada Eusebio Naif Al-Soliman Fuentes eunaif at correo.ugr.es El 2023-12-20 15:04, Érico Nogueira Rolim escribió: Hi Eusebio, |