web-dev-qa-db-fra.com

Erreur lors de l'installation d'OpenCV sur Ubuntu 16.04

J'ai essayé d'installer OpenCV sur Ubuntu 16.04 en supprimant plusieurs tutoriels et je me retrouve toujours avec une erreur. C'est le dernier que j'ai suivi ce tutoriel:

https://github.com/BVLC/caffe/wiki/Ubuntu-16.04- ou 15.10-OpenCV-3.1-Installation-Guide

Que puis-je faire?

[ 48%] Linking CXX executable ../../bin/opencv_test_viz
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFIsTiled@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFDefaultStripSize@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFReadTile@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFWriteScanline@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `_TIFFfree@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFGetField@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFScanlineSize@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFTileSize@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFClose@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFClientOpen@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFGetFieldDefaulted@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFNumberOfDirectories@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFOpen@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFReadRGBAImage@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFSetField@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFSetWarningHandler@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFSetErrorHandler@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `_TIFFmalloc@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFSetDirectory@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFReadScanline@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to `TIFFNumberOfTiles@LIBTIFF_4.0'
collect2: error: ld returned 1 exit status
modules/viz/CMakeFiles/opencv_test_viz.dir/build.make:236: recipe for target 'bin/opencv_test_viz' failed
make[2]: *** [bin/opencv_test_viz] Error 1
CMakeFiles/Makefile2:3306: recipe for target 'modules/viz/CMakeFiles/opencv_test_viz.dir/all' failed
make[1]: *** [modules/viz/CMakeFiles/opencv_test_viz.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
10
Rafael Reis

J'ai suivi le même tutoriel pour installer opencv et j'ai eu le même problème. Cela fonctionne pour moi:

Sudo apt-get autoremove libtiff5-dev

Sudo apt-get install libtiff5-dev

Entrez le répertoire opencv.

cd build/ (je suppose que c'est déjà créé, sinon le créer)

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

make

puis continuez avec le tutoriel.

12
Jose Jaita

Selon this , OpenCV a besoin de libtiff4, que Ubuntu a supprimé, c’est-à-dire que le paquet qui l’a remplacé est libtiff5-dev

En guise de solution temporaire, vous pouvez spécifier -DBUILD_TIFF=ON sur cmake lors de la configuration afin de générer la version libtiff4 distribuée avec OpenCV.

Cela a fonctionné pour moi dans Ubuntu 16.04, avec OpenCV 3.2.1.

7
gevang

On dirait que vous devez installer/réinstaller libpng. 

1
Andrey Smorodov

Essayez make clean, puis exécutez à nouveau la commande make. Généralement, après un échec, si vous essayez la commande make sans nettoyer l’installation précédente, vous obtenez des erreurs.

1
Jayanth Reddy

J'ai eu le même problème. Je construisais openCV 3.3.0 avec opencv_contrib repository. Il s'est avéré que l'inclusion de l'indicateur -D BUILD_TIFF=ON avec la commande cmake résolvait le problème comme indiqué par gevang déjà. 

Ps.: Puisque je ne fais que reconnaître la solution fournie par gevang , cela devrait plutôt être un commentaire au lieu d’une réponse, mais il me manque les droits correspondants. Désolé. 

0
Matej Jeglič