Bug 1070428
Summary: | OpenCVConfig.cmake gives incorrect OpenCV_INSTALL_PATH & OpenCV_INCLUDE_DIRS | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rok Mandeljc <rok.mandeljc> |
Component: | opencv | Assignee: | Rex Dieter <rdieter> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 20 | CC: | hhorak, i, jmlich, karlthered, kwizart, logans, markku.kolkka, nomis80, rdieter |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | opencv-2.4.7-6.fc20 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-05-06 03:34:26 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Rok Mandeljc
2014-02-26 20:00:44 UTC
-I//include/opencv should have been -I/usr/include/opencv. But patch welcomed, I don't plan to work on this issue that do not affects the case I know. (I'm using opencv.pc). The problem is caused by opencv-pkgcmake2.patch used by fedora's RPM - can you please check if it is still necessary? You can make a test build and verify that all the dependent packages rebuilt fine. (You should use mock) Ok, I did the test re-build with opencv-2.4.7-6.fc20.src.rpm, which is same as opencv-2.4.7-5.fc21.src.rpm from Koji, except that it does not enable opencv-pkgcmake2.patch. The list of packages to rebuild was obtained by 'repoquery --whatrequires opencv ', and then I got the corresponding SRPMs from Koji and rebuilt them using the following: mock -r fedora-20-x86_64 --init mock -r fedora-20-x86_64 --no-clean --verbose --rebuild ./opencv-2.4.7-6.fc20.src.rpm mock -r fedora-20-x86_64 --no-clean --install /var/lib/mock/fedora-20-x86_64/result/opencv-python-2.4.7-6.fc20.x86_64.rpm /var/lib/mock/fedora-20-x86_64/result/opencv-devel-2.4.7-6.fc20.x86_64.rpm /var/lib/mock/fedora-20-x86_64/result/opencv-core-2.4.7-6.fc20.x86_64.rpm /var/lib/mock/fedora-20-x86_64/result/opencv-2.4.7-6.fc20.x86_64.rpm mock -r fedora-20-x86_64 --no-clean --verbose --rebuild ./${SRPM} Is this the procedure you had in mind, or is there a way to rebuild all dependent packages automatically? Using the above procedure, all the packages rebuilt without errors when pkgcmake2.patch was removed (whereas, in fact, simon fails to build WITH it): digikam-0:3.5.0-1.fc20.x86_64 digikam-0:3.5.0-4.fc20.x86_64 digikam-libs-0:3.5.0-1.fc20.i686 digikam-libs-0:3.5.0-1.fc20.x86_64 digikam-libs-0:3.5.0-4.fc20.i686 digikam-libs-0:3.5.0-4.fc20.x86_64 kipi-plugins-0:3.5.0-1.fc20.x86_64 kipi-plugins-0:3.5.0-4.fc20.x86_64 libkface-0:3.5.0-1.fc20.i686 libkface-0:3.5.0-1.fc20.x86_64 libkface-0:3.5.0-4.fc20.i686 libkface-0:3.5.0-4.fc20.x86_64 => SRPM: digikam-3.5.0-4.fc20.src.rpm => comment: uses #include <opencv/cv.h> fawkes-firevision-0:0.5.0-13.fc20.i686 fawkes-firevision-0:0.5.0-13.fc20.x86_64 => SRPM: fawkes-0.5.0-13.fc20.src.rpm => comment: uses #include <opencv/cv.h> freemedforms-emr-0:0.9.0-0.1.beta1.fc20.x86_64 => SRPM: freemedforms-0.9.0-0.1.beta1.fc20.src.rpm => comment: uses #include <opencv2/core/core.hpp>, etc. frei0r-plugins-opencv-0:1.3-11.fc20.x86_64 frei0r-plugins-opencv-0:1.4-1.fc20.x86_64 => SRPM: frei0r-plugins-1.4-1.fc20.src.rpm => comment: uses #include <opencv/cv.h> libfreenect-opencv-0:0.1.2-6.fc20.i686 libfreenect-opencv-0:0.1.2-6.fc20.x86_64 => SRPM: libfreenect-0.1.2-6.fc20.src.rpm => comment: uses #include <opencv/cv.h> mrpt-apps-0:1.0.2-1.fc20.x86_64 mrpt-base-0:1.0.2-1.fc20.i686 mrpt-base-0:1.0.2-1.fc20.x86_64 mrpt-detectors-0:1.0.2-1.fc20.i686 mrpt-detectors-0:1.0.2-1.fc20.x86_64 mrpt-gui-0:1.0.2-1.fc20.i686 mrpt-gui-0:1.0.2-1.fc20.x86_64 mrpt-hmtslam-0:1.0.2-1.fc20.i686 mrpt-hmtslam-0:1.0.2-1.fc20.x86_64 mrpt-hwdrivers-0:1.0.2-1.fc20.i686 mrpt-hwdrivers-0:1.0.2-1.fc20.x86_64 mrpt-kinematics-0:1.0.2-1.fc20.i686 mrpt-kinematics-0:1.0.2-1.fc20.x86_64 mrpt-maps-0:1.0.2-1.fc20.i686 mrpt-maps-0:1.0.2-1.fc20.x86_64 mrpt-obs-0:1.0.2-1.fc20.i686 mrpt-obs-0:1.0.2-1.fc20.x86_64 mrpt-opengl-0:1.0.2-1.fc20.i686 mrpt-opengl-0:1.0.2-1.fc20.x86_64 mrpt-pbmap-0:1.0.2-1.fc20.i686 mrpt-pbmap-0:1.0.2-1.fc20.x86_64 mrpt-reactivenav-0:1.0.2-1.fc20.i686 mrpt-reactivenav-0:1.0.2-1.fc20.x86_64 mrpt-scanmatching-0:1.0.2-1.fc20.i686 mrpt-scanmatching-0:1.0.2-1.fc20.x86_64 mrpt-slam-0:1.0.2-1.fc20.i686 mrpt-slam-0:1.0.2-1.fc20.x86_64 mrpt-topography-0:1.0.2-1.fc20.i686 mrpt-topography-0:1.0.2-1.fc20.x86_64 mrpt-vision-0:1.0.2-1.fc20.i686 mrpt-vision-0:1.0.2-1.fc20.x86_64 => SRPM: mrpt-1.0.2-1.fc20.src.rpm => comment: uses #include <cv.h>, but seems to bring its own FindOpenCV nomacs-0:1.6.0.2-1.fc20.x86_64 nomacs-0:1.6.4-1.fc20.x86_64 => SRPM: nomacs-1.6.4-1.fc20.src.rpm => comment: uses either #include "opencv/cv.h" or #include "opencv2/core/core.hpp", etc. opencfu-0:3.8.11-1.fc20.x86_64 => SRPM: opencfu-3.8.11-1.fc20.src.rpm => comment: uses #include "opencv2/core/core.hpp" opencv-devel-0:2.4.6.1-1.fc20.i686 opencv-devel-0:2.4.6.1-1.fc20.x86_64 opencv-devel-0:2.4.7-2.fc20.i686 opencv-devel-0:2.4.7-2.fc20.x86_64 opencv-python-0:2.4.6.1-1.fc20.x86_64 opencv-python-0:2.4.7-2.fc20.x86_64 => SRPM: opencv-2.4.7-6.fc20.src.rpm => comment: the modified package php-facedetect-0:1.0.1-10.fc20.x86_64 => SRPM: php-facedetect-1.0.1-10.fc20.src.rpm => comment: uses #include <opencv/cv.h> player-0:3.0.2-34.fc20.i686 player-0:3.0.2-34.fc20.x86_64 => SRPM: player-3.0.2-34.fc20.src.rpm => comment: uses #include <cv.h>; but uses pkg-config simarrange-0:0.0-1.20131019gitd52382f.fc20.x86_64 => SRPM: simarrange-0.0-1.20131019gitd52382f.fc20.src.rpm => comment: uses #include <opencv/cv.h> simon-0:0.4.1-1.fc20.x86_64 simon-libs-0:0.4.1-1.fc20.i686 simon-libs-0:0.4.1-1.fc20.x86_64 => SRPM: simon-0.4.1-1.fc20.src.rpm => comment: uses #include <cv.h>; works without pkgcmake2.patch, whereas with it, it fails with the same symptoms as described in initial report. vlc-extras-0:2.1.2-1.fc20.i686 vlc-extras-0:2.1.2-1.fc20.x86_64 vlc-extras-0:2.1.4-1.fc20.x86_64 => SRPM: vlc-2.1.4-1.fc20.src.rpm (rpmfusion) => uses #include <cv.h>; but uses pkg-config Basically, most of the packages are not affected one way or the other, because: - either they use "#include <opencv/*.h>" or "#include <opencv2/*/*.h>", and therefore -I/usr/include is automatically sufficient - or they use "#include <cv.h>", but obtain the include path via pkg-config, which is not affected by pkgcmake2.patch This is a regression caused by http://pkgs.fedoraproject.org/cgit/opencv.git/commit/?id=85dcc3a0ce55e5781fc670381996af2b43b38e8d (cc Rex) I just took a look at the patch, and I think completely removing pkgcmake2.patch will solve the problem entirely. The current cmake reports two invalid directories, and no valid ones. After the patch is removed, both directories are valid, so I can't see any possibility for regression. Please remove the patch and push a release ASAP. This is a simple bug with a straightforward solution. OK, let's give that plan a whirl, http://koji.fedoraproject.org/koji/taskinfo?taskID=6785205 opencv-2.4.7-6.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/opencv-2.4.7-6.fc20 Package opencv-2.4.7-6.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing opencv-2.4.7-6.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-5882/opencv-2.4.7-6.fc20 then log in and leave karma (feedback). opencv-2.4.7-6.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. |