UMich-BipedLab / LiDARTag

This is a package for LiDARTag, described in paper: LiDARTag: A Real-Time Fiducial Tag System for Point Clouds
https://ieeexplore.ieee.org/abstract/document/9392337
GNU Affero General Public License v3.0
255 stars 50 forks source link

error: ‘all’ is not a member of ‘Eigen’ #6

Closed NamDinhRobotics closed 3 years ago

NamDinhRobotics commented 3 years ago

Dear Authors, After installing ROS, my Eigen version is 3.3.4, I also installed version 3.3.9. But, when I compile this package but got the error about "error: ‘all’ is not a member of ‘Eigen’", as shown,

LiDARTag/src/LiDARTag/src/lidartag_decode.cc:841:47: error: ‘all’ is not a member of ‘Eigen’ Eigen::MatrixXf test_mat = pc1(Eigen::all, indices);

Would you help me solve the problem? Thank you,

brucejk commented 3 years ago

Hi,

Glad to help! Thank you for using this package.

Please take a look at this issue. The conclusion is download Eigen from their GitLab and checkout this SHA1: 6f0f6f792e441c32727ed945686fefe02e6bdbc6.

Please let me know if this solves the issue.

NamDinhRobotics commented 3 years ago

Thank you so much for your reply, I tried to re-install Eigen from your providing link https://gitlab.com/libeigen/eigen , but it is not work The same error has occurred,

Do you have any other idea, Thank you so much,

brucejk commented 3 years ago

Hi, I have two things I would like to check:

  1. Which SHA1 are you on now?
  2. Can you check which Eigen you use? Please ensure the new Eigen is used. Perhaps you can print which Eigen catkin_make found.

Please let me know and let's move on from there.

NamDinhRobotics commented 3 years ago

Hello Brucejk, Thank you for your answer, I tried to: +) git clone https://gitlab.com/libeigen/eigen.git +) cd eigen +) git checkout -b 6f0f6f792e441c32727ed945686fefe02e6bdbc6 +) mkdir build +) cd build +) cmake .., then sudo make install is these step correct? But the problem has not solved,

brucejk commented 3 years ago

Hi,

No, you need to ensure the catkin_make uses the correct Eigen. You need to print out which Eigen catkin_make uses. I don't know your system and how you organize the system so I can't tell you how exactly you can do it.

NamDinhRobotics commented 3 years ago

Hi, thank you for your response, my default Eigen version is 3.3.4, do you know how to config in CMakeLists.txt to use the new Eigen version?

brucejk commented 3 years ago

Hi,

You will have to google how to configure for your machine. Once you ensure CMake is using the correct Eigen on your machine and it does not work, please reach out to me again.

simonmb commented 2 years ago

I also had this problem. In recent versions Eigen::all was first moved to Eigen::placeholders::all and then to Eigen::indexing::all c.f. https://eigen.tuxfamily.org/index.php?title=3.4