0
$\begingroup$

Rosanswers logo

I'm trying to install ROS indigo on my Jetson TK1, following the steps as stated here. However, I'm facing a problem when running sudo apt-get ros-indigo-ros-base. This is the error I receive:

$ sudo apt-get install ros-indigo-ros-base
[sudo] password for ubuntu: 
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-indigo-ros-base : Depends: ros-indigo-actionlib but it is not going to be installed
                       Depends: ros-indigo-bond-core but it is not going to be installed
                       Depends: ros-indigo-class-loader but it is not going to be installed
                       Depends: ros-indigo-common-tutorials but it is not going to be installed
                       Depends: ros-indigo-dynamic-reconfigure but it is not going to be installed
                       Depends: ros-indigo-nodelet-core but it is not going to be installed
                       Depends: ros-indigo-pluginlib but it is not going to be installed
                       Depends: ros-indigo-ros-core but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Can anyone help me out please?


Originally posted by Andrew.A on ROS Answers with karma: 324 on 2014-10-29

Post score: 0


Original comments

Comment by Andrew.A on 2014-10-29:
No I didn't! Just enabled them and it's running great now. Thanks!

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Do you have the ubuntu universe and multiverse repositories enabled?

UPDATE

According to https://github.com/ros-perception/image_pipeline/issues/176; Nvidia is now packaging a newer version of OpenCV in opencv4tegra, and it's no longer version- or ABI-compatible with the default Ubuntu libraries.


Originally posted by ahendrix with karma: 47576 on 2014-10-29

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by ahendrix on 2016-03-22:
As noted in http://answers.ros.org/question/229562/problem-with-install-ros-indigo-on-jetson-tx1-ubuntu-1404/ , you also need to enable the Ubuntu main repository if it is not enabled.

$\endgroup$
0
$\begingroup$

Rosanswers logo

Glad that the orignal problem was solved! Maybe I am ahead of you and you might solve this another way...but I ran into trouble when trying to use ros & opencv (the Tegra version). I sorted it (rather hackish way) and I thought I should post it here for reference at least.

If someone(admin?) feel that this is not the correct place...feel free to remove/correct this.

I ended up creating a "fake" package (using equivs) that tells apt that libopencv + libopencv-dev is already installed. This worked nicely for me and now I am running the tegra-version of opencv under ROS. Very nice...but a little hackish solution to the problem!

Anyhow, this was the contents of the input file for "equivs-build":

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: libopencv-dev-dummy
Version: 2.4.8
Maintainer: yourname <<a href="mailto:yourname@somemail">yourname@somemail</a>>
Provides: libopencv-calib3d-dev, libopencv-calib3d2.4, 
    libopencv-contrib-dev, libopencv-contrib2.4, 
    libopencv-core-dev, libopencv-core2.4,
    libopencv-dev,
    libopencv-facedetect-dev, libopencv-facedetect2.4, 
    libopencv-features2d-dev, libopencv-features2d2.4, 
    libopencv-flann-dev, libopencv-flann2.4, 
    libopencv-gpu-dev, libopencv-gpu2.4, 
    libopencv-highgui-dev, libopencv-highgui2.4, 
    libopencv-imgproc-dev, libopencv-imgproc2.4,
    libopencv-imuvstab-dev, libopencv-imuvstab2.4,
    libopencv-legacy-dev, libopencv-legacy2.4, 
    libopencv-ml-dev, libopencv-ml2.4,
    libopencv-objdetect-dev, libopencv-objdetect2.4, 
    libopencv-ocl-dev, libopencv-ocl2.4, 
    libopencv-photo-dev, libopencv-photo2.4,
    libopencv-softcascade-dev, libopencv-softcascade2.4,
    libopencv-stitching-dev, libopencv-stitching2.4, 
    libopencv-superres-dev, libopencv-superres2.4, 
    libopencv-video-dev, libopencv-video2.4, 
    libopencv-videostab-dev, libopencv-videostab2.4,
    libopencv-vstab, libopencv-vstab2.4

Description: empty dummy package
   no description

This will get you a "dummy-package" that you simply install using "sudo dpkg -i libopencv-dev-dummy_2.4.8_all.deb". After this, all other packages that depend on opencv will install without trying to install the SW-version of opencv. Make sure you have installed the CUDA-version of OpenCV before running this... Also note that the CUDA-version of OpenCV does not contain the nonfree package, i.e. SURF etc. Have not tried to solve that yet...


Originally posted by StefanG with karma: 11 on 2014-10-29

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by ahendrix on 2014-10-29:
Please ask this as a new question.

Comment by StefanG on 2014-10-29:
It was not a question...just tried to give more hints/solutions in getting OpenCV to work with ROS under Jetson. I looked for this quite a lot, but did not find any solution here. Hence I posted the solution. Maybe it should have been a wiki thing instead? Asked mods in the post to remove if not ok.

Comment by ahendrix on 2014-10-29:
This is probably better as a wiki page. I'm also not sure that it's correct, because I'm not sure if NVIDIA's OpenCV library is ABI-compatible with the stock OpenCV library or not. You may very well have dynamic linker errors the first time you try to run anything that uses OpenCV.

Comment by StefanG on 2014-10-29:
It actually works very nice. I ran "ar_track_alvar" on it, in combo with usb_cam and that worked very nice.

Comment by Andrew.A on 2014-10-29:
I was following a tutorial here, and I think he did the same thing and created a dummy package!

Comment by l0g1x on 2014-11-06:
@StefanG If you wouldnt mind starting a wiki page about this that would be awesome.. Im getting the TK1 soon and am looking for the easiest way to make this work. I will definetely post the steps i took once i get it!

Comment by ahendrix on 2014-12-31:
There is a Jetson TK1 page here: http://wiki.ros.org/NvidiaJetsonTK1

Comment by ZiyangLI on 2015-01-05:
like the page, look forward to better instructions!

Comment by dtmoodie on 2015-01-22:
Hello, I'm having a problem with your solution where libopencv4tegra conflicts with libopencv-calib3d-dev, thus it wont install the dummy package. Is there any solution for this?

Comment by l0g1x on 2015-01-25:
@ZiyangLI, sorry about the instructions, I havent had much time lately to finish, but look later this week and im going to make improvements to it. @dtmoodie, did you install any opencv libraries with your ros install before trying to install the tegra libs?

dtmoodie,

Comment by Myzhar on 2015-02-08:
Hi @dtmoodie, I'm having the same issue as @ZiyangLI. I effectively installed OpenCV from repo as dependencies of cv_bridge before removing it and reinstalling opencv4tegra. Then I tried the dummy package and I get the same conflict error. Do you think that OpenCV removal whas not complete?

Comment by ahendrix on 2015-02-08:
nvidia has changed the way they package OpenCV4Tegra. You'll have to modify the the dummy package or use an older version.

$\endgroup$

Your Answer

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