Details
-
Type:
Bug
-
Status: Invalid
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: afw
-
Labels:
Description
I'm guessing this is going to be assigned "won't fix" (due to XCode age), but I get the following error when attempting to build afw master on OSX 10.9, which has XCode 6.2 (most recent available version). That particular line was last changed in 2014, so I suspect the actual error is being caused elsewhere and only shows up here.
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:60:21: error: no matching member
|
function for call to 'insert'
|
_transforms.insert(std::make_pair(nativeCoordSys,
|
~~~~~~~~~~~~^~~~~~
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1041:9: note:
|
candidate function not viable: no known conversion from 'pair<typename
|
__make_pair_return<const class CameraSys &>::type, typename
|
__make_pair_return<class shared_ptr<class IdentityXYTransform> >::type>'
|
to 'const pair<const key_type, mapped_type>' for 1st argument
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1059:10: note:
|
candidate function not viable: no known conversion from 'pair<typename
|
__make_pair_return<const CameraSys &>::type, typename
|
__make_pair_return<shared_ptr<IdentityXYTransform> >::type>' to
|
'initializer_list<value_type>' for 1st argument
|
void insert(initializer_list<value_type> __il)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1026:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _Pp =
|
std::__1::pair<lsst::afw::cameraGeom::CameraSys,
|
std::__1::shared_ptr<lsst::afw::geom::IdentityXYTransform> >]
|
class = typename enable_if<is_constructible<value_type, _P...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1034:18: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
iterator insert(const_iterator __pos, _Pp&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1050:14: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
void insert(_InputIterator __f, _InputIterator __l)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1045:9: note:
|
candidate function not viable: requires 2 arguments, but 1 was provided
|
insert(const_iterator __p, const value_type& __v)
|
^
|
1 error generated.
|
Also, for the record:
$ g++ -v
|
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
|
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
|
Target: x86_64-apple-darwin13.4.0
|
Thread model: posix
|
$ clang -v
|
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
|
Target: x86_64-apple-darwin13.4.0
|
Thread model: posix
|
Attachments
Issue Links
Activity
Thanks for the quick response. That branch gives me a new error, same file:
In file included from src/cameraGeom/CameraPoint.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraPoint.h:28:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:61:66: error: type-id cannot have a
|
name
|
std::pair<CoordSysT,std::shared_ptr<IdentityXYTransform> pair(
|
^~~~
|
include/lsst/afw/geom/TransformMapImpl.h:62:13: error: C++ requires a type
|
specifier for all declarations
|
nativeCoordSys,
|
^~~~~~~~~~~~~~
|
include/lsst/afw/geom/TransformMapImpl.h:63:18: error: C++ requires a type
|
specifier for all declarations
|
std::make_shared<IdentityXYTransform>()
|
~~~ ^
|
include/lsst/afw/geom/TransformMapImpl.h:63:18: error: parameter declarator
|
cannot be qualified
|
std::make_shared<IdentityXYTransform>()
|
~~~~~^
|
include/lsst/afw/geom/TransformMapImpl.h:63:18: error: 'make_shared' cannot be
|
the name of a parameter
|
include/lsst/afw/geom/TransformMapImpl.h:64:10: error: expected '>'
|
);
|
^
|
include/lsst/afw/geom/TransformMapImpl.h:64:10: warning: declaration does not
|
declare anything [-Wmissing-declarations]
|
);
|
^
|
include/lsst/afw/geom/TransformMapImpl.h:65:28: error: use of undeclared
|
identifier 'pair'
|
_transforms.insert(pair);
|
^
|
1 warning and 7 errors generated.
|
scons: *** [src/cameraGeom/CameraPoint.os] Error 1
|
scons: building terminated because of errors.
|
You are missing a second ‘>’ after ‘IdentityXYTransform>'
I'm assuming Jim will correct this in his commit.
As a side note, although I think in this case we can have a workaround put in I do think we should probably also think about a minimum required version for clang + libc++.
As I said in the initial message, I'd not be surprised if this was "won't fix", but it should help us clarify what our minimum versions are.
Adding the missing '>' gives me a similar error as the first:
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:65:21: error: no matching member
|
function for call to 'insert'
|
_transforms.insert(pair);
|
~~~~~~~~~~~~^~~~~~
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1041:9: note:
|
candidate function not viable: no known conversion from 'pair<class
|
lsst::afw::cameraGeom::CameraSys, std::shared_ptr<IdentityXYTransform>>'
|
to 'const pair<const key_type, mapped_type>' for 1st argument
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1059:10: note:
|
candidate function not viable: no known conversion from
|
'std::pair<CameraSys, std::shared_ptr<IdentityXYTransform> >' to
|
'initializer_list<value_type>' for 1st argument
|
void insert(initializer_list<value_type> __il)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1026:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _Pp =
|
std::__1::pair<lsst::afw::cameraGeom::CameraSys,
|
std::__1::shared_ptr<lsst::afw::geom::IdentityXYTransform> > &]
|
class = typename enable_if<is_constructible<value_type, _P...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1034:18: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
iterator insert(const_iterator __pos, _Pp&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1050:14: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
void insert(_InputIterator __f, _InputIterator __l)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1045:9: note:
|
candidate function not viable: requires 2 arguments, but 1 was provided
|
insert(const_iterator __p, const value_type& __v)
|
^
|
1 error generated.
|
scons: *** [src/cameraGeom/CameraSys.os] Error 1
|
My thought would be that if we could fix this and David Reiss's problem easily for the 12.0 release that would be great. We then put in the release notes that 10.9 is on life support and we will support the two most recent OS X releases. It would be a shame to break 10.9 the week before we release 12.0 (I realise that we also note that OS X is "best efforts" but I'd say that our "best efforts" should always include the 2 most recent releases given the user environment).
Don't be surprised if you get over this problem and then hit the weak_ptr problem.
I pulled and re-scons'ed: same error.
Okay, pushed another attempt. If you see a similar error again, please do post it; I suspect it's changing ever so slightly in a way that might give me a hint. I think the relevant part is:
no known conversion from 'pair<class
|
lsst::afw::cameraGeom::CameraSys, std::shared_ptr<IdentityXYTransform>>'
|
to 'const pair<const key_type, mapped_type>' for 1st argument
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
Pulled and sconsed. It looks similar to before:
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:65:21: error: no matching member
|
function for call to 'insert'
|
_transforms.insert(pair);
|
~~~~~~~~~~~~^~~~~~
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1041:9: note:
|
candidate function not viable: no known conversion from 'pair<[...],
|
std::shared_ptr<const IdentityXYTransform>>' to 'const pair<[...],
|
mapped_type>' for 1st argument
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1059:10: note:
|
candidate function not viable: no known conversion from 'std::pair<const
|
CameraSys, std::shared_ptr<const IdentityXYTransform> >' to
|
'initializer_list<value_type>' for 1st argument
|
void insert(initializer_list<value_type> __il)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1026:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _Pp =
|
std::__1::pair<const lsst::afw::cameraGeom::CameraSys,
|
std::__1::shared_ptr<const lsst::afw::geom::IdentityXYTransform> > &]
|
class = typename enable_if<is_constructible<value_type, _P...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1034:18: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
iterator insert(const_iterator __pos, _Pp&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1050:14: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
void insert(_InputIterator __f, _InputIterator __l)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1045:9: note:
|
candidate function not viable: requires 2 arguments, but 1 was provided
|
insert(const_iterator __p, const value_type& __v)
|
^
|
1 error generated.
|
scons: *** [src/cameraGeom/CameraSys.os] Error 1
|
Thanks; another attempt has been pushed.
Looks like I was wrong about it being constness - and if this latest attempt works, Kian-Tat Lim may have been right to suggest it's related to the other bug involving inheritance with shared_ptrs.
Sorry, looks like the same sort of error:
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:65:21: error: no matching member
|
function for call to 'insert'
|
_transforms.insert(pair);
|
~~~~~~~~~~~~^~~~~~
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1041:9: note:
|
candidate function not viable: no known conversion from 'pair<[...],
|
std::shared_ptr<const XYTransform>>' to 'const pair<[...], mapped_type>'
|
for 1st argument
|
insert(const value_type& __v) {return __tree_.__insert_unique(__v);}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1059:10: note:
|
candidate function not viable: no known conversion from 'std::pair<const
|
CameraSys, std::shared_ptr<const XYTransform> >' to
|
'initializer_list<value_type>' for 1st argument
|
void insert(initializer_list<value_type> __il)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1026:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _Pp =
|
std::__1::pair<const lsst::afw::cameraGeom::CameraSys,
|
std::__1::shared_ptr<const lsst::afw::geom::XYTransform> > &]
|
class = typename enable_if<is_constructible<value_type, _P...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1034:18: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
iterator insert(const_iterator __pos, _Pp&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1050:14: note:
|
candidate function template not viable: requires 2 arguments, but 1 was
|
provided
|
void insert(_InputIterator __f, _InputIterator __l)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:1045:9: note:
|
candidate function not viable: requires 2 arguments, but 1 was provided
|
insert(const_iterator __p, const value_type& __v)
|
^
|
1 error generated.
|
scons: *** [src/cameraGeom/CameraSys.os] Error 1
|
Very weird. I've pushed another attempt; I'm skeptical that it will actually work but I'm hoping the error message will be a bit more informative about what's actually going wrong.
New error this time, so that's progress:
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:61:41: error: no matching constructor
|
for initialization of 'typename Transforms::value_type' (aka 'pair<const
|
key_type, mapped_type>')
|
typename Transforms::value_type pair(
|
^
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:262:5: note:
|
candidate constructor not viable: no known conversion from 'typename
|
enable_if<!is_array<IdentityXYTransform>::value,
|
shared_ptr<IdentityXYTransform> >::type' (aka
|
'std::__1::shared_ptr<lsst::afw::geom::IdentityXYTransform>') to 'const
|
boost::shared_ptr<const lsst::afw::geom::XYTransform>' for 2nd argument
|
pair(const _T1& __x, const _T2& __y)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:267:9: note:
|
candidate template ignored: could not match 'pair<type-parameter-0-0,
|
type-parameter-0-1>' against 'const lsst::afw::cameraGeom::CameraSys'
|
pair(const pair<_U1, _U2>& __p
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:302:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _U1 = const
|
lsst::afw::cameraGeom::CameraSys &, _U2 =
|
std::__1::shared_ptr<lsst::afw::geom::IdentityXYTransform>]
|
class = typename enable_if<is_convertible<_U1, first_type>...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:312:9: note:
|
candidate template ignored: could not match 'pair<type-parameter-0-0,
|
type-parameter-0-1>' against 'const lsst::afw::cameraGeom::CameraSys'
|
pair(pair<_U1, _U2>&& __p,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:346:9: note:
|
candidate constructor template not viable: requires single argument '__p',
|
but 2 arguments were provided
|
pair(_Tuple&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:357:9: note:
|
candidate constructor template not viable: requires 3 arguments, but 2
|
were provided
|
pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:394:9: note:
|
candidate constructor template not viable: requires 5 arguments, but 2
|
were provided
|
pair(piecewise_construct_t,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:259:49: note:
|
candidate constructor not viable: requires 0 arguments, but 2 were
|
provided
|
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR pair() : first(), second() {}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:277:5: note:
|
candidate constructor not viable: requires single argument '__p', but 2
|
arguments were provided
|
pair(const pair& __p) = default;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:320:5: note:
|
candidate constructor not viable: requires single argument '__p', but 2
|
arguments were provided
|
pair(pair&& __p) = default;
|
^
|
1 error generated.
|
This now seems like it's almost certainly related to DM-6084. Latest attempt has been pushed. But it's starting to look like `std::shared_ptr` in XCode 6.2 could be pretty severely broken, so even we fix this one, we may find that we need workarounds in many other places. I haven't given up yet, though.
Looks like similar error:
In file included from src/cameraGeom/CameraSys.cc:23:
|
In file included from include/lsst/afw/cameraGeom/CameraSys.h:31:
|
include/lsst/afw/geom/TransformMapImpl.h:62:41: error: no matching constructor
|
for initialization of 'typename Transforms::value_type' (aka 'pair<const
|
key_type, mapped_type>')
|
typename Transforms::value_type pair(
|
^
|
src/cameraGeom/CameraSys.cc:54:22: note: in instantiation of member function
|
'lsst::afw::geom::TransformMap<lsst::afw::cameraGeom::CameraSys>::TransformMap'
|
requested here
|
template class geom::TransformMap<cameraGeom::CameraSys>;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:262:5: note:
|
candidate constructor not viable: no known conversion from
|
'std::shared_ptr<XYTransform>' to 'const boost::shared_ptr<const
|
lsst::afw::geom::XYTransform>' for 2nd argument
|
pair(const _T1& __x, const _T2& __y)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:267:9: note:
|
candidate template ignored: could not match 'pair<type-parameter-0-0,
|
type-parameter-0-1>' against 'const lsst::afw::cameraGeom::CameraSys'
|
pair(const pair<_U1, _U2>& __p
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:302:42: note:
|
candidate template ignored: disabled by 'enable_if' [with _U1 = const
|
lsst::afw::cameraGeom::CameraSys &, _U2 =
|
std::__1::shared_ptr<lsst::afw::geom::XYTransform> &]
|
class = typename enable_if<is_convertible<_U1, first_type>...
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:312:9: note:
|
candidate template ignored: could not match 'pair<type-parameter-0-0,
|
type-parameter-0-1>' against 'const lsst::afw::cameraGeom::CameraSys'
|
pair(pair<_U1, _U2>&& __p,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:346:9: note:
|
candidate constructor template not viable: requires single argument '__p',
|
but 2 arguments were provided
|
pair(_Tuple&& __p)
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:357:9: note:
|
candidate constructor template not viable: requires 3 arguments, but 2
|
were provided
|
pair(piecewise_construct_t __pc, tuple<_Args1...> __first_args,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:394:9: note:
|
candidate constructor template not viable: requires 5 arguments, but 2
|
were provided
|
pair(piecewise_construct_t,
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:259:49: note:
|
candidate constructor not viable: requires 0 arguments, but 2 were
|
provided
|
_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR pair() : first(), second() {}
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:277:5: note:
|
candidate constructor not viable: requires single argument '__p', but 2
|
arguments were provided
|
pair(const pair& __p) = default;
|
^
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:320:5: note:
|
candidate constructor not viable: requires single argument '__p', but 2
|
arguments were provided
|
pair(pair&& __p) = default;
|
^
|
1 error generated.
|
scons: *** [src/cameraGeom/CameraSys.os] Error 1
|
Wait a moment - I should have noticed this in the last message: it's saying it can't convert std::shared_ptr<...> to boost::shared_ptr<...>. That suggests that CONST_PTR is still defined to boost::shared_ptr in your build. John Parejko, are you sure you're using the latest version of the base package?
If so, try the latest version on the branch. It shouldn't do anything if the CONST_PTR macro is properly defined, but I now suspect that it isn't.
I started this whole process with "rebuild lsst_apps". Just did "rebuild base", and it didn't change:
base: 2.2016.10-2-ge90c490
Perhaps a global search for boost::shared? Or at least look up the definitions for PTR and CONST_PTR?
Can you find the actual git version? The SHA-like part of that doesn't actually seem to point to a ref in base, and the 2.2016.10 tag is quite old. (As an aside, this is a HUGE PROBLEM. If we can't get to git versions from our EUPS versions, the EUPS versions are nearly meaningless).
Can you see if boost::shared_ptr appears at all in lsst/base.h?
If your base isn't old, then that implies something else is redefining that macro.
That SHA1 seems exactly right to me. "e90c490" is current and from the merge of DM-5879.
Ah. The preceding "g" confused me.
The latest version of the branch with this ticket no longer uses the CONST_PTR macro; it may be useful for debugging.
Ok, it does appear that I had the wrong base setup at some point above (forgot that my current was not the latest): the afw build is now making more progress.
Should I mark this as "invalid" now? The initial error appears to be caused by my not having the correct version of "base" setup while attempting to debug another problem with afw.
I would say yes. If it builds for you with pure master.
User error: I was attempting to identify the "tests/rgb.py" failure by running scons in afw, and had set up an older version of base which caused the error shown.
I apologize for the trouble.
This looks like it was caused by the conversion from boost::tuple to std::tuple on
DM-4014, and I suspect it's a bug in this version of the standard library.I think I have a workaround on tickets/
DM-6080of afw; please give it a try.