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

errors when compiling afw with pybind11 for pixel types

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Invalid
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: afw
    • Labels:
    • Epic Link:
    • Sprint:
      AP F20-6 (November)
    • Team:
      Alert Production
    • Urgent?:
      No

      Description

      I'm unable to get afw compiling with pybind11 2.5 working, with an error which seems to be related to types.

      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/bin/x86_64-conda-linux-gnu-c++ -o python/lsst/afw/math/leastSquares.os -c -std=c++14 -g -DLSST_LITTLE_ENDIAN=1 -O3 -Wall -Wno-unknown-pragmas -Wno-unused-local-typedefs -fno-lto -fvisibility=hidden -fPIC -Iinclude -I/lsstsw/stack/4076abc/Linux64/astshim/20.0.0+f45b7d88f4/include -I/lsstsw/stack/4076abc/Linux64/pex_config/20.0.0-1-g2b7511a+f48bb53858/include -I/lsstsw/stack/4076abc/Linux64/geom/20.0.0-2-gec03fae+de92faa26f/include -I/lsstsw/stack/4076abc/Linux64/sphgeom/20.0.0-4-gfea843c+f45b7d88f4/include -I/lsstsw/stack/4076abc/Linux64/daf_persistence/20.0.0+dbd2281351/include -I/lsstsw/stack/4076abc/Linux64/pex_policy/20.0.0+f48bb53858/include -I/lsstsw/stack/4076abc/Linux64/log/20.0.0-1-gd1c87d7+add1f556b4/include -I/lsstsw/stack/4076abc/Linux64/daf_base/20.0.0-2-g7818986+add1f556b4/include -I/lsstsw/stack/4076abc/Linux64/utils/20.0.0-2-gb095acb+63636aeed8/include -I/lsstsw/stack/4076abc/Linux64/pex_exceptions/20.0.0+e2e26847c2/include -I/lsstsw/stack/4076abc/Linux64/base/20.0.0-5-g357b56b+f45b7d88f4/include -isystem /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include -isystem /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/python3.8 -isystem /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/lib/python3.8/site-packages/numpy/core/include -isystem /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/eigen3 -isystem /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/Minuit2 python/lsst/afw/math/leastSquares.cc
      In file included from include/lsst/afw/image/MaskedImage.h:63:0,
                       from python/lsst/afw/image/pixel/pixel.cc:28:
      include/lsst/afw/image/Pixel.h: In instantiation of 'struct lsst::afw::image::pixel::exprTraits<pybind11::detail::descr<29> >':
      include/lsst/afw/image/Pixel.h:535:1:   required by substitution of 'template<class ExprT1, class ExprT2> lsst::afw::image::pixel::BinaryExpr<ExprT1, ExprT2, std::plus<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::ImagePixelT>, lsst::afw::image::pixel::bitwise_or<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::MaskPixelT>, lsst::afw::image::pixel::variance_plus<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::VariancePixelT> > lsst::afw::image::pixel::operator+(ExprT1, ExprT2) [with ExprT1 = pybind11::detail::descr<29>; ExprT2 = pybind11::detail::descr<1, lsst::afw::image::pixel::SinglePixel<float, int, float> >]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:172:84:   required from 'void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = lsst::afw::image::pixel::SinglePixel<float, int, float> (*&)(float, int, float); Return = lsst::afw::image::pixel::SinglePixel<float, int, float>; Args = {float, int, float}; Extra = {pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::arg}]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:64:9:   required from 'pybind11::cpp_function::cpp_function(Return (*)(Args ...), const Extra& ...) [with Return = lsst::afw::image::pixel::SinglePixel<float, int, float>; Args = {float, int, float}; Extra = {pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::arg}]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:819:22:   required from 'pybind11::module& pybind11::module::def(const char*, Func&&, const Extra& ...) [with Func = lsst::afw::image::pixel::SinglePixel<float, int, float> (*)(float, int, float); Extra = {pybind11::arg, pybind11::arg, pybind11::arg}]'
      python/lsst/afw/image/pixel/pixel.cc:52:5:   required from 'void lsst::afw::image::pixel::{anonymous}::declareSinglePixel(pybind11::module&, const string&) [with PixelT = float; std::__cxx11::string = std::__cxx11::basic_string<char>]'
      python/lsst/afw/image/pixel/pixel.cc:62:50:   required from here
      include/lsst/afw/image/Pixel.h:295:41: error: no type named 'ImagePixelT' in 'struct pybind11::detail::descr<29>'
           typedef typename ExprT::ImagePixelT ImagePixelT;
                                               ^~~~~~~~~~~
      include/lsst/afw/image/Pixel.h:296:40: error: no type named 'MaskPixelT' in 'struct pybind11::detail::descr<29>'
           typedef typename ExprT::MaskPixelT MaskPixelT;
                                              ^~~~~~~~~~
      include/lsst/afw/image/Pixel.h:297:44: error: no type named 'VariancePixelT' in 'struct pybind11::detail::descr<29>'
           typedef typename ExprT::VariancePixelT VariancePixelT;
                                                  ^~~~~~~~~~~~~~
      include/lsst/afw/image/Pixel.h: In instantiation of 'struct lsst::afw::image::pixel::exprTraits<pybind11::detail::descr<27> >':
      include/lsst/afw/image/Pixel.h:535:1:   required by substitution of 'template<class ExprT1, class ExprT2> lsst::afw::image::pixel::BinaryExpr<ExprT1, ExprT2, std::plus<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::ImagePixelT>, lsst::afw::image::pixel::bitwise_or<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::MaskPixelT>, lsst::afw::image::pixel::variance_plus<typename lsst::afw::image::pixel::exprTraits< <template-parameter-1-1> >::VariancePixelT> > lsst::afw::image::pixel::operator+(ExprT1, ExprT2) [with ExprT1 = pybind11::detail::descr<27>; ExprT2 = pybind11::detail::descr<1, lsst::afw::image::pixel::SinglePixel<int, int, float> >]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:172:84:   required from 'void pybind11::cpp_function::initialize(Func&&, Return (*)(Args ...), const Extra& ...) [with Func = lsst::afw::image::pixel::SinglePixel<int, int, float> (*&)(int, int, float); Return = lsst::afw::image::pixel::SinglePixel<int, int, float>; Args = {int, int, float}; Extra = {pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::arg}]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:64:9:   required from 'pybind11::cpp_function::cpp_function(Return (*)(Args ...), const Extra& ...) [with Return = lsst::afw::image::pixel::SinglePixel<int, int, float>; Args = {int, int, float}; Extra = {pybind11::name, pybind11::scope, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::arg}]'
      /lsstsw/miniconda/envs/lsst-scipipe-u-bvan-boost174_pybind11_update.4076abc/include/pybind11/pybind11.h:819:22:   required from 'pybind11::module& pybind11::module::def(const char*, Func&&, const Extra& ...) [with Func = lsst::afw::image::pixel::SinglePixel<int, int, float> (*)(int, int, float); Extra = {pybind11::arg, pybind11::arg, pybind11::arg}]'
      python/lsst/afw/image/pixel/pixel.cc:52:5:   required from 'void lsst::afw::image::pixel::{anonymous}::declareSinglePixel(pybind11::module&, const string&) [with PixelT = int; std::__cxx11::string = std::__cxx11::basic_string<char>]'
      python/lsst/afw/image/pixel/pixel.cc:64:48:   required from here
      include/lsst/afw/image/Pixel.h:295:41: error: no type named 'ImagePixelT' in 'struct pybind11::detail::descr<27>'
           typedef typename ExprT::ImagePixelT ImagePixelT;
                                               ^~~~~~~~~~~
      include/lsst/afw/image/Pixel.h:296:40: error: no type named 'MaskPixelT' in 'struct pybind11::detail::descr<27>'
           typedef typename ExprT::MaskPixelT MaskPixelT;
                                              ^~~~~~~~~~
      include/lsst/afw/image/Pixel.h:297:44: error: no type named 'VariancePixelT' in 'struct pybind11::detail::descr<27>'
           typedef typename ExprT::VariancePixelT VariancePixelT;
                                                  ^~~~~~~~~~~~~~
      scons: *** [python/lsst/afw/image/pixel/pixel.os] Error 1
      

        Attachments

          Issue Links

            Activity

            Hide
            jbosch Jim Bosch added a comment -

            This problem has already been fixed on DM-27064.  Sorry we didn't get this closed earlier or otherwise let you know, Kenneth Herner, and I hope any time you spent on it was at least educational.

            Show
            jbosch Jim Bosch added a comment - This problem has already been fixed on DM-27064 .  Sorry we didn't get this closed earlier or otherwise let you know, Kenneth Herner , and I hope any time you spent on it was at least educational.

              People

              Assignee:
              kherner Kenneth Herner
              Reporter:
              bvan Brian Van Klaveren
              Watchers:
              Brian Van Klaveren, Jim Bosch
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins

                  No builds found.