EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20222023  2024  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
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>
Date: Wed, 24 Aug 2022 22:31:01 +0000
> My version of areaDetector also didnt come with the files EXAMPLE_RELEASE_PATHS.local and EXAMPLE_CONFIG_SITE.local.

EXAMPLE_RELEASE_PATHS.local was removed in areaDetector R3-3 in 2018.

However, every release of areaDetector since R2-0 in 2014 has included areaDetector/configure/EXAMPLE_CONFIG_SITE.local.  So your version of areaDetector must have that file.

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.
>


References:
Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Marco A. Barra Montevechi Filho via Tech-talk
Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Michael Davidsaver via Tech-talk
Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Marco A. Barra Montevechi Filho via Tech-talk

Navigate by Date:
Prev: Re: Calibration for rotation motor of Micronix Mark Rivers via Tech-talk
Next: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Mark Rivers via Tech-talk
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  <20222023  2024 
Navigate by Thread:
Prev: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Marco A. Barra Montevechi Filho via Tech-talk
Next: Re: Help compiling AreaDetector: error: variable ‘epicsShareClass NDAttribute’ has initializer but incomplete type Mark Rivers via Tech-talk
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  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·