Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: meas_algorithms
-
Labels:
-
Story Points:0
-
Team:Alert Production
Description
The LSST stack fails to build on OS X 10.10 "Yosemite" using XCode 7.2.1, the last version that is compatible with that operating system. I have attached a build log from Michael Wood-Vasey.
Serge Monkewitz suggests trying the following (HipChat UW DM room, 2016-05-12 18:12 Pacific): in BinnedWcs.h change:
virtual PTR(afw::image::Wcs) clone() const {
|
return PTR(afw::image::Wcs)(new BinnedWcs(_parent, _xBin, _yBin, _xy0));
|
}
|
to:
virtual PTR(afw::image::Wcs) clone() const {
|
return PTR(afw::image::Wcs)(std::make_shared<BinnedWcs>(_parent, _xBin, _yBin, _xy0));
|
}
|
with the following explanation (HipChat SQuaRE room 2016-05-12 18:26 Pacific):
enable_shared_from_this usually holds a weak_ptr to this internally, and the first shared_ptr to manage an instance is assigned to the internal weak_ref. It looks to me like this particular version of the STL only allows std::shared_ptr<A> to be assigned to a weak_ptr<B> if A is implicitly convertible to B. In this case the first shared_ptr to manage the BinnedWcs is a shared_ptr<Wcs>, and I think a static cast is required to get from Wcs * to BinnedWcs *, so the compiler barfs.
I confirm. I was similarly able to
rebuild -r tickets/
DM-6084lsst_apps