Skip to content

Error during installation: "no type named Jacobian" #32

@CarterNoh

Description

@CarterNoh

I am trying to install GPMP2. CMake runs fine but in running "make install" or any variant of it (make -j4, make -j8, make check) I get the following error:

In file included from /home/carternoh/gpmp2/gpmp2/geometry/ProductDynamicLieGroup.h:13,
from /home/carternoh/gpmp2/gpmp2/geometry/Pose2Vector.h:13,
from /home/carternoh/gpmp2/gpmp2/kinematics/Pose2Mobile2Arms.h:11,
from /home/carternoh/gpmp2/gpmp2/kinematics/Pose2Mobile2Arms.cpp:8:
/usr/local/include/gtsam/base/ProductLieGroup.h: In instantiation of ‘class gtsam::ProductLieGroup<gtsam::Pose2, gpmp2::DynamicVector>’:
/home/carternoh/gpmp2/gpmp2/geometry/ProductDynamicLieGroup.h:22:7: required from ‘class gpmp2::ProductDynamicLieGroup<gtsam::Pose2, gpmp2::DynamicVector>’
/home/carternoh/gpmp2/gpmp2/geometry/Pose2Vector.h:26:14: required from here
/usr/local/include/gtsam/base/ProductLieGroup.h:76:9: error: no type named ‘Jacobian’ in ‘struct gtsam::traitsgpmp2::DynamicVector’
76 | using Jacobian2 = typename traits::Jacobian;
| ^~~~~~~~~

I installed GTSAM from source locally with the python flag/wrapper enabled (cmake .. -DGTSAM_BUILD_PYTHON=1 -DGTSAM_PYTHON_VERSION=3.13.12 -DCMAKE_BUILD_TYPE=Debug).

GTSAM seems to expect the DynamicVector class from GPMP2 to have a Jacobian trait, but it doesn't. This seems like a pretty basic issue that should have been caught a long time ago though - how has this not caused issues before? Is this something wrong with my installation of GPMP2? Or is this a versioning issue with the version of gtsam I installed (latest as of today, I believe 4.3a1)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions