0
$\begingroup$

Rosanswers logo

Hi,

I am running Ubunut 12.04 with ROS Groovy.

Thanks a lot for all your help! Based on the comments below, I uninstalled and cleaned out Visp from my system (locate visp, libvisp, VISPConfig.cmake all returns nothing). As per Thomas suggestion, I tried to install ros-groovy-visp using apt-get and this gives me an error:

~)$ sudo apt-get install ros-groovy-visp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ros-groovy-visp : Depends: libfreenect0.0 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

This brings me back to the original problem I was having with a conflict between libfreenect0.0 and libfreenect-dev. ros-groovy-visp requires both of those, but trying to install libfreenect0.0 removes libfreenect-dev and vice versa.

~)$ ins libfreenect0.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libfreenect libfreenect-demos libfreenect-dev
The following NEW packages will be installed:
  libfreenect0.0
0 upgraded, 1 newly installed, 3 to remove and 1 not upgraded.
Need to get 27.5 kB of archives.
After this operation, 209 kB disk space will be freed.
Do you want to continue [Y/n]? 

Thanks again for all your help!


Originally posted by Sudarshan on ROS Answers with karma: 113 on 2014-03-25

Post score: 2


Original comments

Comment by jbinney on 2014-03-25:
which branch of the vision_visp package are you trying to compile? make sure you're on the groovy-devel branch

Comment by Sudarshan on 2014-03-26:
Thanks for your reply. I was the groovy branch earlier, but I just tried with the groovy-devel branch and it gives me the same error. I get the same error with master branche. Is there any other way to get visp_auto_tracker installed and track QR code tags?

Comment by jbinney on 2014-03-27:
Which version of visp did you use? Did you install from debs?

Comment by jbinney on 2014-03-27:
make sure you're using the version of visp from debs here: http://www.irisa.fr/lagadic/visp/install-sdk.html

Comment by Sudarshan on 2014-03-27:
That link goes to a 404 not found. So VISP and vision_visp are two different things. I downloaded and built /installed the latest version of VISP from source from here: http://www.irisa.fr/lagadic/visp/download.html. My understanding is that vision_visp is the ROS package which interfaces with VISP.

Comment by jbinney on 2014-03-27:
Somehow a

got added to the link. Try "http://www.irisa.fr/lagadic/visp/install-sdk.html".

Comment by Sudarshan on 2014-03-31:
I tried to install this but there seems to be conflict involving libfreenect0.0 and libfreenect-dev. Basically freenect (which is required by visp) wants both installed but they don't like each other and I'm not sure how to solve this. In any case, shouldn't building from source work?

Comment by jbinney on 2014-03-31:
I'm not sure what version the debs are, but might be that the source version of visp is too new to work with the ros package (just guessing though).

Comment by Tim Sweet on 2014-04-07:
I see that this all seems to be fixed in Hydro (the version of ROS after Groovy), is there any chance you can just upgrade to hydro? You can still use Ubuntu 12.04.

Comment by Sudarshan on 2014-04-07:
Unfortunetly, that is not an option right now because groovy is installed on 3 different computers which power our robot (meka) which has lot of custom software built based on groovy.

Comment by Dirk Thomas on 2014-04-07:
I would agree with @jbinney guess: You should not need to build any dependencies from source. If doing so you must ensure that you use either the exact same version (or something API compatible) which seems to be not the case according to your posted compile errors. You might want to remove the custom build version of VISP and install all dependencies from Debian packages.

Comment by Fabien Spindler on 2014-04-08:
What is your Ubuntu distro ?

Comment by Sudarshan on 2014-04-08:
I am running Ubuntu 12.04 with ROS Groovy.

Comment by Fabien Spindler on 2014-04-08:
I'm not able to reproduce your error on ubuntu 12.04 x64 with groovy. Prior my attempt, I have updated the package list:

$ sudo apt-get update $ sudo apt-get install ros-groovy-visp

$ sudo apt-cache depends libfreenect-dev libfreenect-dev Depends: libusb-1.0-0-dev Depends: libfreenect0.0 Conflicts: libfreenect-dev:i386

Comment by Sudarshan on 2014-04-08:
It is baffling to me as well. I tried this on another computer and ros-groovy-visp installed fine. I also installed ros-groovy-vision-visp but it did not have visp_auto_tracker with it, which is what I really need. But, I can install vision_visp manually. I think I'll just have reinstall the OS.

Comment by Thomas on 2014-04-10:
I think you have additional repositories providing incompatible version of freenect. I would be you I would remove all the additional repository and/or look for which repository is providing the faulty package.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You are linking yourself against the static library (/usr/local/lib/libvisp.a) and this conflicts with symbol visibility options passed during ViSP compilation. Please remove what you installed manually in /usr/local and retry.

Steps:

  1. Remove manually installed ViSP
  2. Clean (remove) all you ViSP related build directories.
  3. Install ros-groovy-visp
  4. If it works, try installing ros-groovy-vision-visp
  5. If 4 does not work, try building vision_visp by hand, it should find ViSP in /opt/ros/groovy/... If it not findin ViSP in this directory, it means you probably have another custom version installed somwhere, delete and repeat until it finds the right one. If it is not finding ViSP automatically, use ccmake to set the path manually. If it is not sufficient, you may have to change your environment variables to make sure it can find ViSP (i.e. PATH and PKG_CONFIG_PATH).

If 4. does not work, please post the build errors from apt and I will update the answer.


Originally posted by Thomas with karma: 4478 on 2014-04-07

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Fabien Spindler on 2014-04-07:
As Thomas said, the build options used to generate ViSP library are not compatible with ROS usage. May be you install ViSP as a static library, or if it is a dynamic one, it was not built with -fPIC. This is typically the case if you have installed ViSP as indicated in http://www.irisa.fr/lagadic/visp/install-sdk.html#ubuntu-12

Just to complete Thomas answer, to be sure that you have removed all existing version of ViSP you can use locate:

$ sudo updatedb 
$ locate libvisp 
$ locate VISPConfig.cmake

The two last command should return an empty answer. If this is the case, you can enter step 3 mentioned by Thomas.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.