Hi Mark,
after some search, I found a system with Ubuntu 14.04, that I could update.
And Voila, areaDetector compiles! So it seems that the first system I was
using is not up to date and I was trapped by a bug in some libc++/libstdc++.
Nevertheless, thanks for your tips an time doing compile test.
Regards,
Jörn
Am Mittwoch, 15. November 2017, 17:18:05 CET schrieb Mark Rivers:
> Hi Jörn,
>
> I have successfully built EPICS-CPP-4.6.0 and the master branch
> ntndArrayConverter.cpp with the following versions of gcc:
> gcc (GCC) 4.2.1 (SUSE Linux)
> gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
>
> You are getting an error with 4.8.4. This seems strange since it builds OK
> for me with 2 versions of gcc that are older than yours, and one version
> that is slightly newer.
> Are you sure you are using the released version of EPICS-CPP-4.6.0?
>
> I believe my version of EPICS-CPP-4.6.0 is the distribution version, but
> with minor changes to these 2 files to fix issues with Visual Studio 2015.
> exampleCPP/exampleClient/src/examplePvaClientPut.cpp
> exampleCPP/exampleClient/src/examplePvaClientProcess.cpp
>
> These changes are discussed on the Known Issues page:
> http://epics-pvdata.sourceforge.net/docbuild/4.6.0/issues.html#c++_module_is
> sues
> There is no mention there of the types of errors you are getting.
>
> Mark
>
>
> -----Original Message-----
> From: Jörn Dreyer [mailto:[email protected]]
> Sent: Wednesday, November 15, 2017 7:55 AM
> To: [email protected]; Mark Rivers
> Subject: Re: Compile error with areaDetector
>
> Hi Mark,
>
> I did a checkout from git with the master branch.
> But the same happens if I checkout R3-1.
>
> Regards,
>
> Jörn
>
> Am Mittwoch, 15. November 2017, 14:05:19 CET schrieb Mark Rivers:
>
> > Which version of ADCore?
> >
> >
> > ________________________________
> > From: Jörn Dreyer <[email protected]>
> > Sent: Wednesday, November 15, 2017 6:58 AM
> > To: Mark Rivers
> > Cc: [email protected]
> > Subject: Re: Compile error with areaDetector
> >
> > Hi Mark,
> >
> > I'm using:
> >
> >
> > $gcc --version
> >
> > gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
> >
> > $ lsb_release -a
> > No LSB modules are available.
> > Distributor ID: Ubuntu
> > Description: Ubuntu 14.04.5 LTS
> > Release: 14.04
> > Codename: trusty
> >
> > Regards,
> >
> > Jörn
> >
> >
> > > Hi Jörn,
> > >
> > >
> > > I don't have experience with gcc 5.4.0. But you say you are also
> > > getting
> > > an error with gcc 4.8. I am running gcc 4.8.5
> > >
> > >
> > > gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
> > >
> > >
> > > and ntndArrayConverter.cpp compiles fine for me with that compiler.
> > > Exactly which version of gcc 4.8 is failing for you?
> > >
> > >
> > > Mark
> > >
> > >
> > >
> > > ________________________________
> > > From: [email protected] <[email protected]> on
> > > behalf of Dreyer, Dr. Joern <[email protected]> Sent: Wednesday,
> > > November
> > > 15, 2017 1:26 AM
> > > To: [email protected]
> > > Subject: Compile error with areaDetector
> > >
> > > Hi,
> > >
> > > I have run into a problem with areaDetector compilation when enabling
> > > EPICS4 using version 4.6.0 on Ubuntu16.04.3 LTS.
> > > Thanks,
>
>
> problem solved. I used a different system to get acces, which did not have
> my
public ssh key installed in ~/.ssh. nAfter copying the key from
> another system, it worked!
>
>
> > > ../ntndArrayConverter.cpp: In member function ‘void
> > > NTNDArrayConverter::fromUndefinedAttribute(epics::pvData::PVStructurePtr
> > > )’
> > >
> > > :
> > >
> > > ../ntndArrayConverter.cpp:497:54: error: no matching function for call
> > > to
> > > ‘std::tr1::shared_ptr<epics::pvData::PVField>::reset() const’
> > >
> > >
> > > dest->getSubField<PVUnion>("value")->get().reset();
> > > ^
> > >
> > >
> > > In file included from /usr/include/c++/5/tr1/memory:50:0,
> > >
> > >
> > > from
> > >
> > >
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/s
> > > ha
> > > re dPtr.h:124, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/p
> > > vT
> > > yp e.h:41, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/p
> > > vD
> > > is play.h:14, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/normativeTypesCPP/incl
> > > ud
> > > e/ pv/ntndarray.h:17, from ../ntndArrayConverter.h:2,
> > >
> > >
> > > from ../ntndArrayConverter.cpp:4:
> > >
> > > /usr/include/c++/5/tr1/shared_ptr.h:644:7: note: candidate: void
> > > std::tr1::__shared_ptr<_Tp, _Lp>::reset() [with _Tp =
> > > epics::pvData::PVField; __gnu_cxx::_Lock_policy _Lp =
> > > (__gnu_cxx::_Lock_policThanks,
>
>
> problem solved. I used a different system to get acces, which did not have
> my
public ssh key installed in ~/.ssh. nAfter copying the key from
> another system, it worked!
> y)2u] <near match>
>
> > >
> > >
> > > reset() // never throws
> > > ^
> > >
> > >
> > > /usr/include/c++/5/tr1/shared_ptr.h:644:7: note: passing ‘const
> > > PVFieldPtr* {aka const std::tr1::shared_ptr<epics::pvData::PVField>*}’
> > > as
> > > ‘this’ argument discards qualifiers
> > > /usr/include/c++/5/tr1/shared_ptr.h:649:9: note: candidate:
> > > template<class
> > > _Tp1> void std::tr1::__shared_ptr<_Tp, _Lp>::reset(_Tp1*) [with _Tp1 =
> > > _Tp1; _Tp = epics::pvData::PVField; __gnu_cxx::_Lock_policy _Lp =
> > > (__gnu_cxx::_Lock_policy)2u]
> > >
> > >
> > > reset(_Tp1* __p) // _Tp1 must be complete.
> > > ^
> > >
> > >
> > > /usr/include/c++/5/tr1/shared_ptr.h:649:9: note: template argument
> > > deduction/substitution failed:
> > > ../ntndArrayConverter.cpp:497:54: note: candidate expects 1 argument,
> > > 0
> > > provided
> > >
> > >
> > > dest->getSubField<PVUnion>("value")->get().reset();
> > > ^
> > >
> > >
> > > In file included from /usr/include/c++/5/tr1/memory:50:0,
> > >
> > >
> > > from
> > >
> > >
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/s
> > > ha
> > > re dPtr.h:124, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/p
> > > vT
> > > yp e.h:41, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/pvDataCPP/include/pv/p
> > > vD
> > > is play.h:14, from
> > > /home/wuestenf/EPICS/EPICS-3.15.5/EPICS-CPP-4.6.0/normativeTypesCPP/incl
> > > ud
> > > e/ pv/ntndarray.h:17, from ../ntndArrayConverter.h:2,
> > >
> > >
> > > from ../ntndArrayConverter.cpp:4:
> > >
> > > /usr/include/c++/5/tr1/shared_ptr.h:658:9: note: candidate:
> > > template<class
> > > _Tp1, class _Deleter> void std::tr1::__shared_ptr<_Tp,
> > > _Lp>::reset(_Tp1*,
> > > _Deleter) [with _Tp1 = _Tp1; _Deleter = _Deleter; _Tp =
> > > epics::pvData::PVField; __gnu_cxx::_Lock_policy _Lp =
> > > (__gnu_cxx::_Lock_policy)2u]
> > >
> > >
> > > reset(_Tp1* __p, _Deleter __d)
> > > ^
> > >
> > >
> > > /usr/include/c++/5/tr1/shared_ptr.h:658:9: note: template argument
> > > deduction/substitution failed:
> > > ../ntndArrayConverter.cpp:497:54: note: candidate expects 2 arguments,
> > > 0
> > > provided
> > >
> > >
> > > dest->getSubField<PVUnion>("value")->get().reset();
> > >
> > >
> > > The used gcc version is 5.4.0. On Ubuntu 14.04.5 LTS The error comes at
> > > the
> > > same line, but different problem:
> > >
> > > ../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();
> > >
> > >
> > > here the used gcc version is 4.8. It look like an explicit typecast is
> > > necessary here. But what would be the correct type?
> > >
> > > Regards,
> > >
> > > Jörn
- References:
- Compile error with areaDetector Dreyer, Dr. Joern
- Re: Compile error with areaDetector Jörn Dreyer
- RE: Compile error with areaDetector Mark Rivers
- Navigate by Date:
- Prev:
EPICS Qt release 3.5.2 Andrew C. Starritt
- Next:
Re: areaDetector and HDF5 file saving segafaults Hinko Kocevar
- 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
- Navigate by Thread:
- Prev:
RE: Compile error with areaDetector Mark Rivers
- Next:
aD Driver for Opgal EyeR Core NV? Ralph Lange
- 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
|