Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GalSim 1.5 is incompatible with the LSST Data Management stack #925

Closed
danielsf opened this issue Nov 28, 2017 · 3 comments
Closed

GalSim 1.5 is incompatible with the LSST Data Management stack #925

danielsf opened this issue Nov 28, 2017 · 3 comments
Milestone

Comments

@danielsf
Copy link
Contributor

A few weeks ago, I tried to naively update the version of GalSim being shipped with the LSST stack. This resulted in one of our GalSim-dependent packages breaking with the following errors

include/lsst/meas/extensions/shapeHSM/HsmAdapter.h:40:69: error: no matching function for call to 'galsim::ImageView<float>::ImageView(float*&, const boost::shared_ptr<float>&, const int&, const galsim::Bounds<int>&)'
include/lsst/meas/extensions/shapeHSM/HsmAdapter.h:40:69: error: no matching function for call to 'galsim::ImageView<double>::ImageView(double*&, const boost::shared_ptr<double>&, const int&, const galsim::Bounds<int>&)'
include/lsst/meas/extensions/shapeHSM/HsmAdapter.h:40:69: error: no matching function for call to 'galsim::ImageView<int>::ImageView(int*&, const boost::shared_ptr<int>&, const int&, const galsim::Bounds<int>&)'
include/lsst/meas/extensions/shapeHSM/HsmAdapter.h:40:69: error: no matching function for call to 'galsim::ImageView<int>::ImageView(int*&, const boost::shared_ptr<int>&, const int&, const galsim::Bounds<int>&)'

Technically, this is our (LSST's) problem, but none of the relevant developers have time to devote to fixing it, and that is going to interfere with DESC's ability to run ImSim with an updated GalSim on the upcoming data challenge. Would it be possible to restore the deprecated call-signatures in GalSim to preserver compatibility with the LSST stack, or is that a bad idea?

Thanks.

@rearmstr
Copy link
Member

@danielsf actually, I was hoping to fix this problem in the next couple of days. I've added a new feature to galsim that will be merged into a tagged release soon that we want to use in LSST. I haven't looked at the problem yet, but Paul Price said he thought it was a simple fix.

@danielsf
Copy link
Contributor Author

@rearmstr Oh. Good. Please ping me when that gets merged. There is already a branch on the LSST GalSim repo which updates GalSim (it was merged to master and then rewound when meas_extensions_shapeHSM broke)

https://github.com/lsst/galsim/tree/SIM-2550/galsim_v1.5

@rmjarvis
Copy link
Member

I don't think we want to add back the old version, which is equivalent to the current one with step==1. But the fix in your client code is easy. Add 1 as a new third parameter. The new version doesn't require that the rows are contiguous in memory, but if they are, then step = 1 is the correct value to use.

Also, note that GalSim is officially a python package, not a C++ library, so code signatures are not guaranteed to be consistent across minor version updates. If you plan to use a lot of GalSim back-end code from C++, you may have more work to do on future versions as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants