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: compilation error with stream device |
From: | Zimoch Dirk via Tech-talk <tech-talk at aps.anl.gov> |
To: | Vishnu Patel <patel.vishnu at hotmail.com>, "Tech Talk (tech-talk at aps.anl.gov)" <Tech-talk at aps.anl.gov> |
Date: | Wed, 30 Aug 2023 08:57:51 +0000 |
The definition of rset has changed in EPICS 7 (actually 3.16). That's why this line is in my Makefiles: CPPFLAGS += -DUSE_TYPED_RSET I don not see that option in your make output. Can it be that you do not use my Makefile? Have a look at streamApp/Makefile. Dirk From: Vishnu Patel <patel.vishnu at hotmail.com>
Dear Dirk,
Thank you for quick reply. Now i have next error with epicsShareFunc. I am using base-7.0.7 and asyn-R4-43 /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I.
-I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I../../../..//asyn-R4-43/include -I../../../..//calc/include -I../../../..//sscan/include -I../../../../../base-7.0.7/include/compiler/gcc -I../../../../../base-7.0.7/include/os/Linux
-I../../../../../base-7.0.7/include -c ../StreamEpics.cc In file included from ../../../../../base-7.0.7/include/dbStaticLib.h:23, from ../StreamEpics.cc:39: ../../../../../base-7.0.7/include/dbBase.h:164:22: warning: ‘rset’ is deprecated [-Wdeprecated-declarations] 164 | rset *prset; | ^~~~~ In file included from ../../../../../base-7.0.7/include/dbBase.h:22, from ../../../../../base-7.0.7/include/dbStaticLib.h:23, from ../StreamEpics.cc:39: ../../../../../base-7.0.7/include/recSup.h:89:21: note: declared here 89 | typedef struct rset rset EPICS_DEPRECATED; | ^~~~ ../StreamEpics.cc:72:1: error: ‘epicsShareFunc’ does not name a type 72 | epicsShareFunc int epicsShareAPI iocshCmd(const char *command); | ^~~~~~~~~~~~~~ ../StreamEpics.cc:72:1: note: the macro ‘epicsShareFunc’ had not yet been defined In file included from ../devStream.h:64, from ../StreamEpics.cc:80: ../../../../../base-7.0.7/include/shareLib.h:169: note: it was later defined here 169 | # define epicsShareFunc __attribute__ ((visibility("default"))) |
In file included from ../../../../../base-7.0.7/include/dbAccess.h:24, from ../devStream.h:57, from ../StreamEpics.cc:80: ../../../../../base-7.0.7/include/dbAccessDefs.h:210:55: warning: ‘rset’ is deprecated [-Wdeprecated-declarations] 210 | DBCORE_API rset * dbGetRset(const struct dbAddr *paddr); | ^ In file included from ../../../../../base-7.0.7/include/dbBase.h:22, from ../../../../../base-7.0.7/include/dbStaticLib.h:23, from ../StreamEpics.cc:39: ../../../../../base-7.0.7/include/recSup.h:89:21: note: declared here 89 | typedef struct rset rset EPICS_DEPRECATED; | ^~~~ make[3]: *** [../../../../../base-7.0.7/configure/RULES_BUILD:263: StreamEpics.o] Error 1 make[3]: Leaving directory '/opt/epics/support/stream/StreamDevice/src/O.linux-x86_64' make[2]: *** [../../../../base-7.0.7/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[2]: Leaving directory '/opt/epics/support/stream/StreamDevice/src' make[1]: *** [../../../base-7.0.7/configure/RULES_DIRS:85: src.install] Error 2 make[1]: Leaving directory '/opt/epics/support/stream/StreamDevice' make: *** [configure/RULES_DIRS:88: StreamDevice.install] Error 2 Thank you Vishnu From: Zimoch Dirk <dirk.zimoch at psi.ch> Hello Vishnu, The scalcout record type is in the "calc" module which is part of SynApps. You can either build StreamDevice without support for scalcout or you have to add the calc module to your project. Dirk From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Vishnu Patel via Tech-talk Hi, I am using stream device in my application. with stream device i am getting error below usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -DUSE_TYPED_RSET -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -mtune=generic -m64 -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc
-I../../../include/os/Linux -I../../../include -I/opt/epics/support/s7nodave-3.0.2/include -I/opt/epics/support/seq-2.2.5/include -I/opt/epics/support/asyn-R4-43/include -I/opt/epics/support/modbus/include -I/opt/epics/support/stream/include -I/opt/epics/base-7.0.7/include/compiler/gcc
-I/opt/epics/base-7.0.7/include/os/Linux -I/opt/epics/base-7.0.7/include -MM -MF lcpcMain.d ../lcpcMain.cpp
Creating dbd file lcpc.dbd perl -CSD /opt/epics/base-7.0.7/bin/linux-x86_64/dbdExpand.pl -I. -I.. -I../O.Common -I../../../dbd -I/opt/epics/support/s7nodave-3.0.2/dbd -I/opt/epics/support/seq-2.2.5/dbd -I/opt/epics/support/asyn-R4-43/dbd
-I/opt/epics/support/modbus/dbd -I/opt/epics/support/stream/dbd -I/opt/epics/base-7.0.7/dbd -o lcpc.dbd base.dbd xxxSupport.dbd dbSub.dbd devlcpcVersion.dbd lcpcHello.dbd initTrace.dbd s7nodave.dbd asyn.dbd drvAsynSerialPort.dbd drvAsynIPPort.dbd stream.dbd
modbusSupport.dbd sncExample.dbd PVAServerRegister.dbd qsrv.dbd dbdExpand.pl: Device 'stream' refers to unknown record type 'scalcout'. DBD files must be combined in the correct order. Context: file '/opt/epics/support/stream/dbd/stream.dbd' while reading 'stream.dbd' to create 'lcpc.dbd' dbdExpand.pl: Exiting due to errors make[3]: *** [/opt/epics/base-7.0.7/configure/RULES.Db:406: ../O.Common/lcpc.dbd] Error 255 make[3]: Leaving directory '/home/ipr/epicsDev/lcpc/lcpcApp/src/O.linux-x86_64' make[2]: *** [/opt/epics/base-7.0.7/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 make[2]: Leaving directory '/home/ipr/epicsDev/lcpc/lcpcApp/src' make[1]: *** [/opt/epics/base-7.0.7/configure/RULES_DIRS:85: src.install] Error 2 make[1]: Leaving directory '/home/ipr/epicsDev/lcpc/lcpcApp' make: *** [/opt/epics/base-7.0.7/configure/RULES_DIRS:85: lcpcApp.install] Error 2 dbd order in make file is # lcpc.dbd will include these files:
lcpc_DBD += base.dbd lcpc_DBD += xxxSupport.dbd lcpc_DBD += dbSub.dbd lcpc_DBD += devlcpcVersion.dbd lcpc_DBD += lcpcHello.dbd lcpc_DBD += initTrace.dbd lcpc_DBD += s7nodave.dbd lcpc_DBD += asyn.dbd lcpc_DBD += drvAsynSerialPort.dbd lcpc_DBD += drvAsynIPPort.dbd lcpc_DBD += stream.dbd lcpc_DBD += modbusSupport.dbd
what can be the reason for error? Thanks Vishnu |