UMich-BipedLab / LiDARTag

This is a package for LiDARTag, described in paper: LiDARTag: A Real-Time Fiducial Tag System for Point Clouds

Home Page:https://ieeexplore.ieee.org/abstract/document/9392337

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

NamDinhRobotics opened this issue · comments

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,

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.

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,

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.

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,

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.

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?

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.

commented

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