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: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type |
From: | "Marco A. Barra Montevechi Filho via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu>, Michael Davidsaver <mdavidsaver at gmail.com> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 25 Aug 2022 00:45:32 +0000 |
Sorry
Yes, your suspicion was right: i was using the most recent epics version i could find which was here:
https://github.com/epics-base/epics-base.git
but i was using synApps_6_1 which i got from here:
https://www.aps.anl.gov/BCDA/synApps/Where-to-find-it. I updated synApps with this link:
https://github.com/EPICS-synApps/support and finally ADCore compiled
(areaDetector is now R3-11)
Thanks for the help and patience, Marco
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: 24 August 2022 19:45 To: Michael Davidsaver <mdavidsaver at gmail.com>; Marco A. Barra Montevechi Filho <marco.filho at lnls.br> Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type
Hi Marco,
I don't think you answered Michael's question about what version of EPICS base you are using?
I strongly suspect the problem you are having:
> ../../../include/NDAttribute.h:87:23: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type
> 87 | class epicsShareClass NDAttribute { is because you are using an old version of ADCore (R3-7) with a new version of EPICS base (7.0.5 or later). The problem arises because
previous versions of EPICS base "indirectly" included "shareLib.h" and so hid this problem in the source code. That change required fixes to a number of synApps modules.
areaDetector R3-10 and later eliminated the use of shareLib.h, and so does not have this problem.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Marco A. Barra Montevechi Filho via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, August 23, 2022 10:41 PM To: Michael Davidsaver <mdavidsaver at gmail.com> Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type
Thanks, Michael.
ADCore-R3-9 needed an updated version of asyn and one thing led to another and now im recompiling the whlo synApps. It seems to be running smoothier now. If i get any other issues i will get back to the mailing list. Thanks, Marco From: Michael Davidsaver <mdavidsaver at gmail.com>
Sent: 23 August 2022 22:40 To: Marco A. Barra Montevechi Filho <marco.filho at lnls.br> Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type On 8/23/22 18:22, Marco A. Barra Montevechi Filho via Tech-talk wrote:
> Hello all. > > Im trying to compile areaDetector-R3-7 in my machine. After following this tutorial: (https://areadetector.github.io/master/install_guide.html <https://areadetector.github.io/master/install_guide.html>) and turning every WITH_GRAPHICSMAGICK variable to NO to avoid problems with VP8LDelete and similar functions, im facing the compiling error that i append in the end of this email. It seems to be originated in areaDetector-R3-7/ADCore/ADApp/pluginSrc. > > Searching for answers i found this answer: (https://epics.anl.gov/tech-talk/2017/msg00990.php <https://epics.anl.gov/tech-talk/2017/msg00990.php>) but i dont think its the same as my problem since EPICS_BASE is correctly defined in my configure/RELEASE_LIBS.local, configure/RELEASE_BASE.local and configure/RELEASE_PRODS.local. My version of areaDetector also didnt come with the files EXAMPLE_RELEASE_PATHS.local and EXAMPLE_CONFIG_SITE.local. > > Does anyone have any hints on how to proceed? Thanks in advance. Which version of EPICS Base are you building with? > Compilation message when done inside areaDetector-R3-7/ADCore/ADApp/pluginSrc: Do you see the same with ADCore R3-9 ? > areaDetector-R3-7/ADCore/ADApp/pluginSrc$ make > make -C O.linux-x86_64 -f ../Makefile TOP=../../.. \ > T_A=linux-x86_64 install > make[1]: Entering directory '/home/marco/EPICS/synApps_6_1/support/areaDetector-R3-7/ADCore/ADApp/pluginSrc/O.linux-x86_64' > /usr/bin/g++ -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_X86_64_ -DUNIX -Dlinux -O3 -g -Wall -DHAVE_JPEG -DHAVE_BLOSC -DHAVE_BITSHUFFLE -DH5_NO_DEPRECATED_SYMBOLS -DH5Gopen_vers=2 -mtune=generic -m64 -fPIC -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/gcc -I../../../include/os/Linux -I../../../include -I/home/marco/EPICS/synApps_6_1/support/asyn-R4-36/include -I/home/marco/EPICS/synApps_6_1/support/areaDetector-R3-7/ADSupport/include/os/Linux -I/home/marco/EPICS/synApps_6_1/support/areaDetector-R3-7/ADSupport/include -I/home/marco/EPICS/synApps_6_1/support/areaDetector-R3-7/ADCore/include -I/home/marco/EPICS/epics-base/include/compiler/gcc -I/home/marco/EPICS/epics-base/include/os/Linux -I/home/marco/EPICS/epics-base/include -c ../NDArrayRing.cpp > In file included from ../../../include/NDArray.h:20, > from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDAttribute.h:87:23: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type > 87 | class epicsShareClass NDAttribute { > | ^~~~~~~~~~~ > ../../../include/NDAttribute.h:88:1: error: expected primary-_expression_ before ‘public’ > 88 | public: > | ^~~~~~ > ../../../include/NDAttribute.h:88:1: error: expected ‘}’ before ‘public’ > ../../../include/NDAttribute.h:87:35: note: to match this ‘{’ > 87 | class epicsShareClass NDAttribute { > | ^ > ../../../include/NDAttribute.h:88:1: error: expected ‘,’ or ‘;’ before ‘public’ > 88 | public: > | ^~~~~~ > ../../../include/NDAttribute.h:92:16: error: expected constructor, destructor, or type conversion before ‘(’ token > 92 | NDAttribute(NDAttribute& attribute); > | ^ > ../../../include/NDAttribute.h:94:13: error: declaration of ‘~ NDAttribute’ as non-member > 94 | virtual ~NDAttribute(); > | ^~~~~~~~~~~~ > ../../../include/NDAttribute.h:95:13: error: ‘NDAttribute’ does not name a type > 95 | virtual NDAttribute* copy(NDAttribute *pAttribute); > | ^~~~~~~~~~~ > ../../../include/NDAttribute.h:96:5: error: ‘virtual’ outside class declaration > 96 | virtual const char *getName(); > | ^~~~~~~ > ../../../include/NDAttribute.h:97:5: error: ‘virtual’ outside class declaration > 97 | virtual const char *getDescription(); > | ^~~~~~~ > ../../../include/NDAttribute.h:98:5: error: ‘virtual’ outside class declaration > 98 | virtual const char *getSource(); > | ^~~~~~~ > ../../../include/NDAttribute.h:99:5: error: ‘virtual’ outside class declaration > 99 | virtual const char *getSourceInfo(NDAttrSource_t *pSourceType); > | ^~~~~~~ > ../../../include/NDAttribute.h:100:5: error: ‘virtual’ outside class declaration > 100 | virtual NDAttrDataType_t getDataType(); > | ^~~~~~~ > ../../../include/NDAttribute.h:101:5: error: ‘virtual’ outside class declaration > 101 | virtual int getValueInfo(NDAttrDataType_t *pDataType, size_t *pDataSize); > | ^~~~~~~ > ../../../include/NDAttribute.h:102:5: error: ‘virtual’ outside class declaration > 102 | virtual int getValue(NDAttrDataType_t dataType, void *pValue, size_t dataSize=0); > | ^~~~~~~ > ../../../include/NDAttribute.h:103:5: error: ‘virtual’ outside class declaration > 103 | virtual int getValue(std::string& value); > | ^~~~~~~ > ../../../include/NDAttribute.h:104:5: error: ‘virtual’ outside class declaration > 104 | virtual int setDataType(NDAttrDataType_t dataType); > | ^~~~~~~ > ../../../include/NDAttribute.h:105:5: error: ‘virtual’ outside class declaration > 105 | virtual int setValue(const void *pValue); > | ^~~~~~~ > ../../../include/NDAttribute.h:106:5: error: ‘virtual’ outside class declaration > 106 | virtual int setValue(const std::string&); > | ^~~~~~~ > ../../../include/NDAttribute.h:107:5: error: ‘virtual’ outside class declaration > 107 | virtual int updateValue(); > | ^~~~~~~ > ../../../include/NDAttribute.h:108:5: error: ‘virtual’ outside class declaration > 108 | virtual int report(FILE *fp, int details); > | ^~~~~~~ > ../../../include/NDAttribute.h:109:5: error: ‘friend’ used outside of class > 109 | friend class NDArray; > | ^~~~~~ > | ------ > ../../../include/NDAttribute.h:110:5: error: ‘friend’ used outside of class > 110 | friend class NDAttributeList; > | ^~~~~~ > | ------ > ../../../include/NDAttribute.h:113:1: error: expected unqualified-id before ‘private’ > 113 | private: > | ^~~~~~~ > ../../../include/NDAttribute.h:124:1: error: expected declaration before ‘}’ token > 124 | }; > | ^ > In file included from ../../../include/NDArray.h:21, > from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDAttributeList.h:21:23: error: variable ‘epicsShareClass NDAttributeList’ has initializer but incomplete type > 21 | class epicsShareClass NDAttributeList { > | ^~~~~~~~~~~~~~~ > ../../../include/NDAttributeList.h:22:1: error: expected primary-_expression_ before ‘public’ > 22 | public: > | ^~~~~~ > ../../../include/NDAttributeList.h:22:1: error: expected ‘}’ before ‘public’ > ../../../include/NDAttributeList.h:21:39: note: to match this ‘{’ > 21 | class epicsShareClass NDAttributeList { > | ^ > ../../../include/NDAttributeList.h:22:1: error: expected ‘,’ or ‘;’ before ‘public’ > 22 | public: > | ^~~~~~ > ../../../include/NDAttributeList.h:24:23: error: expected constructor, destructor, or type conversion before ‘;’ token > 24 | ~NDAttributeList(); > | ^ > ../../../include/NDAttributeList.h:25:35: error: ‘pAttribute’ was not declared in this scope; did you mean ‘NDAttribute’? > 25 | int add(NDAttribute *pAttribute); > | ^~~~~~~~~~ > | NDAttribute > ../../../include/NDAttributeList.h:26:5: error: ‘NDAttribute’ does not name a type > 26 | NDAttribute* add(const char *pName, const char *pDescription="", > | ^~~~~~~~~~~ > ../../../include/NDAttributeList.h:28:5: error: ‘NDAttribute’ does not name a type > 28 | NDAttribute* find(const char *pName); > | ^~~~~~~~~~~ > ../../../include/NDAttributeList.h:29:5: error: ‘NDAttribute’ does not name a type > 29 | NDAttribute* next(NDAttribute *pAttribute); > | ^~~~~~~~~~~ > ../../../include/NDAttributeList.h:33:40: error: ‘pOut’ was not declared in this scope > 33 | int copy(NDAttributeList *pOut); > | ^~~~ > ../../../include/NDAttributeList.h:37:1: error: expected unqualified-id before ‘private’ > 37 | private: > | ^~~~~~~ > ../../../include/NDAttributeList.h:40:1: error: expected declaration before ‘}’ token > 40 | }; > | ^ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:92:23: error: variable ‘epicsShareClass NDArray’ has initializer but incomplete type > 92 | class epicsShareClass NDArray { > | ^~~~~~~ > ../../../include/NDArray.h:93:1: error: expected primary-_expression_ before ‘public’ > 93 | public: > | ^~~~~~ > ../../../include/NDArray.h:93:1: error: expected ‘}’ before ‘public’ > ../../../include/NDArray.h:92:31: note: to match this ‘{’ > 92 | class epicsShareClass NDArray { > | ^ > ../../../include/NDArray.h:93:1: error: expected ‘,’ or ‘;’ before ‘public’ > 93 | public: > | ^~~~~~ > ../../../include/NDArray.h:96:90: error: expected constructor, destructor, or type conversion before ‘;’ token > 96 | NDArray(int ndims, size_t *dims, NDDataType_t dataType, size_t dataSize, void *pData); > | ^ > ../../../include/NDArray.h:97:13: error: declaration of ‘~ NDArray’ as non-member > 97 | virtual ~NDArray(); > | ^~~~~~~~ > ../../../include/NDArray.h:103:38: error: non-member function ‘int getReferenceCount()’ cannot have cv-qualifier > 103 | int getReferenceCount() const {return referenceCount;} > | ^~~~~ > ../../../include/NDArray.h: In function ‘int getReferenceCount()’: > ../../../include/NDArray.h:103:52: error: ‘referenceCount’ was not declared in this scope; did you mean ‘getReferenceCount’? > 103 | int getReferenceCount() const {return referenceCount;} > | ^~~~~~~~~~~~~~ > | getReferenceCount > ../../../include/NDArray.h: At global scope: > ../../../include/NDArray.h:105:5: error: ‘friend’ used outside of class > 105 | friend class NDArrayPool; > | ^~~~~~ > | ------ > ../../../include/NDArray.h:107:1: error: expected unqualified-id before ‘private’ > 107 | private: > | ^~~~~~~ > ../../../include/NDArray.h:111:1: error: expected unqualified-id before ‘public’ > 111 | public: > | ^~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:127:5: error: ‘NDAttributeList’ does not name a type > 127 | NDAttributeList *pAttributeList; /**< Linked list of attributes */ > | ^~~~~~~~~~~~~~~ > ../../../include/NDArray.h:130:1: error: expected declaration before ‘}’ token > 130 | }; > | ^ > ../../../include/NDArray.h:142:32: error: expected ‘)’ before ‘*’ token > 142 | freeListElement(NDArray *pArray, size_t dataSize) { > | ~ ^~ > | ) > ../../../include/NDArray.h:148:9: error: ‘NDArray’ does not name a type > 148 | NDArray *pArray_; > | ^~~~~~~ > ../../../include/NDArray.h:161:23: error: variable ‘epicsShareClass NDArrayPool’ has initializer but incomplete type > 161 | class epicsShareClass NDArrayPool { > | ^~~~~~~~~~~ > ../../../include/NDArray.h:162:1: error: expected primary-_expression_ before ‘public’ > 162 | public: > | ^~~~~~ > ../../../include/NDArray.h:162:1: error: expected ‘}’ before ‘public’ > ../../../include/NDArray.h:161:35: note: to match this ‘{’ > 161 | class epicsShareClass NDArrayPool { > | ^ > ../../../include/NDArray.h:162:1: error: expected ‘,’ or ‘;’ before ‘public’ > 162 | public: > | ^~~~~~ > ../../../include/NDArray.h:164:13: error: declaration of ‘~ NDArrayPool’ as non-member > 164 | virtual ~NDArrayPool() {} > | ^~~~~~~~~~~~ > ../../../include/NDArray.h:165:5: error: ‘NDArray’ does not name a type > 165 | NDArray* alloc(int ndims, size_t *dims, NDDataType_t dataType, size_t dataSize, void *pData); > | ^~~~~~~ > ../../../include/NDArray.h:166:5: error: ‘NDArray’ does not name a type > 166 | NDArray* copy(NDArray *pIn, NDArray *pOut, bool copyData, bool copyDimensions=true, bool copyDataType=true); > | ^~~~~~~ > ../../../include/NDArray.h:168:26: error: ‘int reserve’ redeclared as different kind of entity > 168 | int reserve(NDArray *pArray); > | ^~~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:101:18: note: previous declaration ‘int reserve()’ > 101 | int reserve(); > | ^~~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:168:35: error: ‘pArray’ was not declared in this scope; did you mean ‘NDArray’? > 168 | int reserve(NDArray *pArray); > | ^~~~~~ > | NDArray > ../../../include/NDArray.h:169:26: error: ‘int release’ redeclared as different kind of entity > 169 | int release(NDArray *pArray); > | ^~~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:102:18: note: previous declaration ‘int release()’ > 102 | int release(); > | ^~~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:169:35: error: ‘pArray’ was not declared in this scope; did you mean ‘NDArray’? > 169 | int release(NDArray *pArray); > | ^~~~~~ > | NDArray > ../../../include/NDArray.h:170:35: error: ‘pIn’ was not declared in this scope > 170 | int convert(NDArray *pIn, > | ^~~ > ../../../include/NDArray.h:171:36: error: ‘ppOut’ was not declared in this scope > 171 | NDArray **ppOut, > | ^~~~~ > ../../../include/NDArray.h:172:39: error: expected primary-_expression_ before ‘dataTypeOut’ > 172 | NDDataType_t dataTypeOut, > | ^~~~~~~~~~~ > ../../../include/NDArray.h:173:40: error: expected primary-_expression_ before ‘*’ token > 173 | NDDimension_t *outDims); > | ^ > ../../../include/NDArray.h:173:41: error: ‘outDims’ was not declared in this scope > 173 | NDDimension_t *outDims); > | ^~~~~~~ > ../../../include/NDArray.h:173:48: error: _expression_ list treated as compound _expression_ in initializer [-fpermissive] > 173 | NDDimension_t *outDims); > | ^ > ../../../include/NDArray.h:174:18: error: redefinition of ‘int convert’ > 174 | int convert(NDArray *pIn, > | ^~~~~~~ > ../../../include/NDArray.h:170:18: note: ‘int convert’ previously defined here > 170 | int convert(NDArray *pIn, > | ^~~~~~~ > ../../../include/NDArray.h:174:35: error: ‘pIn’ was not declared in this scope > 174 | int convert(NDArray *pIn, > | ^~~ > ../../../include/NDArray.h:175:36: error: ‘ppOut’ was not declared in this scope > 175 | NDArray **ppOut, > | ^~~~~ > ../../../include/NDArray.h:176:39: error: expected primary-_expression_ before ‘dataTypeOut’ > 176 | NDDataType_t dataTypeOut); > | ^~~~~~~~~~~ > ../../../include/NDArray.h:184:1: error: expected unqualified-id before ‘protected’ > 184 | protected: > | ^~~~~~~~~ > ../../../include/NDArray.h:189:5: error: ‘virtual’ outside class declaration > 189 | virtual void onAllocateArray(NDArray *pArray); > | ^~~~~~~ > ../../../include/NDArray.h:189:18: error: variable or field ‘onAllocateArray’ declared void > 189 | virtual void onAllocateArray(NDArray *pArray); > | ^~~~~~~~~~~~~~~ > ../../../include/NDArray.h:189:43: error: ‘pArray’ was not declared in this scope; did you mean ‘NDArray’? > 189 | virtual void onAllocateArray(NDArray *pArray); > | ^~~~~~ > | NDArray > ../../../include/NDArray.h:190:5: error: ‘virtual’ outside class declaration > 190 | virtual void onReserveArray(NDArray *pArray); > | ^~~~~~~ > ../../../include/NDArray.h:190:18: error: variable or field ‘onReserveArray’ declared void > 190 | virtual void onReserveArray(NDArray *pArray); > | ^~~~~~~~~~~~~~ > ../../../include/NDArray.h:190:42: error: ‘pArray’ was not declared in this scope; did you mean ‘NDArray’? > 190 | virtual void onReserveArray(NDArray *pArray); > | ^~~~~~ > | NDArray > ../../../include/NDArray.h:191:5: error: ‘virtual’ outside class declaration > 191 | virtual void onReleaseArray(NDArray *pArray); > | ^~~~~~~ > ../../../include/NDArray.h:191:18: error: variable or field ‘onReleaseArray’ declared void > 191 | virtual void onReleaseArray(NDArray *pArray); > | ^~~~~~~~~~~~~~ > ../../../include/NDArray.h:191:42: error: ‘pArray’ was not declared in this scope; did you mean ‘NDArray’? > 191 | virtual void onReleaseArray(NDArray *pArray); > | ^~~~~~ > | NDArray > ../../../include/NDArray.h:193:1: error: expected unqualified-id before ‘private’ > 193 | private: > | ^~~~~~~ > ../../../include/NDArray.h:200:1: error: expected declaration before ‘}’ token > 200 | }; > | ^ > In file included from ../NDArrayRing.cpp:19: > ../NDArrayRing.h:20:5: error: ‘NDArray’ does not name a type > 20 | NDArray *addToEnd(NDArray *pArray); > | ^~~~~~~ > ../NDArrayRing.h:23:5: error: ‘NDArray’ does not name a type > 23 | NDArray *readFromStart(); > | ^~~~~~~ > ../NDArrayRing.h:26:5: error: ‘NDArray’ does not name a type > 26 | NDArray *readNext(); > | ^~~~~~~ > ../NDArrayRing.h:36:5: error: ‘NDArray’ does not name a type > 36 | NDArray** buffers_; > | ^~~~~~~ > ../NDArrayRing.cpp: In constructor ‘NDArrayRing::NDArrayRing(int)’: > ../NDArrayRing.cpp:24:3: error: ‘buffers_’ was not declared in this scope; did you mean ‘numBuffers_’? > 24 | buffers_ = NULL; > | ^~~~~~~~ > | numBuffers_ > ../NDArrayRing.cpp:29:18: error: ‘NDArray’ does not name a type > 29 | buffers_ = new NDArray *[noOfBuffers_]; > | ^~~~~~~ > ../NDArrayRing.cpp:29:28: error: capture of non-variable ‘NDArrayRing::noOfBuffers_’ > 29 | buffers_ = new NDArray *[noOfBuffers_]; > | ^~~~~~~~~~~~ > In file included from ../NDArrayRing.cpp:19: > ../NDArrayRing.h:39:10: note: ‘int NDArrayRing::noOfBuffers_’ declared here > 39 | int noOfBuffers_; > | ^~~~~~~~~~~~ > ../NDArrayRing.cpp: In lambda function: > ../NDArrayRing.cpp:29:41: error: expected ‘{’ before ‘;’ token > 29 | buffers_ = new NDArray *[noOfBuffers_]; > | ^ > ../NDArrayRing.cpp: In destructor ‘NDArrayRing::~NDArrayRing()’: > ../NDArrayRing.cpp:38:12: error: ‘buffers_’ was not declared in this scope; did you mean ‘numBuffers_’? > 38 | delete[] buffers_; > | ^~~~~~~~ > | numBuffers_ > ../NDArrayRing.cpp: At global scope: > ../NDArrayRing.cpp:49:1: error: ‘NDArray’ does not name a type > 49 | NDArray *NDArrayRing::addToEnd(NDArray *pArray) > | ^~~~~~~ > ../NDArrayRing.cpp:71:1: error: ‘NDArray’ does not name a type > 71 | NDArray *NDArrayRing::readFromStart() > | ^~~~~~~ > ../NDArrayRing.cpp:83:1: error: ‘NDArray’ does not name a type > 83 | NDArray *NDArrayRing::readNext() > | ^~~~~~~ > ../NDArrayRing.cpp: In member function ‘void NDArrayRing::clear()’: > ../NDArrayRing.cpp:104:7: error: ‘buffers_’ was not declared in this scope; did you mean ‘numBuffers_’? > 104 | if (buffers_){ > | ^~~~~~~~ > | numBuffers_ > In file included from ../../../include/NDArray.h:20, > from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDAttribute.h: At global scope: > ../../../include/NDAttribute.h:93:24: warning: ‘const char* attrSourceString(NDAttrSource_t)’ declared ‘static’ but never defined [-Wunused-function] > 93 | static const char *attrSourceString(NDAttrSource_t type); > | ^~~~~~~~~~~~~~~~ > In file included from ../NDArrayRing.h:4, > from ../NDArrayRing.cpp:19: > ../../../include/NDArray.h:99:18: warning: ‘int computeArrayInfo(int, size_t*, NDDataType_t, NDArrayInfo*)’ declared ‘static’ but never defined [-Wunused-function] > 99 | static int computeArrayInfo(int ndims, size_t *dims, NDDataType_t dataType, NDArrayInfo *pInfo); > | ^~~~~~~~~~~~~~~~ > make[1]: *** [/home/marco/EPICS/epics-base/configure/RULES_BUILD:267: NDArrayRing.o] Error 1 > make[1]: Leaving directory '/home/marco/EPICS/synApps_6_1/support/areaDetector-R3-7/ADCore/ADApp/pluginSrc/O.linux-x86_64' > make: *** [/home/marco/EPICS/epics-base/configure/RULES_ARCHS:58: install.linux-x86_64] Error 2 > > Aviso Legal: Esta mensagem e seus anexos podem conter informações confidenciais e/ou de uso restrito. Observe atentamente seu conteúdo e considere eventual consulta ao remetente antes de copiá-la, divulgá-la ou distribuí-la. Se você recebeu esta mensagem por engano, por favor avise o remetente e apague-a imediatamente. > > Disclaimer: This email and its attachments may contain confidential and/or privileged information. Observe its content carefully and consider possible querying to the sender before copying, disclosing or distributing it. If you have received this email by mistake, please notify the sender and delete it immediately. > |