On 12/05/2017 12:17 PM, Andrew Johnson wrote:
> Hi Mark,
>
> I can't help you directly myself as I don't know the PVA API, and from
> his silence in recent days I suspect Michael is busy (he may be in
> Florida).
Your suspicion is correct. December is going to be a busy month for me.
> However if you read the release notes for both pvData and
> pvAccess (linked from the Base-7.0.1 web-page) they have some summaries
> of required application changes which clean up a whole raft of potential
> and real memory leaks and other problems.
>
> That said, the error below might just need a 'const' keyword adding to a
> declaration somewhere, that is mentioned as one change in the pvAccess
> notes.
This "breakage" is due to my optimizing PVUnion. I write "breakage"
because this line wasn't doing what you expected/wanted.
PVUnion::get() used to return a temporary. reset()ing the temporary
was valid, but had no effect on the PVUnion. Now a const reference is
returned, which explicitly fails to compile.
Also, previously it wasn't possible to clear a discriminating PVUnion at all.
Now it works for all union types.
https://github.com/epics-base/pvDataCPP/issues/47
> - Andrew
>
>
> On 12/04/2017 06:39 PM, Mark Rivers wrote:
>> I am now working through building synApps and areaDetector with 7.0.01-rc1.
>>
>> I get this error when building areaDetector on linux-x86-64:
>>
>> make[5]: Entering directory
>> `/home/epics/devel-base7/areaDetector-3-1/ADCore/ADApp/ntndArrayConverterSrc/O.linux-x86_64'
>>
>> /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/corvette/usr/local/epics-devel/base-7.0.1/include/compiler/gcc
>> -I/corvette/usr/local/epics-devel/base-7.0.1/include/os/Linux
>> -I/corvette/usr/local/epics-devel/base-7.0.1/include
>> -I/corvette/home/epics/devel-base7/asyn-4-32/include
>> -I/corvette/home/epics/devel-base7/areaDetector-3-1/ADSupport/include/os/Linux
>> -I/corvette/home/epics/devel-base7/areaDetector-3-1/ADSupport/include
>> -I/corvette/home/epics/devel-base7/areaDetector-3-1/ADCore/include
>> -c ../ntndArrayConverter.cpp
>>
>> ../ntndArrayConverter.cpp: In member function 'void
>> NTNDArrayConverter::fromUndefinedAttribute(epics::pvData::PVStructurePtr)':
>>
>> ../ntndArrayConverter.cpp:497:54: error: passing 'const PVFieldPtr {aka
>> const std::tr1::shared_ptr<epics::pvData::PVField>}' as 'this' argument
>> of 'void std::tr1::__shared_ptr<_Tp, _Lp>::reset() [with _Tp =
>> epics::pvData::PVField; __gnu_cxx::_Lock_policy _Lp =
>> (__gnu_cxx::_Lock_policy)2u]' discards qualifiers [-fpermissive]
>>
>> dest->getSubField<PVUnion>("value")->get().reset();
>
- References:
- Problem building areaDetector with base7.0.1-rc1 Mark Rivers
- Re: Problem building areaDetector with base7.0.1-rc1 Andrew Johnson
- Navigate by Date:
- Prev:
Re: Link problem in areaDetector with pva libraries Andrew Johnson
- Next:
EPICS 7 and boost Dirk Zimoch
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problem building areaDetector with base7.0.1-rc1 Andrew Johnson
- Next:
Link problem in areaDetector with pva libraries Mark Rivers
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
|