themichaeltsang / clm_catkin-indigo

clm-facetracker support on ros-indigo, catkin-buildsystem
1 stars 1 forks source link

Issue installing the package #1

Open jdmcpeek opened 8 years ago

jdmcpeek commented 8 years ago

Hey @themichaeltsang

I have been having some issues in installing your package on ROS.

I got this error:

CMake Error at clm_catkin-indigo/src/clm_bridge/CMakeLists.txt:140 (add_subdirectory):
  add_subdirectory given source "lib/3rdParty/dlib" which is not an existing
  directory.

CMake Error at clm_catkin-indigo/src/clm_bridge/CMakeLists.txt:143 (add_subdirectory):
  add_subdirectory given source "lib/local/CLM" which is not an existing
  directory.

CMake Error at clm_catkin-indigo/src/clm_bridge/CMakeLists.txt:144 (add_subdirectory):
  add_subdirectory given source "lib/local/FaceAnalyser" which is not an
  existing directory.

Apparently, I am missing some directories? Where do I find them?

themichaeltsang commented 8 years ago

Hi @jdmcpeek ,

Good question. These directories are in the lib directory of the CLM-framework: https://github.com/TadasBaltrusaitis/CLM-framework/tree/master/lib.

Try copying the directories in, and see if the program compiles. If it doesn't let me know, as there may be issues with me needing to update the ROS interface to support the most recent version of the CLM.

Thanks, Michael

alecive commented 8 years ago

@themichaeltsang sorry it was not @jdmcpeek who asked the question but me (I was on the baxter robot, @jdmcpeek was logged in and I didn't notice eheh :smile: )

So I did what you told me, but now I have this error:

[100%] Built target kinect_bridge2_generate_messages
/home/alecive/code/catkin_my_ws/src/clm_catkin-indigo/src/clm_bridge/src/clm_bridge.cpp: In lambda function:
/home/alecive/code/catkin_my_ws/src/clm_catkin-indigo/src/clm_bridge/src/clm_bridge.cpp:1017:27: error: ‘GetCorrectedPoseCameraPlane’ is not a member of ‘CLMTracker’
       pose_estimate_CLM = CLMTracker::GetCorrectedPoseCameraPlane(clm_models[model], fx, fy, cx, cy);
                           ^
/home/alecive/code/catkin_my_ws/src/clm_catkin-indigo/src/clm_bridge/src/clm_bridge.cpp: In function ‘int main(int, char**)’:
/home/alecive/code/catkin_my_ws/src/clm_catkin-indigo/src/clm_bridge/src/clm_bridge.cpp:1181:32: error: ‘GetCorrectedPoseCameraPlane’ is not a member of ‘CLMTracker’
      Vec6d pose_estimate_CLM = CLMTracker::GetCorrectedPoseCameraPlane(clm_models[model], fx, fy, cx, cy);
                                ^
make[2]: *** [clm_catkin-indigo/src/clm_bridge/CMakeFiles/clm_bridge.dir/src/clm_bridge.cpp.o] Error 1
make[1]: *** [clm_catkin-indigo/src/clm_bridge/CMakeFiles/clm_bridge.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

I checked into the CLM repo, and I have seen that from this commit https://github.com/TadasBaltrusaitis/CLM-framework/commit/059a97e54e1cd1b6df2e45562c24d917ec5a1468#diff-5a4e03c40e7241597d94cfa5e38c7f30 (Feb 5th) they changed the API from getCorrectedPoseCameraPlane to getCorrectedPoseWorld .

alecive commented 8 years ago

Shall we simply rename the method or do you thing that the change in the API changed also the meaning of the function?