ubuntuusers.de

Formatting: Erkenne die neuere Version des selbst erstellten .deb Pakets

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

holzkohlengrill

Anmeldungsdatum:
31. Oktober 2012

Beiträge: Zähle...

Ich brauche eine mit meinen Kameratreibern, Qt, ... kompilierte Version von OpenCV (mind. >= 2.4.11). Gleichzeitig brauche ich ROS (brauche jade-Version). Wenn ich dies ueber das Software Center installieren will, versucht es mir OpenCV aus den Paketquellen (da Abhaengigkeit) mitzuinstallieren. Um das nun zu verhindern hab ich mir gedacht, dass es wahrscheinlich am besten ist mir ein .deb-Paket zu bauen, dass dann Ubuntu als neueste Version erkennt.

Das habe ich auch versucht. Leider will ROS immer noch die Version von OpenCV aus den Paketquellen installieren. was mache ich falsch?

.deb Paketbau (gekuerzt):

marcel@marcel-VIG430P:~/Downloads/opencv-3.0.0/build$ sudo checkinstall

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs?  [y]: 

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> OpenCV - Computer Vision Library - Version 3.0.0 stable
>> 

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ root@marcel-VIG430P ]
1 -  Summary: [ OpenCV - Computer Vision Library - Version 3.0.0 stable ]
2 -  Name:    [ libopencv ]
3 -  Version: [ 3.0.0 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ build ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ build ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue: 

Installing with make install...

========================= Installation results ===========================
-- Detected version of GNU GCC: 49 (409)
-- Found OpenEXR: /usr/lib/x86_64-linux-gnu/libIlmImf.so
-- checking for module 'gstreamer-base-1.0'
--   package 'gstreamer-base-1.0' not found
-- checking for module 'gstreamer-video-1.0'
--   package 'gstreamer-video-1.0' not found
-- checking for module 'gstreamer-app-1.0'
--   package 'gstreamer-app-1.0' not found
-- checking for module 'gstreamer-riff-1.0'
--   package 'gstreamer-riff-1.0' not found
-- checking for module 'gstreamer-pbutils-1.0'
--   package 'gstreamer-pbutils-1.0' not found
-- checking for module 'gstreamer-base-0.10'
--   package 'gstreamer-base-0.10' not found
-- checking for module 'gstreamer-video-0.10'
--   package 'gstreamer-video-0.10' not found
-- checking for module 'gstreamer-app-0.10'
--   package 'gstreamer-app-0.10' not found
-- checking for module 'gstreamer-riff-0.10'
--   package 'gstreamer-riff-0.10' not found
-- checking for module 'gstreamer-pbutils-0.10'
--   package 'gstreamer-pbutils-0.10' not found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- checking for module 'libgphoto2'
--   package 'libgphoto2' not found
-- found IPP (ICV version): 8.2.1 [8.2.1]
-- at: /home/marcel/Downloads/opencv-3.0.0/3rdparty/ippicv/unpack/ippicv_lnx
-- CUDA detected: 6.5
-- CUDA NVCC target flags: -gencode;arch=compute_11,code=sm_11;-gencode;arch=compute_12,code=sm_12;-gencode;arch=compute_13,code=sm_13;-gencode;arch=compute_20,code=sm_20;-gencode;arch=compute_20,code=sm_21;-gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_30,code=compute_30
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE) 
-- To enable PlantUML support, set PLANTUML_JAR environment variable or pass -DPLANTUML_JAR=<filepath> option to cmake
-- Found PythonInterp: /usr/bin/python2.7 (found suitable version "2.7.9", minimum required is "2.7") 
-- Found PythonInterp: /usr/bin/python3.4 (found suitable version "3.4.3", minimum required is "3.4") 
-- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is exact version "3.4.3")
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named 'numpy'
-- Found apache ant 1.9.4: /usr/bin/ant
-- Could NOT find Matlab (missing:  MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN) 
-- The imported target "vtkQtChart" references the file
   "/usr/lib/libvtkQtChart.so.5.8.0"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/vtk-5.8/VTKTargets.cmake"
but not all the files it references.

-- The imported target "QVTK" references the file
   "/usr/lib/libQVTK.so.5.8.0"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   "/usr/lib/vtk-5.8/VTKTargets.cmake"
but not all the files it references.

-- VTK support is disabled. Incompatible combination: OpenCV + Qt5 and VTK ver.5.8.0 + Qt4
-- Found VTK ver. 5.8.0 (usefile: /usr/lib/vtk-5.8/UseVTK.cmake)
--   videoio: Removing WinRT API headers by default
-- 
-- General configuration for OpenCV 3.0.0 =====================================
--   Version control:               unknown
-- 
--   Platform:
--     Host:                        Linux 3.19.0-21-generic x86_64
--     CMake:                       3.0.2
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               Release
-- 
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ Compiler:                /usr/bin/c++  (ver 4.9.2)
--     C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /usr/bin/cc
--     C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):      
--     Linker flags (Debug):        
--     Precompiled headers:         YES
--     Extra dependencies:          Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Test Qt5::Concurrent Qt5::OpenGL /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libtiff.so /usr/lib/x86_64-linux-gnu/libjasper.so /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so dc1394 v4l1 v4l2 avcodec avformat avutil swscale avresample m3api /usr/lib/x86_64-linux-gnu/libbz2.so vtkCharts vtkCommon vtkFiltering vtkGenericFiltering vtkGeovis vtkGraphics vtkHybrid vtkIO vtkImaging vtkInfovis vtkParallel vtkRendering vtkViews vtkVolumeRendering vtkWidgets dl m pthread rt /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libSM.so /usr/lib/x86_64-linux-gnu/libICE.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so cudart nppc nppi npps cufft
--     3rdparty dependencies:       libwebp libpng libjpeg ippicv
-- 
--   OpenCV modules:
--     To be built:                 hal cudev core cudaarithm flann imgproc ml video viz cudabgsegm cudafilters cudaimgproc cudawarping imgcodecs photo shape videoio cudacodec highgui objdetect ts features2d calib3d cudafeatures2d cudalegacy cudaobjdetect cudaoptflow cudastereo java stitching superres videostab python2
--     Disabled:                    world
--     Disabled by dependency:      -
--     Unavailable:                 python3
-- 
--   GUI: 
--     QT 5.x:                      YES (ver 5.4.1)
--     QT OpenGL support:           YES (Qt5::OpenGL 5.4.1)
--     OpenGL support:              YES (/usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libSM.so /usr/lib/x86_64-linux-gnu/libICE.so /usr/lib/x86_64-linux-gnu/libX11.so /usr/lib/x86_64-linux-gnu/libXext.so)
--     VTK support:                 YES (ver 5.8.0)
-- 
--   Media I/O: 
--     ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8)
--     JPEG:                        libjpeg (ver 90)
--     WEBP:                        build (ver 0.3.1)
--     PNG:                         build (ver 1.5.12)
--     TIFF:                        /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.3)
--     JPEG 2000:                   /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
--     OpenEXR:                     /usr/lib/x86_64-linux-gnu/libImath.so /usr/lib/x86_64-linux-gnu/libIlmImf.so /usr/lib/x86_64-linux-gnu/libIex.so /usr/lib/x86_64-linux-gnu/libHalf.so /usr/lib/x86_64-linux-gnu/libIlmThread.so (ver 1.6.1)
--     GDAL:                        NO
-- 
--   Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  YES (ver 2.2.3)
--     FFMPEG:                      YES
--       codec:                     YES (ver 56.1.0)
--       format:                    YES (ver 56.1.0)
--       util:                      YES (ver 54.3.0)
--       swscale:                   YES (ver 3.0.0)
--       resample:                  YES (ver 2.1.0)
--       gentoo-style:              YES
--     GStreamer:                   NO
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     OpenNI2:                     NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     UniCap:                      NO
--     UniCap ucil:                 NO
--     V4L/V4L2:                    Using libv4l1 (ver 1.6.0) / libv4l2 (ver 1.6.0)
--     XIMEA:                       YES
--     Xine:                        NO
--     gPhoto2:                     NO
-- 
--   Other third-party libraries:
--     Use IPP:                     8.2.1 [8.2.1]
--          at:                     /home/marcel/Downloads/opencv-3.0.0/3rdparty/ippicv/unpack/ippicv_lnx
--     Use IPP Async:               NO
--     Use Eigen:                   YES (ver 3.2.2)
--     Use TBB:                     NO
--     Use OpenMP:                  NO
--     Use GCD                      NO
--     Use Concurrency              NO
--     Use C=:                      NO
--     Use pthreads for parallel for:
--                                  YES
--     Use Cuda:                    YES (ver 6.5)
--     Use OpenCL:                  YES
-- 
--   NVIDIA CUDA
--     Use CUFFT:                   YES
--     Use CUBLAS:                  NO
--     USE NVCUVID:                 NO
--     NVIDIA GPU arch:             11 12 13 20 21 30 35
--     NVIDIA PTX archs:            30
--     Use fast math:               NO
-- 
--   OpenCL:
--     Version:                     dynamic
--     Include path:                /home/marcel/Downloads/opencv-3.0.0/3rdparty/include/opencl/1.2
--     Use AMDFFT:                  NO
--     Use AMDBLAS:                 NO
-- 
--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.9)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.9)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
--     packages path:               lib/python2.7/dist-packages
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3.4 (ver 3.4.3)
-- 
--   Python (for build):            /usr/bin/python2.7
-- 
--   Java:
--     ant:                         /usr/bin/ant (ver 1.9.4)
--     JNI:                         /usr/lib/jvm/default-java/include /usr/lib/jvm/default-java/include /usr/lib/jvm/default-java/include
--     Java wrappers:               YES
--     Java tests:                  YES
-- 
--   Matlab:
--     mex:                         NO
-- 
--   Documentation:
--     Doxygen:                     NO
--     PlantUML:                    NO
-- 
--   Tests and samples:
--     Tests:                       YES
--     Performance tests:           YES
--     C/C++ Examples:              YES
-- 
--   Install path:                  /usr/local
-- 
--   cvconfig.h is in:              /home/marcel/Downloads/opencv-3.0.0/build
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/marcel/Downloads/opencv-3.0.0/build

Install the project...

======================== Installation successful ==========================

Copying documentation directory...
./
./doc/
./doc/CMakeFiles/
./doc/CMakeFiles/progress.marks
./doc/CMakeFiles/CMakeDirectoryInformation.cmake
./doc/Makefile
./doc/cmake_install.cmake

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]: 
Should I exclude them from the package? (Saying yes is a good idea)  [n]:                         

Some of the files created by the installation are inside the build
directory: /home/marcel/Downloads/opencv-3.0.0/build

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]: 
Should I exclude them from the package? (Saying yes is a good idea)  [y]: 

Copying files to the temporary directory...OK

Stripping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK

Building Debian package...OK

Installing Debian package...OK

Erasing temporary files...OK

Writing backup package...OK
OK

Deleting temp dir...OK


**********************************************************************

 Done. The new package has been installed and saved to

 /home/marcel/Downloads/opencv-3.0.0/build/libopencv_3.0.0-1_amd64.deb

 You can remove it from your system anytime using: 

      dpkg -r libopencv

**********************************************************************

ROS installation:

marcel@marcel-VIG430P:~/Downloads/ScaViSLAM-master$ sudo apt-get install ros-jade-desktop-full
[sudo] password for marcel: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libcv-dev libcvaux-dev libhighgui-dev libopencv-calib3d-dev libopencv-calib3d2.4 libopencv-contrib-dev
  libopencv-contrib2.4 libopencv-core-dev libopencv-core2.4 libopencv-dev 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-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-stitching-dev libopencv-stitching2.4 libopencv-superres-dev libopencv-superres2.4
  libopencv-ts-dev libopencv-ts2.4 libopencv-video-dev libopencv-video2.4 libopencv-videostab-dev
  libopencv-videostab2.4 libopencv2.4-java libopencv2.4-jni opencv-data python-opencv ros-jade-actionlib
  ros-jade-actionlib-msgs ros-jade-actionlib-tutorials ros-jade-angles ros-jade-bond ros-jade-bond-core
  ros-jade-bondcpp ros-jade-bondpy ros-jade-camera-calibration ros-jade-camera-calibration-parsers
  ros-jade-camera-info-manager ros-jade-class-loader ros-jade-cmake-modules ros-jade-collada-parser
  ros-jade-collada-urdf ros-jade-common-msgs ros-jade-common-tutorials
  ros-jade-compressed-depth-image-transport ros-jade-compressed-image-transport ros-jade-control-msgs
  ros-jade-cpp-common ros-jade-cv-bridge ros-jade-depth-image-proc ros-jade-desktop
  ros-jade-diagnostic-aggregator ros-jade-diagnostic-analysis ros-jade-diagnostic-common-diagnostics
  ros-jade-diagnostic-msgs ros-jade-diagnostic-updater ros-jade-diagnostics ros-jade-driver-base
  ros-jade-dynamic-reconfigure ros-jade-eigen-conversions ros-jade-eigen-stl-containers
  ros-jade-executive-smach ros-jade-filters ros-jade-gazebo-msgs ros-jade-gazebo-plugins
  ros-jade-gazebo-ros ros-jade-gazebo-ros-pkgs ros-jade-gencpp ros-jade-geneus ros-jade-genlisp
  ros-jade-genmsg ros-jade-genpy ros-jade-geometric-shapes ros-jade-geometry ros-jade-geometry-msgs
  ros-jade-geometry-tutorials ros-jade-image-common ros-jade-image-geometry ros-jade-image-pipeline
  ros-jade-image-proc ros-jade-image-rotate ros-jade-image-transport ros-jade-image-transport-plugins
  ros-jade-image-view ros-jade-interactive-marker-tutorials ros-jade-interactive-markers
  ros-jade-joint-state-publisher ros-jade-kdl-conversions ros-jade-kdl-parser ros-jade-laser-assembler
  ros-jade-laser-filters ros-jade-laser-geometry ros-jade-laser-pipeline ros-jade-librviz-tutorial
  ros-jade-map-msgs ros-jade-media-export ros-jade-message-filters ros-jade-message-generation
  ros-jade-message-runtime ros-jade-mk ros-jade-nav-msgs ros-jade-nodelet ros-jade-nodelet-core
  ros-jade-nodelet-topic-tools ros-jade-nodelet-tutorial-math ros-jade-octomap ros-jade-orocos-kdl
  ros-jade-pcl-conversions ros-jade-pcl-msgs ros-jade-pcl-ros ros-jade-perception
  ros-jade-perception-pcl ros-jade-pluginlib ros-jade-pluginlib-tutorials ros-jade-polled-camera
  ros-jade-pr2-description ros-jade-python-orocos-kdl ros-jade-python-qt-binding ros-jade-qt-dotgraph
  ros-jade-qt-gui ros-jade-qt-gui-cpp ros-jade-qt-gui-py-common ros-jade-random-numbers
  ros-jade-resource-retriever ros-jade-robot ros-jade-robot-model ros-jade-robot-state-publisher
  ros-jade-ros ros-jade-ros-base ros-jade-ros-comm ros-jade-ros-core ros-jade-ros-tutorials
  ros-jade-rosbag ros-jade-rosbag-migration-rule ros-jade-rosbag-storage ros-jade-rosbash
  ros-jade-rosboost-cfg ros-jade-rosbuild ros-jade-rosclean ros-jade-rosconsole
  ros-jade-rosconsole-bridge ros-jade-roscpp ros-jade-roscpp-core ros-jade-roscpp-serialization
  ros-jade-roscpp-traits ros-jade-roscpp-tutorials ros-jade-roscreate ros-jade-rosgraph
  ros-jade-rosgraph-msgs ros-jade-roslang ros-jade-roslaunch ros-jade-roslib ros-jade-roslint
  ros-jade-roslisp ros-jade-roslz4 ros-jade-rosmake ros-jade-rosmaster ros-jade-rosmsg ros-jade-rosnode
  ros-jade-rosout ros-jade-rospack ros-jade-rosparam ros-jade-rospy ros-jade-rospy-tutorials
  ros-jade-rosservice ros-jade-rostest ros-jade-rostime ros-jade-rostopic ros-jade-rosunit
  ros-jade-roswtf ros-jade-rqt-action ros-jade-rqt-bag ros-jade-rqt-bag-plugins
  ros-jade-rqt-common-plugins ros-jade-rqt-console ros-jade-rqt-dep ros-jade-rqt-graph ros-jade-rqt-gui
  ros-jade-rqt-gui-cpp ros-jade-rqt-gui-py ros-jade-rqt-image-view ros-jade-rqt-launch
  ros-jade-rqt-logger-level ros-jade-rqt-moveit ros-jade-rqt-msg ros-jade-rqt-nav-view ros-jade-rqt-plot
  ros-jade-rqt-pose-view ros-jade-rqt-publisher ros-jade-rqt-py-common ros-jade-rqt-py-console
  ros-jade-rqt-reconfigure ros-jade-rqt-robot-dashboard ros-jade-rqt-robot-monitor
  ros-jade-rqt-robot-plugins ros-jade-rqt-robot-steering ros-jade-rqt-runtime-monitor ros-jade-rqt-rviz
  ros-jade-rqt-service-caller ros-jade-rqt-shell ros-jade-rqt-srv ros-jade-rqt-tf-tree ros-jade-rqt-top
  ros-jade-rqt-topic ros-jade-rqt-web ros-jade-rviz ros-jade-rviz-plugin-tutorials
  ros-jade-rviz-python-tutorial ros-jade-self-test ros-jade-sensor-msgs ros-jade-shape-msgs
  ros-jade-simulators ros-jade-smach ros-jade-smach-msgs ros-jade-smach-ros ros-jade-smclib
  ros-jade-stage ros-jade-stage-ros ros-jade-std-msgs ros-jade-std-srvs ros-jade-stereo-image-proc
  ros-jade-stereo-msgs ros-jade-tf ros-jade-tf-conversions ros-jade-tf2 ros-jade-tf2-geometry-msgs
  ros-jade-tf2-msgs ros-jade-tf2-py ros-jade-tf2-ros ros-jade-theora-image-transport
  ros-jade-topic-tools ros-jade-trajectory-msgs ros-jade-turtle-actionlib ros-jade-turtle-tf
  ros-jade-turtle-tf2 ros-jade-turtlesim ros-jade-urdf ros-jade-urdf-parser-plugin
  ros-jade-urdf-tutorial ros-jade-vision-opencv ros-jade-visualization-marker-tutorials
  ros-jade-visualization-msgs ros-jade-visualization-tutorials ros-jade-viz ros-jade-xacro
  ros-jade-xmlrpcpp
The following NEW packages will be installed
  libcv-dev libcvaux-dev libhighgui-dev libopencv-calib3d-dev libopencv-calib3d2.4 libopencv-contrib-dev
  libopencv-contrib2.4 libopencv-core-dev libopencv-core2.4 libopencv-dev 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-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-stitching-dev libopencv-stitching2.4 libopencv-superres-dev libopencv-superres2.4
  libopencv-ts-dev libopencv-ts2.4 libopencv-video-dev libopencv-video2.4 libopencv-videostab-dev
  libopencv-videostab2.4 libopencv2.4-java libopencv2.4-jni opencv-data python-opencv ros-jade-actionlib
  ros-jade-actionlib-msgs ros-jade-actionlib-tutorials ros-jade-angles ros-jade-bond ros-jade-bond-core
  ros-jade-bondcpp ros-jade-bondpy ros-jade-camera-calibration ros-jade-camera-calibration-parsers
  ros-jade-camera-info-manager ros-jade-class-loader ros-jade-cmake-modules ros-jade-collada-parser
  ros-jade-collada-urdf ros-jade-common-msgs ros-jade-common-tutorials
  ros-jade-compressed-depth-image-transport ros-jade-compressed-image-transport ros-jade-control-msgs
  ros-jade-cpp-common ros-jade-cv-bridge ros-jade-depth-image-proc ros-jade-desktop
  ros-jade-desktop-full ros-jade-diagnostic-aggregator ros-jade-diagnostic-analysis
  ros-jade-diagnostic-common-diagnostics ros-jade-diagnostic-msgs ros-jade-diagnostic-updater
  ros-jade-diagnostics ros-jade-driver-base ros-jade-dynamic-reconfigure ros-jade-eigen-conversions
  ros-jade-eigen-stl-containers ros-jade-executive-smach ros-jade-filters ros-jade-gazebo-msgs
  ros-jade-gazebo-plugins ros-jade-gazebo-ros ros-jade-gazebo-ros-pkgs ros-jade-gencpp ros-jade-geneus
  ros-jade-genlisp ros-jade-genmsg ros-jade-genpy ros-jade-geometric-shapes ros-jade-geometry
  ros-jade-geometry-msgs ros-jade-geometry-tutorials ros-jade-image-common ros-jade-image-geometry
  ros-jade-image-pipeline ros-jade-image-proc ros-jade-image-rotate ros-jade-image-transport
  ros-jade-image-transport-plugins ros-jade-image-view ros-jade-interactive-marker-tutorials
  ros-jade-interactive-markers ros-jade-joint-state-publisher ros-jade-kdl-conversions
  ros-jade-kdl-parser ros-jade-laser-assembler ros-jade-laser-filters ros-jade-laser-geometry
  ros-jade-laser-pipeline ros-jade-librviz-tutorial ros-jade-map-msgs ros-jade-media-export
  ros-jade-message-filters ros-jade-message-generation ros-jade-message-runtime ros-jade-mk
  ros-jade-nav-msgs ros-jade-nodelet ros-jade-nodelet-core ros-jade-nodelet-topic-tools
  ros-jade-nodelet-tutorial-math ros-jade-octomap ros-jade-orocos-kdl ros-jade-pcl-conversions
  ros-jade-pcl-msgs ros-jade-pcl-ros ros-jade-perception ros-jade-perception-pcl ros-jade-pluginlib
  ros-jade-pluginlib-tutorials ros-jade-polled-camera ros-jade-pr2-description
  ros-jade-python-orocos-kdl ros-jade-python-qt-binding ros-jade-qt-dotgraph ros-jade-qt-gui
  ros-jade-qt-gui-cpp ros-jade-qt-gui-py-common ros-jade-random-numbers ros-jade-resource-retriever
  ros-jade-robot ros-jade-robot-model ros-jade-robot-state-publisher ros-jade-ros ros-jade-ros-base
  ros-jade-ros-comm ros-jade-ros-core ros-jade-ros-tutorials ros-jade-rosbag
  ros-jade-rosbag-migration-rule ros-jade-rosbag-storage ros-jade-rosbash ros-jade-rosboost-cfg
  ros-jade-rosbuild ros-jade-rosclean ros-jade-rosconsole ros-jade-rosconsole-bridge ros-jade-roscpp
  ros-jade-roscpp-core ros-jade-roscpp-serialization ros-jade-roscpp-traits ros-jade-roscpp-tutorials
  ros-jade-roscreate ros-jade-rosgraph ros-jade-rosgraph-msgs ros-jade-roslang ros-jade-roslaunch
  ros-jade-roslib ros-jade-roslint ros-jade-roslisp ros-jade-roslz4 ros-jade-rosmake ros-jade-rosmaster
  ros-jade-rosmsg ros-jade-rosnode ros-jade-rosout ros-jade-rospack ros-jade-rosparam ros-jade-rospy
  ros-jade-rospy-tutorials ros-jade-rosservice ros-jade-rostest ros-jade-rostime ros-jade-rostopic
  ros-jade-rosunit ros-jade-roswtf ros-jade-rqt-action ros-jade-rqt-bag ros-jade-rqt-bag-plugins
  ros-jade-rqt-common-plugins ros-jade-rqt-console ros-jade-rqt-dep ros-jade-rqt-graph ros-jade-rqt-gui
  ros-jade-rqt-gui-cpp ros-jade-rqt-gui-py ros-jade-rqt-image-view ros-jade-rqt-launch
  ros-jade-rqt-logger-level ros-jade-rqt-moveit ros-jade-rqt-msg ros-jade-rqt-nav-view ros-jade-rqt-plot
  ros-jade-rqt-pose-view ros-jade-rqt-publisher ros-jade-rqt-py-common ros-jade-rqt-py-console
  ros-jade-rqt-reconfigure ros-jade-rqt-robot-dashboard ros-jade-rqt-robot-monitor
  ros-jade-rqt-robot-plugins ros-jade-rqt-robot-steering ros-jade-rqt-runtime-monitor ros-jade-rqt-rviz
  ros-jade-rqt-service-caller ros-jade-rqt-shell ros-jade-rqt-srv ros-jade-rqt-tf-tree ros-jade-rqt-top
  ros-jade-rqt-topic ros-jade-rqt-web ros-jade-rviz ros-jade-rviz-plugin-tutorials
  ros-jade-rviz-python-tutorial ros-jade-self-test ros-jade-sensor-msgs ros-jade-shape-msgs
  ros-jade-simulators ros-jade-smach ros-jade-smach-msgs ros-jade-smach-ros ros-jade-smclib
  ros-jade-stage ros-jade-stage-ros ros-jade-std-msgs ros-jade-std-srvs ros-jade-stereo-image-proc
  ros-jade-stereo-msgs ros-jade-tf ros-jade-tf-conversions ros-jade-tf2 ros-jade-tf2-geometry-msgs
  ros-jade-tf2-msgs ros-jade-tf2-py ros-jade-tf2-ros ros-jade-theora-image-transport
  ros-jade-topic-tools ros-jade-trajectory-msgs ros-jade-turtle-actionlib ros-jade-turtle-tf
  ros-jade-turtle-tf2 ros-jade-turtlesim ros-jade-urdf ros-jade-urdf-parser-plugin
  ros-jade-urdf-tutorial ros-jade-vision-opencv ros-jade-visualization-marker-tutorials
  ros-jade-visualization-msgs ros-jade-visualization-tutorials ros-jade-viz ros-jade-xacro
  ros-jade-xmlrpcpp
0 to upgrade, 264 to newly install, 0 to remove and 1 not to upgrade.
Need to get 60.1 MB of archives.
After this operation, 248 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

holzkohlengrill schrieb:

…
10 - Requires: [  ]
11 - Provides: [ build ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Enter a number to change any of them or press ENTER to continue: 

Bei "Provides" kannst du die Liste der opencv-Pakete eintragen, die ros-jade-desktop-full installieren will.

holzkohlengrill

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2012

Beiträge: 71

Danke, ich werde es gleich testen. Kann ich die einfach durch Leerzeichen trennen bzw. muss ich jedes einzelne eintragen? Sie werden durch Kommas getrennt (http://stackoverflow.com/questions/18365600/checkinstall-multiple-package-dependencies).Es gibt hier erst immer denselben Prefix, and den dann core, flann, etc. und die Versionsnummer angehaengt wird.

Muesste bei der ROS Installation mein Paket nicht automatisch erkannt werden? Falls das wirklich nur vom Namen abhaengt, sollte so etwas nicht dokumentiert sein? Vielleicht suche ich auch einfach nach dem falschen Begriff. Hier http://packages.ubuntu.com/source/vivid/opencv ist OpenCV aufgefuert (als opencv), was dann auch der richtige Paketname sein muesste und nicht libopencv wie man es im Software Center findet. Unter selben link steht auch etwas wie: 2.4.9+dfsg-1ubuntu4 - soll das die komplette Versionsnummer sein? Wie finde ich den zweiten Part fuer mein neueres Paket heraus?

Noch eine Frage: Die Versionsnummern scheinen nicht immer konsistent. Aktuelle Version wird oft als 3.0 bezeichnet; dagegen gibt es auch Version 2.4.11. Kann mir das Probleme machen?

Wieso eigentlich Provides und nicht Replaces? >> also mit Provides scheint es jedenfalls zu funktionieren. Die Antwort wuerde mich trotzdem interessierren.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

holzkohlengrill schrieb:

Muesste bei der ROS Installation mein Paket nicht automatisch erkannt werden? Falls das wirklich nur vom Namen abhaengt, sollte so etwas nicht dokumentiert sein? Vielleicht suche ich auch einfach nach dem falschen Begriff. Hier http://packages.ubuntu.com/source/vivid/opencv ist OpenCV aufgefuert (als opencv), was dann auch der richtige Paketname sein muesste und nicht libopencv wie man es im Software Center findet. Unter selben link steht auch etwas wie: 2.4.9+dfsg-1ubuntu4 - soll das die komplette Versionsnummer sein? Wie finde ich den zweiten Part fuer mein neueres Paket heraus?

opencv ist der Name des Quellcode-Paketes, das ist der Quellcode mit ein paar Metadaten und einer Bauanleitung. Aus diesem Quellcode-Paket werden dann mehrere Binärpakete gebaut (auf den Ubuntu-Servern) und diese Binärpakete werden dann über die Paketverwaltung an die Benutzer ausgeliefert. Deshalb werden für die Abhängigkeiten immer die Namen der Binärpakete verwendet.

Noch eine Frage: Die Versionsnummern scheinen nicht immer konsistent. Aktuelle Version wird oft als 3.0 bezeichnet; dagegen gibt es auch Version 2.4.11. Kann mir das Probleme machen?

In den offiziellen Paketquellen ist das konsistent (2.4.9+dfsg-1ubuntu4 für Vivid). Wenn du der Paketverwaltung eine andere Version unterschiebst, ja, das kann dir Probleme machen.

Wieso eigentlich Provides und nicht Replaces? >> also mit Provides scheint es jedenfalls zu funktionieren. Die Antwort wuerde mich trotzdem interessierren.

Du hast mit libopencv einen Namen gewählt, den die Paketverwaltung bisher nicht kannte (genauso gut hättest du es wrtlprmft nennen können, oder besser libopencv-holzkohlengrill oder opencv-holzkohlengrill um mögliche Namenskonflikte auszuschließen). Mit "Provides: libopencv-core2.4" z.B. sagst du der Paketverwaltung, dass dein Paket die Funktionalität von libopencv-core2.4 bereitstellt, ohne dass libopencv-core2.4 tatsächlich installiert ist (das ist dann ein virtuelles Paket).

Replaces kann das nicht 😉 . Wenn du genaueres wissen willst, musst du in der Debian-Doku nachsehen, kann ich nicht aus dem Ärmel schütteln. ☺

holzkohlengrill

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2012

Beiträge: 71

Danke, fuer deine Antwort.

barcc schrieb:

Du hast mit libopencv einen Namen gewählt, den die Paketverwaltung bisher nicht kannte

Die Paketverwaltung kennt also nur Binaerpakete; nie aber Quellpakete?

Zur Vollstaendigkeit noch die Kurzbeschreiung zu Replaces:

7.6 Overwriting files and replacing packages - Replaces

Packages can declare in their control file that they should overwrite files in certain other packages, or completely replace other packages. The Replaces control field has these two distinct purposes.

Langversion und Quelle: https://www.debian.org/doc/debian-policy/ch-relationships.html

D.h. es muesste eigentlich auch mit Replaces funktionieren. Mein Fehler war wahrscheinlich, dass ich nur das Quellpaket angegeben hatte und davon ausgegangen bin, dass dessen Binaerpakete automatisch benannt und erstellt werden.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

holzkohlengrill schrieb:

… Die Paketverwaltung kennt also nur Binaerpakete; nie aber Quellpakete?

Die Paketverwaltung weiß schon zu welchem Quellpaket ein Binärpaket gehört, Paketabhängigkeiten sind aber immer Abhängigkeiten zu Binärpaketen.

Beispiel 1: Du installierst gimp:

sudo apt-get install gimp

Das installiert dir das Binärpaket "gimp" und alle Abhängigkeiten, so dass gimp dann auch funktioniert. Warum solle die Paketverwaltung hier in irgendeiner Form die Quellpakete (enthalten den Quellcode) berücksichtigen? Du willst gimp benutzen, den Quellcode brauchst du dazu nicht.
Beispiel 2:

sudo apt-get source libgimp2.0

Die Paketverwaltung weiß, dass das Binärpaket "libgimp2.0" aus dem Quellpaket "gimp" gebaut wurde und lädt das Quellpaket "gimp" herunter. Abhängigkeiten sind hier nicht im Spiel und es wird nichts installiert.

Zur Vollstaendigkeit noch die Kurzbeschreiung zu Replaces:

7.6 Overwriting files and replacing packages - Replaces

Packages can declare in their control file that they should overwrite files in certain other packages, or completely replace other packages. The Replaces control field has these two distinct purposes.

Langversion und Quelle: https://www.debian.org/doc/debian-policy/ch-relationships.html

D.h. es muesste eigentlich auch mit Replaces funktionieren. Mein Fehler war wahrscheinlich, dass ich nur das Quellpaket angegeben hatte und davon ausgegangen bin, dass dessen Binaerpakete automatisch benannt und erstellt werden.

Die Paketverwaltung weiß mit Replaces nur, dass das eine Paket ein anderes ersetzen soll, und nicht, dass das neue die Funktionalität des alten bereitstellt. Das Erzeugen von virtuellen Paketen kann nur Provides.

holzkohlengrill

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2012

Beiträge: 71

Ist dann der Grund, wieso ROS mir trotzdem die Version von OpenCV aus den Paketquellen installieren will, obwohl ich die aktuellste Version installiert habe, dass genau diese Version Required ist? Ansonsten muesste die Paketverwaltung doch sehen, dass es schon ein Paket namens opencv gibt, das installiert ist und dessen Version aktueller ist, als die, die es gerade installieren will.

barcc schrieb:

Die Paketverwaltung weiß mit Replaces nur, dass das eine Paket ein anderes ersetzen soll, und nicht, dass das neue die Funktionalität des alten bereitstellt. Das Erzeugen von virtuellen Paketen kann nur Provides.

O.K., ich dachte, das Eine impliziert das Andere.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wohnort: Dortmund

holzkohlengrill schrieb:

Ist dann der Grund, wieso ROS mir trotzdem die Version von OpenCV aus den Paketquellen installieren will, obwohl ich die aktuellste Version installiert habe, dass genau diese Version Required ist? Ansonsten muesste die Paketverwaltung doch sehen, dass es schon ein Paket namens opencv gibt, das installiert ist und dessen Version aktueller ist, als die, die es gerade installieren will.

Zumindest in den offiziellen Paketquellen gibt es kein Paket namens opencv, dass man installieren könnte, sondern nur ein Quellpaket namens "opencv" und Quellpakete kann man nicht installieren, weil die nur den Quellcode enthalten. Wenn es bei dir ein Paket namens opencv gibt, das installiert ist, hast du es selbst gebaut oder aus einer Fremdquelle bezogen. Und ROS hat vermutlich keine Abhängigkeit zu einem Paket namens opencv, sondern zu einigen Paketen, die "libopencv" in ihrem Namen enthalten.

Paketabhängigkeiten kann man z.B. mit apt/apt-cache und aptitude ansehen.

holzkohlengrill

(Themenstarter)

Anmeldungsdatum:
31. Oktober 2012

Beiträge: 71

Ich glaube, du hast jetzt wirklich alle meine Fragen beantwortet 😉 Danke nochmal.

Antworten |