Bug 1031312
Summary: | OpenCV cmake configuration broken | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | nucleo <alekcejk> |
Component: | opencv | Assignee: | Rex Dieter <rdieter> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | hhorak, i, jmlich, karlthered, kwizart, nomis80, orion, rdieter |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | frei0r-plugins-1.4-1.fc20 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-12-14 03:22:19 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
nucleo
2013-11-16 18:57:50 UTC
Builds fine with opencv-2.4.6.1-1.fc20 -- First try at finding OpenCV... -- Great, found OpenCV on the first try. -- OpenCV Root directory is: /usr/lib/cmake/OpenCV -- OpenCV: Found version 2.4.6.1 (required: 2.4.5) The file OpenCVModules-releasewithdebinfo.cmake looks correct to me on x86_64: OpenCVModules-releasewithdebinfo.cmake: IMPORTED_LOCATION_RELEASEWITHDEBINFO "${_IMPORT_PREFIX}/lib64/libopencv_core.so.2.4.7" Unless _IMPORT_PREFIX is set to something else than /usr... I'm not as at all comfortable with cmake mess, I've only tested freir0-plugins and vlc which doesn't rely on cmake. Problem in libdir added twice /usr/lib/lib/libopencv_core.so.2.4.7. Maybe _IMPORT_PREFIX also have /lib? Building on x86_64 f20 gives similar but different error, CMake Error at /lib64/cmake/OpenCV/OpenCVModules.cmake:108 (message): The imported target "opencv_core" references the file "/lib64/lib64/libopencv_core.so.2.4.7" 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 "/lib64/cmake/OpenCV/OpenCVModules.cmake" I suspect this has something to do with UsrMove and faulty relative path calculations. orion, any insight/clues to the cmake bogosity going on here? After downgrading to opencv-2.4.6.1-1.fc20.x86_64 , I see the build still fail. Checking koji, the last successful digikam build used cmake-2.8.11.2-3.fc20 (and opencv-2.4.6.1-1.fc20) and now is failing with: cmake-2.8.12.1-1.fc20 (and opencv-2.4.6.1-1.fc20 or opencv-2.4.7-1.fc20) Seems something went bad between cmake-2.8.11.2-3 and cmake-2.8.12.1-1, reassigning to cmake (for now). Last successful build digikam-3.5.0-1.fc21 used cmake-2.8.12-1.fc21 and opencv-2.4.6.1-2.fc21 http://koji.fedoraproject.org/koji/buildinfo?buildID=470314 Changes after cmake-2.8.12-1.fc21 * Wed Nov 06 2013 Orion Poplawski <orion.com> - 2.8.12.1-1 - Update to 2.8.12.1 * Wed Oct 23 2013 Orion Poplawski <orion.com> - 2.8.12-3 - Remove UseQt4 automatic dependency adding * Thu Oct 10 2013 Orion Poplawski <orion.com> - 2.8.12-2 - Autoload cmake-mode in emacs (bug #1017779) I think the opencv cmake path munging is a source of possible problems: #Cmake mess mkdir -p $RPM_BUILD_ROOT%{_libdir}/cmake/OpenCV mv $RPM_BUILD_ROOT%{_datadir}/OpenCV/*.cmake \ $RPM_BUILD_ROOT%{_libdir}/cmake/OpenCV moving these .cmake files (back) to /usr/share/OpenCV/ or %_libdir/OpenCV/ and things work again. (In reply to Rex Dieter from comment #9) > moving these .cmake files (back) to /usr/share/OpenCV/ or %_libdir/OpenCV/ > and things work again. We shouldn't use /usr/share since that would make opencv-devel multilib unclean, i.e. it wouldn't be possible to install 32bit and 64bit arch on one machine. So, in case %_libdir/OpenCV/ works, we should take this one. Yeah, don't ever move files in %install with cmake builds - you'll break things. Get cmake to install them in the desired location. Looks like these end up on OPENCV_CONFIG_INSTALL_PATH , which gets set with this ... interesting... logic: math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}") if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX) set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv) else() set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV) endif() (where we know the former kinda doesn't work) http://pkgs.fedoraproject.org/cgit/opencv.git/commit/?id=85dcc3a0ce55e5781fc670381996af2b43b38e8d %changelog * Mon Nov 18 2013 Rex Dieter <rdieter> 2.4.7-2 - OpenCV cmake configuration broken (#1031312) let's give this a try, http://koji.fedoraproject.org/koji/taskinfo?taskID=6195036 (In reply to Rex Dieter from comment #13) > http://koji.fedoraproject.org/koji/taskinfo?taskID=6195036 It builds now. -- First try at finding OpenCV... -- Great, found OpenCV on the first try. -- OpenCV Root directory is: /usr/lib/OpenCV -- OpenCV: Found version 2.4.7 (required: 2.4.5) New opencv build also needed for F20 update https://admin.fedoraproject.org/updates/FEDORA-2013-21444 frei0r-plugins-1.4-1.fc20, opencv-2.4.7-2.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/FEDORA-2013-21444/opencv-2.4.7-2.fc20,frei0r-plugins-1.4-1.fc20 Package frei0r-plugins-1.4-1.fc20, opencv-2.4.7-2.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 frei0r-plugins-1.4-1.fc20 opencv-2.4.7-2.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-21444/opencv-2.4.7-2.fc20,frei0r-plugins-1.4-1.fc20 then log in and leave karma (feedback). Can someone re add +1 to the update? We don't have too much time before f20 freeze. Thanks. frei0r-plugins-1.4-1.fc20, opencv-2.4.7-2.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. |