phoxi_camera icon indicating copy to clipboard operation
phoxi_camera copied to clipboard

Unable to catkin_make the phoxi_camera package

Open Merwanski opened this issue 6 years ago • 16 comments

Hi

I am trying to install the package phoxi_camera on Ubuntu 16.04 / ROS Kinect but till now unable to do that, I already tried the 'solutions' proposed here << Unable to catkin_make the package. Performed all installation steps as listed accurately. Need help #12 >> but still no success.

Here is the messages I am getting:

Scanning dependencies of target phoxi_camera [ 92%] Building CXX object phoxi_camera/CMakeFiles/phoxi_camera.dir/src/phoxi_camera_node.cpp.o [ 93%] Building CXX object phoxi_camera/CMakeFiles/phoxi_camera.dir/src/PhoXiInterface.cpp.o [ 95%] Building CXX object phoxi_camera/CMakeFiles/phoxi_camera.dir/src/RosInterface.cpp.o In file included from /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:5:0: /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:108:39: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setCoordinateSpace(pho::api::PhoXiCoordinateSpace space); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:114:15: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace getCoordinateSpace(); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:38: error: ‘pho::api::PhoXiCoordinateTransformation’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:103: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:138:74: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(Eigen::Matrix<T,4,4> transformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:145:22: error: ‘PhoXiCoordinateTransformation’ in namespace ‘pho::api’ does not name a type static pho::api::PhoXiCoordinateTransformation getPhoXiCoordinateTransformation(Eigen::Matrix<T,4,4> mat){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:101:51: error: variable or field ‘setCoordinateSpace’ declared void void PhoXiInterface::setCoordinateSpace(pho::api::PhoXiCoordinateSpace space){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:101:41: error: ‘PhoXiCoordinateSpace’ is not a member of ‘pho::api’ void PhoXiInterface::setCoordinateSpace(pho::api::PhoXiCoordinateSpace space){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:107:11: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace PhoXiInterface::getCoordinateSpace(){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:50: error: variable or field ‘setTransformation’ declared void void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:40: error: ‘PhoXiCoordinateTransformation’ is not a member of ‘pho::api’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:105: error: ‘PhoXiCoordinateSpace’ is not a member of ‘pho::api’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:142: error: expected primary-expression before ‘bool’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:164: error: expected primary-expression before ‘bool’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ In file included from /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:5:0: /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:108:39: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setCoordinateSpace(pho::api::PhoXiCoordinateSpace space); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:114:15: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace getCoordinateSpace(); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:38: error: ‘pho::api::PhoXiCoordinateTransformation’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:103: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:138:74: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(Eigen::Matrix<T,4,4> transformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:145:22: error: ‘PhoXiCoordinateTransformation’ in namespace ‘pho::api’ does not name a type static pho::api::PhoXiCoordinateTransformation getPhoXiCoordinateTransformation(Eigen::Matrix<T,4,4> mat){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:101:51: error: variable or field ‘setCoordinateSpace’ declared void void PhoXiInterface::setCoordinateSpace(pho::api::PhoXiCoordinateSpace space){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:101:41: error: ‘PhoXiCoordinateSpace’ is not a member of ‘pho::api’ void PhoXiInterface::setCoordinateSpace(pho::api::PhoXiCoordinateSpace space){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:107:11: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace PhoXiInterface::getCoordinateSpace(){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:50: error: variable or field ‘setTransformation’ declared void void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:40: error: ‘PhoXiCoordinateTransformation’ is not a member of ‘pho::api’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:105: error: ‘PhoXiCoordinateSpace’ is not a member of ‘pho::api’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:142: error: expected primary-expression before ‘bool’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/PhoXiInterface.cpp:112:164: error: expected primary-expression before ‘bool’ void PhoXiInterface::setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ phoxi_camera/CMakeFiles/phoxi_camera_PhoXi_Interface.dir/build.make:62: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera_PhoXi_Interface.dir/src/PhoXiInterface.cpp.o' failed make[2]: *** [phoxi_camera/CMakeFiles/phoxi_camera_PhoXi_Interface.dir/src/PhoXiInterface.cpp.o] Error 1 CMakeFiles/Makefile2:2173: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera_PhoXi_Interface.dir/all' failed make[1]: *** [phoxi_camera/CMakeFiles/phoxi_camera_PhoXi_Interface.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... In file included from /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/RosInterface.h:22:0, from /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/phoxi_camera_node.cpp:31: /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:108:39: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setCoordinateSpace(pho::api::PhoXiCoordinateSpace space); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:114:15: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace getCoordinateSpace(); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:38: error: ‘pho::api::PhoXiCoordinateTransformation’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:103: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:138:74: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(Eigen::Matrix<T,4,4> transformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:145:22: error: ‘PhoXiCoordinateTransformation’ in namespace ‘pho::api’ does not name a type static pho::api::PhoXiCoordinateTransformation getPhoXiCoordinateTransformation(Eigen::Matrix<T,4,4> mat){ ^ In file included from /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/RosInterface.h:22:0, from /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/RosInterface.cpp:5: /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:108:39: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setCoordinateSpace(pho::api::PhoXiCoordinateSpace space); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:114:15: error: ‘PhoXiCoordinateSpace’ in namespace ‘pho::api’ does not name a type pho::api::PhoXiCoordinateSpace getCoordinateSpace(); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:38: error: ‘pho::api::PhoXiCoordinateTransformation’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:125:103: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(pho::api::PhoXiCoordinateTransformation coordinateTransformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true); ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:138:74: error: ‘pho::api::PhoXiCoordinateSpace’ has not been declared void setTransformation(Eigen::Matrix<T,4,4> transformation,pho::api::PhoXiCoordinateSpace space,bool setSpace = true, bool saveSettings = true){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:145:22: error: ‘PhoXiCoordinateTransformation’ in namespace ‘pho::api’ does not name a type static pho::api::PhoXiCoordinateTransformation getPhoXiCoordinateTransformation(Eigen::Matrix<T,4,4> mat){ ^ /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h: In instantiation of ‘void PhoXiInterface::setTransformation(Eigen::Matrix<T, 4, 4>, int, bool, bool) [with T = double]’: /home/drone/Desktop/catkin_ws/src/phoxi_camera/src/RosInterface.cpp:354:115: required from here /home/drone/Desktop/catkin_ws/src/phoxi_camera/include/phoxi_camera/PhoXiInterface.h:139:74: error: ‘getPhoXiCoordinateTransformation’ was not declared in this scope setTransformation(getPhoXiCoordinateTransformation(transformation),space,setSpace,saveSettings); ^ phoxi_camera/CMakeFiles/phoxi_camera.dir/build.make:86: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera.dir/src/PhoXiInterface.cpp.o' failed make[2]: *** [phoxi_camera/CMakeFiles/phoxi_camera.dir/src/PhoXiInterface.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... phoxi_camera/CMakeFiles/phoxi_camera.dir/build.make:62: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera.dir/src/phoxi_camera_node.cpp.o' failed make[2]: *** [phoxi_camera/CMakeFiles/phoxi_camera.dir/src/phoxi_camera_node.cpp.o] Error 1 phoxi_camera/CMakeFiles/phoxi_camera.dir/build.make:110: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera.dir/src/RosInterface.cpp.o' failed make[2]: *** [phoxi_camera/CMakeFiles/phoxi_camera.dir/src/RosInterface.cpp.o] Error 1 CMakeFiles/Makefile2:790: recipe for target 'phoxi_camera/CMakeFiles/phoxi_camera.dir/all' failed make[1]: *** [phoxi_camera/CMakeFiles/phoxi_camera.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

Merwanski avatar Mar 11 '19 18:03 Merwanski

Hi, If this is still relevant could you please provide more info on versioning? Which version of PhoXi Control you are using? Which branch of phoxi_camera repo are you trying to compile?

durovsky avatar Mar 20 '19 10:03 durovsky

Hello,

Can you please try PhoXi Control v1.2.7 - Ubuntu 16 - Beta installer available here https://www.photoneo.com/3d-scanning-software/

Thank you

MatejBartosovic avatar Mar 20 '19 13:03 MatejBartosovic

Hi @durovsky and @MatejBartosovic

To @durovsky Here is the list of things I have installed on my machine + info on versioning:

  • Ubuntu 16.04 LTS
  • PhoXi Control v1.1.60 - Ubuntu 16
  • Master branch of this repository (i.e. photoneo/phoxi_camera) and then I tested also the 1.2.0 but didn't succeeded

Hope this will help you help me ;)

To @MatejBartosovic Didn't work as well. I will try it on another machine and update you with the results

Regards Merwan

Merwanski avatar Mar 22 '19 06:03 Merwanski

Hi @MatejBartosovic

I tried the solution you proposed but still, I am getting the same error when I do a catkin_make with the same messages ... Any other ideas on how I can solve this?

Regards Merwan

Merwanski avatar Apr 15 '19 11:04 Merwanski

Hi, can you please run

PhoXiControl --version

Output should be PhoXi Control 1.2.7 - Commit ID: #df3c265 Can you also verify that you have correctly exported environment variable PHOXI_CONTROL_PATH

echo $PHOXI_CONTROL_PATH

Output should be /opt/PhotoneoPhoXiControl

Please let me know about the result. Regards,

Matej

MatejBartosovic avatar Apr 15 '19 12:04 MatejBartosovic

Hi, i had this same issue.

I think it is a compiler problem. I changed from gcc 4.9.4 to gcc-5. if u need help with this -> http://tuxamito.com/wiki/index.php/Installing_newer_GCC_versions_in_Ubuntu

Worked for me!

TFNeto avatar Apr 24 '19 11:04 TFNeto

@TFNeto PhoXI libraries are compiled with gcc 5.4 and gcc is not backward compatible, so you need gcc 5.4 or higher to use PhoXi libraries. Default compiler in Ubuntu 16 is gcc 5.4 so you should have correct compiler if you are using Ubuntu 16.

I think that your problem was not the same because there is a missing declaration of data types not the problem during linking(I think that you had a problem during linking).

MatejBartosovic avatar Apr 24 '19 14:04 MatejBartosovic

@MatejBartosovic i think the problem comes from the installation procedure. The install_prerequisities.sh will instal gcc-4.9 and give it a 60 priority (which in my case made it the default compiller) If PhoXI libraries are compiled with gcc 5.4 i dont see the need for that in the install.

TFNeto avatar Apr 24 '19 23:04 TFNeto

Dear

@MatejBartosovic here is the result I am getting when trying the two commands Screenshot from 2019-04-25 12-05-15 It is the same result as you

@TFNeto Thank you for your feedback but unfortunately didn't work as well because as @MatejBartosovic already mentioned earlier the error I am getting is due to some data types declaration missing

Any other possible solution? Regards Merwan

Merwanski avatar Apr 25 '19 12:04 Merwanski

Hi

It looks like you have the correct version of PohXiControll but cmake export old headers. Please, can you try the following commands and let me know about the result.

whereis PhoXiControl
$PHOXI_CONTROL_PATH/bin/PhoXiControl --version
md5sum $PHOXI_CONTROL_PATH/API/lib/*
md5sum $PHOXI_CONTROL_PATH/API/include/*

Maybe there was some error during installation of 1.2.7 and headers was not replaced, you can try to run install again.

Regards, Matej

MatejBartosovic avatar Apr 29 '19 07:04 MatejBartosovic

Hi @MatejBartosovic

Here are the results I am getting

Screenshot from 2019-04-29 10-02-42

What do you think is missing? and causing the error?

Regards Merwan

Merwanski avatar Apr 29 '19 08:04 Merwanski

Hi,

Everything seems to be correct. Can you try to compile example code provided with installation file? The code with own cmake list is available in /opt/PhotoneoPhoXiControl/API/examples/CPP/FullAPIExample_CPP. Can you copy this code to your home folder and built it please?

cp -r /opt/PhotoneoPhoXiControl/API/examples/CPP/FullAPIExample_CPP ~ 
cd ~/FullAPIExample_CPP
cmake .
make

Please let me know about the result

Regards, Matej

MatejBartosovic avatar Apr 29 '19 14:04 MatejBartosovic

Hi @MatejBartosovic

Here is the result I am getting image

PS: I didn't have the sensor connected when I did the test

Merwan

Merwanski avatar May 02 '19 15:05 Merwanski

@Merwanski Hi! This looks good, you should be ready to go now. During usage of photoneo APIs, you have to have application PhoXiControl running in your system. There is also pre-installed example camera which is responding even when physical scanner is not present. Link to download the app can be found either repo readme, or on official Photoneo web page.

Do you still have problem with compilation of phoxi_camera node?

najlepsiwebdesigner avatar May 02 '19 16:05 najlepsiwebdesigner

Hi @najlepsiwebdesigner

The app is working without any problem The issue that I still have is with the phoxi_camera node when I try to do a catkin_make in my workspace (the initial message at the top of the page)

Merwan

Merwanski avatar May 02 '19 19:05 Merwanski

Hi, I've tried compilation in ros:kinetic docker image with PhoXiControl 1.2.7 downloaded from official Photoneo website referenced in README. It works without any issue, I just needed to install all ROS dependencies ( rosdep install --from-paths src --ignore-src -r -y ).

The only way to reproduce output as you are experiencing is when I install old PhoXiControl installer, version 1.1.62. I've tried all combinations of installation steps and I've always ended up with this behaviour.

Can you please try these steps:

  • remove all Photoneo directories from /opt
  • either create new catkin workspace or remove build and devel directories
  • clone master branch of phoxi_camera repository into your src folder
  • install PhoXiControl 1.2.7
  • logout and login into computer or set PHOXI_CONTROL_PATH=/opt/PhotoneoPhoXiControl environment variable
  • install all proxi_camera dependencies rosdep install --from-paths src --ignore-src -r -y
  • run catkin_make

Thank you

najlepsiwebdesigner avatar May 06 '19 13:05 najlepsiwebdesigner