Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-15553

update GalSim to version 2.0

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Team:
      External

      Description

      Update the version of GalSim distributed with the stack to 2.0.  This will involve adding the software dependencies Coord and cffi to the stack.

        Attachments

          Issue Links

            Activity

            Hide
            danielsf Scott Daniel added a comment -

            Tim Jenness: Brian Van Klaveren mentioned in Slack that cffi is already pulled into our python environment by other dependencies.  Is it safe for me to just rely on that, or should I create and eups stub package to check that cffi is correctly installed?

            Show
            danielsf Scott Daniel added a comment - Tim Jenness : Brian Van Klaveren mentioned in Slack that cffi is already pulled into our python environment by other dependencies.  Is it safe for me to just rely on that, or should I create and eups stub package to check that cffi is correctly installed?
            Hide
            tjenness Tim Jenness added a comment -

            At minimum cffi should be added to the list of prereqs that lsstsw has to install from conda (https://github.com/lsst/lsstsw/blob/master/etc/conda3_bleed-linux-64.txt and the macOS file). Please don't rely on it coming from another dependency indirectly. If you do that I'm not overly fussed about a stub eups package in this case.

            Show
            tjenness Tim Jenness added a comment - At minimum cffi should be added to the list of prereqs that lsstsw has to install from conda ( https://github.com/lsst/lsstsw/blob/master/etc/conda3_bleed-linux-64.txt and the macOS file). Please don't rely on it coming from another dependency indirectly. If you do that I'm not overly fussed about a stub eups package in this case.
            Hide
            danielsf Scott Daniel added a comment -

            It looks like, when we ship pybind11 with the stack, we strip it down to just the C++ header files so that running import pybind11 from within python fails.

            GalSim version 2.0 uses import pybind11 in its SConstruct file to learn some configuration values (where the pybind11 include files are kept, for instance) during installation.

            Is there a reason we strip down pybind11 the way that we do? Am I free to edit our pybind11 repo so that import pybind11 once again works in python?

            Show
            danielsf Scott Daniel added a comment - It looks like, when we ship pybind11 with the stack, we strip it down to just the C++ header files so that running  import pybind11 from within python fails. GalSim version 2.0 uses import pybind11 in its SConstruct file to learn some configuration values (where the pybind11 include files are kept, for instance) during installation. Is there a reason we strip down pybind11 the way that we do? Am I free to edit our pybind11 repo so that import pybind11 once again works in python?
            Hide
            tjenness Tim Jenness added a comment -

            Jim Bosch will be able to answer your pybind11 question.

            Show
            tjenness Tim Jenness added a comment - Jim Bosch will be able to answer your pybind11 question.
            Hide
            danielsf Scott Daniel added a comment -

            For the record: it's actually not actually anything we are doing explicitly. It looks like if you run make install in pybind11, it just copies over the C++ header files. Since we blow away the build directory after installing pybind11, we accidentally drop the python-importable files, which are not copied over to the install directory.

            Mike Jarvis is working on a patch to GalSim that make it unnecessary to import pybind11 from within python, so I may not have to touch our pybind11 repo.

            Show
            danielsf Scott Daniel added a comment - For the record: it's actually not actually anything we are doing explicitly. It looks like if you run  make install in pybind11, it just copies over the C++ header files. Since we blow away the build directory after installing pybind11, we accidentally drop the python-importable files, which are not copied over to the install directory. Mike Jarvis is working on a patch to GalSim that make it unnecessary to import pybind11 from within python, so I may not have to touch our pybind11 repo.
            Hide
            danielsf Scott Daniel added a comment -

            It is also possible that we could get around this problem by using python setup.py to install pybind11, instead of make install.

            Is there a reason not to do that, Jim Bosch?

            Show
            danielsf Scott Daniel added a comment - It is also possible that we could get around this problem by using python setup.py to install pybind11, instead of make install . Is there a reason not to do that, Jim Bosch ?
            Hide
            danielsf Scott Daniel added a comment -

            Mike has patched GalSim, so the question of how we install pybind11 is no longer immediately pressing.

            Show
            danielsf Scott Daniel added a comment - Mike has patched GalSim, so the question of how we install pybind11 is no longer immediately pressing.
            Hide
            jbosch Jim Bosch added a comment -

            Ugh, pybind11 appears to be annoying in this respect. I'd be all for getting the the pybind11 Python module installed, but I also want the stuff in $PREFIX/share/cmake installed, and I bet neither of pybind11's two install mechanisms does both. So maybe we should run both?

            Show
            jbosch Jim Bosch added a comment - Ugh, pybind11 appears to be annoying in this respect. I'd be all for getting the the pybind11 Python module installed, but I also want the stuff in $PREFIX/share/cmake installed, and I bet neither of pybind11's two install mechanisms does both. So maybe we should run both?

              People

              Assignee:
              danielsf Scott Daniel
              Reporter:
              danielsf Scott Daniel
              Reviewers:
              Bob Armstrong
              Watchers:
              Bob Armstrong, Jim Bosch, Scott Daniel, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.