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

Which version of eigen are you using? #7

Closed
hcws opened this issue Sep 18, 2024 · 2 comments
Closed

Which version of eigen are you using? #7

hcws opened this issue Sep 18, 2024 · 2 comments

Comments

@hcws
Copy link

hcws commented Sep 18, 2024

Thanks for your work!

I meet this compile problem :

[ 93%] Building CXX object ROG-Map-main/examples/MARSIM/local_sensing/CMakeFiles/pcl_render_node.dir/src/pointcloud_render_node.cpp.o
In file included from /usr/local/include/eigen3/Eigen/Eigenvalues:36,
                 from /usr/local/include/eigen3/Eigen/Dense:7,
                 from /home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:11:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:550:5: error: ‘EIGEN_CONSTEXPR’ does not name a type; did you mean ‘EIGEN_HAS_CONSTEXPR’?
  550 |     EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT { return m_matrix.rows(); }
      |     ^~~~~~~~~~~~~~~
      |     EIGEN_HAS_CONSTEXPR
/usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:551:5: error: ‘EIGEN_CONSTEXPR’ does not name a type; did you mean ‘EIGEN_HAS_CONSTEXPR’?
  551 |     EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT { return m_matrix.cols(); }
      |     ^~~~~~~~~~~~~~~
      |     EIGEN_HAS_CONSTEXPR
In file included from /usr/local/include/eigen3/Eigen/Eigenvalues:39,
                 from /usr/local/include/eigen3/Eigen/Dense:7,
                 from /home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:11:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In member function ‘Eigen::SelfAdjointEigenSolver<MatrixType>& Eigen::SelfAdjointEigenSolver<_MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&, int)’:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:426:3: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  426 |   EIGEN_USING_STD(abs);
      |   ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:426:3: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function ‘static void Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::computeRoots(const MatrixType&, Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::VectorType&)’:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:597:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  597 |     EIGEN_USING_STD(sqrt)
      |     ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:597:26: error: expected ‘;’ before ‘EIGEN_USING_STD’
  597 |     EIGEN_USING_STD(sqrt)
      |                          ^
      |                          ;
  598 |     EIGEN_USING_STD(atan2)
      |     ~~~~~~~~~~~~~~~       
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:613:27: error: ‘s_inv3’ was not declared in this scope
  613 |     Scalar c2_over_3 = c2*s_inv3;
      |                           ^~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function ‘static bool Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::extract_kernel(Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 3, false>::MatrixType&, Eigen::Ref<typename SolverType::RealVectorType>, Eigen::Ref<typename SolverType::RealVectorType>)’:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:636:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  636 |     EIGEN_USING_STD(abs);
      |     ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:637:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  637 |     EIGEN_USING_STD(sqrt);
      |     ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function ‘static void Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 2, false>::computeRoots(const MatrixType&, Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 2, false>::VectorType&)’:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:751:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  751 |     EIGEN_USING_STD(sqrt);
      |     ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h: In static member function ‘static void Eigen::internal::direct_selfadjoint_eigenvalues<SolverType, 2, false>::run(SolverType&, const MatrixType&, int)’:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:761:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  761 |     EIGEN_USING_STD(sqrt);
      |     ^~~~~~~~~~~~~~~
/usr/local/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:762:5: error: there are no arguments to ‘EIGEN_USING_STD’ that depend on a template parameter, so a declaration of ‘EIGEN_USING_STD’ must be available [-fpermissive]
  762 |     EIGEN_USING_STD(abs);
      |     ^~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp: In function ‘void generate_ptclouds_by_pos(Eigen::Vector3d, int, pcl::PointCloud<pcl::PointXYZI>&, std::vector<pcl::PointXYZI>&)’:
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:289:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  289 |     for (int i = 0; i < obs_cloud.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:307:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
  307 |   for (int i = 0; i < obs_cloud.size(); i++)
      |                   ~~^~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp: In function ‘void dynobjGenerate(const ros::TimerEvent&)’:
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:392:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<pcl::PointXYZI>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  392 |       for (int i = 0; i < temp_dynobj_points.size(); i++)
      |                       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp: In function ‘void multiOdometryCallbck(const OdometryConstPtr&, int)’:
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:604:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<pcl::PointXYZI, Eigen::aligned_allocator<pcl::PointXYZI> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  604 |     for(int i=0;i<uav_extra_model.points.size();i++)
      |                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp: In function ‘void renderSensedPoints(const ros::TimerEvent&)’:
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1063:12: warning: unused variable ‘scale_x’ [-Wunused-variable]
 1063 |     double scale_x = 0.48 * polar_width / 2.0;
      |            ^~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1064:12: warning: unused variable ‘scale_y’ [-Wunused-variable]
 1064 |     double scale_y = 0.43 * polar_height / 2.0;
      |            ^~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1136:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<BoxPointType>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1136 |     for (int i = 0; i < fov_boxes.size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1250:17: warning: unused variable ‘droneid_temp’ [-Wunused-variable]
 1250 |             int droneid_temp = (point_temp_index / (uav_points_num));
      |                 ^~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1391:68: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<pcl::PointXYZI>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
 1391 |             if ((point_temp_index - droneid_temp * uav_points_num) > (otheruav_points_inrender[droneid_temp].size() - 1))
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1446:15: warning: unused variable ‘theta_index_o’ [-Wunused-variable]
 1446 |           int theta_index_o = theta_start;
      |               ^~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1447:15: warning: unused variable ‘fi_index_o’ [-Wunused-variable]
 1447 |           int fi_index_o = fi_start;
      |               ^~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1350:12: warning: unused variable ‘duration_interline’ [-Wunused-variable]
 1350 |     double duration_interline = 0.0;
      |            ^~~~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:1351:12: warning: unused variable ‘duration_direct’ [-Wunused-variable]
 1351 |     double duration_direct = 0.0;
      |            ^~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:925:7: warning: unused variable ‘pointcount’ [-Wunused-variable]
  925 |   int pointcount = 0;
      |       ^~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:926:7: warning: unused variable ‘changepointcount’ [-Wunused-variable]
  926 |   int changepointcount = 0;
      |       ^~~~~~~~~~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:928:16: warning: unused variable ‘tan_ver_’ [-Wunused-variable]
  928 |   const double tan_ver_ = tan(M_PI * (vertical_fov_margined_ / 2.0) / 180.0);
      |                ^~~~~~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:929:16: warning: unused variable ‘yaw_’ [-Wunused-variable]
  929 |   const double yaw_ = (M_PI * (yaw_fov_margined_ / 2.0) / 180.0);
      |                ^~~~
/home/ly/rog_ws/src/ROG-Map-main/examples/MARSIM/local_sensing/src/pointcloud_render_node.cpp:930:16: warning: unused variable ‘ver_threshold’ [-Wunused-variable]
  930 |   const double ver_threshold = cos(M_PI * (vertical_fov_margined_ / 2.0) / 180.0);
      |                ^~~~~~~~~~~~~
make[2]: *** [ROG-Map-main/examples/MARSIM/local_sensing/CMakeFiles/pcl_render_node.dir/build.make:76: ROG-Map-main/examples/MARSIM/local_sensing/CMakeFiles/pcl_render_node.dir/src/pointcloud_render_node.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4925: ROG-Map-main/examples/MARSIM/local_sensing/CMakeFiles/pcl_render_node.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

@hcws
Copy link
Author

hcws commented Sep 19, 2024

Use eigen 3.4.1 , it works!

@RENyunfan
Copy link
Collaborator

Thank you for your feedback. I have updated a script to check the version and posted the tested versions from my laptop (which is 3.3.7-2) in the README.

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

2 participants