epics-base / pva2pva

PV Access gateway/proxy and EPICS Process Database integration
https://epics-base.github.io/pva2pva/
Other
4 stars 13 forks source link

Jenkins build failures on macOS and Windows #2

Closed anjohnson closed 6 years ago

anjohnson commented 6 years ago

I updated the APS Jenkins V4 jobs to build against Base-3.16, and added jobs for pva2pva. The Jenkins macOS build agent generates 4 warnings and an error from pdbsingle.cpp:

../pdbsingle.cpp:81:54: warning: C++98 requires an accessible copy constructor for class 'FieldName' when binding a reference to a temporary; was private [-Wbind-to-temporary-copy]
    pvif.reset(builder->attach(this->chan, complete, FieldName()));
                                                     ^
../pvif.h:291:5: note: declared private here
    FieldName(const FieldName&);
    ^
../pdbsingle.cpp:209:64: warning: C++98 requires an accessible copy constructor for class 'FieldName' when binding a reference to a temporary; was private [-Wbind-to-temporary-copy]
    ,pvif(channel->pv->builder->attach(channel->pv->chan, pvf, FieldName()))
                                                               ^
../pvif.h:291:5: note: declared private here
    FieldName(const FieldName&);
    ^
../pdbsingle.cpp:273:92: warning: C++98 requires an accessible copy constructor for class 'FieldName' when binding a reference to a temporary; was private [-Wbind-to-temporary-copy]
        p2p::auto_ptr<PVIF> putpvif(channel->pv->builder->attach(channel->pv->chan, value, FieldName()));
                                                                                           ^
../pvif.h:291:5: note: declared private here
    FieldName(const FieldName&);
    ^
../pdbsingle.cpp:295:92: warning: C++98 requires an accessible copy constructor for class 'FieldName' when binding a reference to a temporary; was private [-Wbind-to-temporary-copy]
        p2p::auto_ptr<PVIF> putpvif(channel->pv->builder->attach(channel->pv->chan, value, FieldName()));
                                                                                           ^
../pvif.h:291:5: note: declared private here
    FieldName(const FieldName&);
    ^
In file included from ../pdbsingle.cpp:1:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/sstream:174:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:131:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:15:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:439:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:627:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4013:35: error: no viable overloaded '='
                __e->__weak_this_ = *this;
                ~~~~~~~~~~~~~~~~~ ^ ~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4050:5: note: in instantiation of function template specialization 'std::__1::shared_ptr<epics::pvAccess::ChannelPut>::__enable_weak_this<PDBSinglePut>' requested here
    __enable_weak_this(__p);
    ^
../pdbsingle.cpp:129:34: note: in instantiation of function template specialization 'std::__1::shared_ptr<epics::pvAccess::ChannelPut>::shared_ptr<PDBSinglePut, void>' requested here
    PDBSinglePut::shared_pointer ret(new PDBSinglePut(shared_from_this(), requester, pvRequest));
                                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4942:15: note: candidate function not viable: no known conversion from 'std::__1::shared_ptr<epics::pvAccess::ChannelPut>' to 'const std::__1::weak_ptr<PDBSinglePut>' for 1st argument
    weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT;
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4949:9: note: candidate template ignored: could not match 'weak_ptr' against 'shared_ptr'
        operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT;
        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:4967:13: note: candidate template ignored: disabled by 'enable_if' [with _Yp = epics::pvAccess::ChannelPut]
            is_convertible<_Yp*, element_type*>::value,
            ^
4 warnings and 1 error generated.

The Windows build agent generates a number of build errors from pdb.cpp:

../pdb.cpp(94) : error C2065: 'it' : undeclared identifier
../pdb.cpp(94) : error C2065: 'end' : undeclared identifier
../pdb.cpp(94) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(94) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(95) : error C2065: 'it' : undeclared identifier
../pdb.cpp(95) : error C2227: left of '->second' must point to class/struct/union/generic type
        type is ''unknown-type''
../pdb.cpp(98) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(98) : error C2065: 'end2' : undeclared identifier
../pdb.cpp(98) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(98) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(99) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(99) : error C2227: left of '->first' must point to class/struct/union/generic type
        type is ''unknown-type''
../pdb.cpp(100) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(100) : error C2227: left of '->second' must point to class/struct/union/generic type
        type is ''unknown-type''
../pdb.cpp(106) : error C2044: illegal continue
../pdb.cpp(114) : error C2065: 'it3' : undeclared identifier
../pdb.cpp(114) : error C2065: 'end3' : undeclared identifier
../pdb.cpp(114) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(114) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(115) : error C2065: 'it3' : undeclared identifier
../pdb.cpp(132) : error C2044: illegal continue
../pdb.cpp(154) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(154) : error C2065: 'end2' : undeclared identifier
../pdb.cpp(154) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(154) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(155) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(157) : error C2044: illegal continue
../pdb.cpp(327) : error C2065: 'it' : undeclared identifier
../pdb.cpp(327) : error C2065: 'end' : undeclared identifier
../pdb.cpp(328) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(327) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(329) : error C2065: 'it' : undeclared identifier
../pdb.cpp(329) : error C2227: left of '->second' must point to class/struct/union/generic type
        type is ''unknown-type''
../pdb.cpp(444) : error C2065: 'it' : undeclared identifier
../pdb.cpp(444) : error C2065: 'end' : undeclared identifier
../pdb.cpp(444) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(444) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(445) : error C2065: 'it' : undeclared identifier
../pdb.cpp(492) : error C2065: 'it2' : undeclared identifier
../pdb.cpp(492) : error C2065: 'end2' : undeclared identifier
../pdb.cpp(493) : error C2143: syntax error : missing ';' before '{'
../pdb.cpp(492) : error C3861: 'FOREACH': identifier not found
../pdb.cpp(494) : error C2065: 'it2' : undeclared identifier
mdavidsaver commented 6 years ago

Now resolved.