Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 702642

Summary: media-libs/opencv-4.1.2-r2 USE=cuda : In multilib_check_headers at line 5505: Header checksum mismatch, aborting.
Product: Gentoo Linux Reporter: Mihai Moldovan <ionic>
Component: Current packagesAssignee: Amy Liffey <amynka>
Status: RESOLVED FIXED    
Severity: normal CC: Aiwendilh, phobosk, ua0zeh
Priority: Normal Keywords: PATCH, PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/17307
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log
Add to wrapped headers.
more wrapped headers

Description Mihai Moldovan 2019-12-13 05:13:33 UTC
After either applying the patch from #701712 or alternatively not patching using the "download" USE flag, opencv compiles, but the multilib header check fails after destrooting due to differing header files.
Comment 1 Mihai Moldovan 2019-12-13 05:24:15 UTC
Created attachment 599314 [details]
build.log
Comment 2 Mihai Moldovan 2019-12-13 09:50:11 UTC
Created attachment 599330 [details, diff]
Add to wrapped headers.

It looks like we just have to extend the wrapped header files.

OpenCV 4.1.2 added *a lot* of new headers to the opencv4 directory when using the CUDA capabilities that previously were missing in that... API version?
Comment 3 cJ 2020-04-18 00:48:58 UTC
Similar thing with USE=vtk (providing viz):

 * Header files have changed between ABIs.
 * --- /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum  2020-04-17 17:50:15.799805011 -0400
 * +++ /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum.new      2020-04-17 17:53:26.878747389 -0400
 * @@ -8,6 +8,7 @@
 *  193359011 1052 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/detail/exception_ptr.hpp
 *  818394931 10571 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp
 *  3463545042 10634 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/shape/shape_distance.hpp
 * +2887476218 10658 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz/vizcore.hpp
 *  3714040303 10662 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/tracking/kalman_filters.hpp
 *  732386914 10668 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/highgui/highgui_c.h
 *  3029774766 1077 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp
 * @@ -31,6 +32,7 @@
 *  3915254072 13320 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/cuda/vec_traits.hpp
 *  460764798 1344 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ximgproc/peilin.hpp
 *  985683520 13443 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/fast_math.hpp
 * +1061566307 13481 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz/viz3d.hpp
 *  1915070880 1371 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ximgproc/edgepreserving_filter.hpp
 *  2333088109 13726 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/video/background_segm.hpp
 *  1252447006 13772 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/stitching.hpp
 * @@ -49,10 +51,11 @@
 *  1183375114 15408 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/cuda/detail/reduce.hpp
 *  4029177762 15518 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/cuda/color.hpp
 *  2816204057 155699 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/hal/intrin_avx512.hpp
 * -624564771 1567 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/opencv_modules.hpp
 * +4005096356 15637 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz/types.hpp
 *  3083077431 15705 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/flann/lsh_index.h
 *  2464582646 1576 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/img_hash/block_mean_hash.hpp
 *  2622922460 15860 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/optim.hpp
 * +1992351106 1591 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/opencv_modules.hpp
 *  1789850534 160980 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/mat.hpp
 *  2503570285 1639 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/img_hash/radial_variance_hash.hpp
 *  1000012499 16443 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/imgcodecs.hpp
 * @@ -212,8 +215,11 @@
 *  1867403746 3249 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/cuda_stream_accessor.hpp
 *  1912970338 3306 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/flann/params.h
 *  932956043 3316 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/flann/matrix.h
 * +3510858227 3317 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz.hpp
 *  3336796146 3336 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/flann/ground_truth.h
 * +4202500510 3351 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz/widget_accessor.hpp
 *  4229443675 3385 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/fuzzy.hpp
 * +3243640237 33974 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/viz/widgets.hpp
 *  1089889723 3422 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/reg/mapprojec.hpp
 *  1477205050 3445 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/xobjdetect.hpp
 *  2844327475 3482 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/face/bif.hpp
 * ERROR: media-libs/opencv-4.1.2-r3::gentoo failed (install phase):
 *   Header checksum mismatch, aborting.
Comment 4 Ultratux 2020-08-03 01:06:19 UTC
I do not understand this at all. Changed in relation to what? 
Is there any workaround? 
After adding the "download" USE flag -and- disabling FEATURE network-sandbox -and- temporarily downgrading gcc to 7.5.0 from 10.2.0, I'm now hitting this bug... and frankly it's making me feel very anxious and despondent at this point.
 
I'm just a regular user trying to update my system and switching to 17.1 profile. I'm not a code wizard or computer genius. Maybe I'd better give up.
Comment 5 Aiwendil 2020-09-20 19:06:35 UTC
Created attachment 661677 [details, diff]
more wrapped headers

I hope this is the correct bug for it..if not complain and I start a new one.

This is about opencv-4.1.2-r3 not -r2 as above.

I ran into this issue during by 17.0->17.1 migration in the rebuilding of all 32 bit packages stage. System was completely updated before and during that I already ran in bug #733796 which I could "fix" with comment 2 from there.

During rebuilding in the profile transition I ran into this:

  ...
  Header files have changed between ABIs.
  --- /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum	2020-09-20 16:54:26.594861233 +0200
  +++ /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum.new	2020-09-20 17:00:57.644615042 +0200
  @@ -55,10 +55,10 @@
   2464582646 1576 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/img_hash/block_mean_hash.hpp
   2622922460 15860 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/optim.hpp
   1789850534 160980 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/mat.hpp
  -1432590990 1622 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/opencv_modules.hpp
   2503570285 1639 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/img_hash/radial_variance_hash.hpp
   1000012499 16443 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/imgcodecs.hpp
   2729398134 16481 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/bgsegm.hpp
  +2120094255 1651 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/opencv_modules.hpp
   4017010919 16953 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/aruco/charuco.hpp
   4258731507 1701 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/core/detail/async_promise.hpp
   1103183088 1701 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/videoio/registry.hpp
  @@ -342,6 +342,7 @@
   997519285 6805 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/dpm.hpp
   1378131285 6834 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/line_descriptor.hpp
   1037970611 689 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/datasets/sr_bsds.hpp
  +259266256 6900 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/freetype.hpp
   3889089541 6910 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ccalib.hpp
   3522716207 6925 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ximgproc/edgeboxes.hpp
   2528169875 6936 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/stitching/detail/blenders.hpp
  ERROR: media-libs/opencv-4.1.2-r3::localrepo failed (install phase):
    Header checksum mismatch, aborting.
  ...


After adjusting the patch of Mihai Moldovan from comment 2 here to -r3 and applying I ended up with:

  ...
  Header files have changed between ABIs.
  --- /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum	2020-09-20 18:42:19.935258750 +0200
  +++ /var/tmp/portage/media-libs/opencv-4.1.2-r3/temp/.multilib_header_cksum.new	2020-09-20 18:48:59.512193484 +0200
  @@ -341,6 +341,7 @@
   997519285 6805 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/dpm.hpp
   1378131285 6834 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/line_descriptor.hpp
   1037970611 689 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/datasets/sr_bsds.hpp
  +259266256 6900 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/freetype.hpp
   3889089541 6910 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ccalib.hpp
   3522716207 6925 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/ximgproc/edgeboxes.hpp
   2528169875 6936 /var/tmp/portage/media-libs/opencv-4.1.2-r3/image/usr/include/opencv4/opencv2/stitching/detail/blenders.hpp
  ERROR: media-libs/opencv-4.1.2-r3::localrepo failed (install phase):
    Header checksum mismatch, aborting.
  ...

By adding "/usr/include/opencv4/opencv2/freetype.hpp" to MULTILIB_WRAPPED_HEADERS= of the opencv ebuild I could finally build the package. But no idea if that is "okay"..only tried it because Mihai Moldovan also did it in the patch and that one helped me a bit further.

Attachment is the full ebuild that worked for me including Mihai Moldovan's patch from here and the include patch patch from bug #733796  (hope I didn't mess it up)
Comment 6 Larry the Git Cow gentoo-dev 2020-10-07 17:55:09 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83780dade6becfbff566eb2e26a0ece5b1284063

commit 83780dade6becfbff566eb2e26a0ece5b1284063
Author:     Ross Charles Campbell <rossbridger.cc@gmail.com>
AuthorDate: 2020-09-29 14:47:41 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-10-07 17:55:00 +0000

    media-libs/opencv: version bump to 4.4.0
    
    Currently the following improvements are made:
     - Added python 3.{8,9} support.
     - Added LTO (Link Time Optimization) support.
     - Added OVIS (Ogre Vision Module) support.
     - Renewed wrapped headers list for multilib.
     - No longer need to download external files at compile time.
    
    Closes: https://bugs.gentoo.org/745378
    Closes: https://bugs.gentoo.org/744097
    Closes: https://bugs.gentoo.org/718038
    Closes: https://bugs.gentoo.org/702642
    Closes: https://bugs.gentoo.org/703760
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Ross Charles Campbell <rossbridger.cc@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/17307
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/opencv/Manifest                         |   3 +
 ...pencv-4.4.0-disable-native-cpuflag-detect.patch |  26 +
 media-libs/opencv/metadata.xml                     |   3 +
 media-libs/opencv/opencv-4.4.0.ebuild              | 546 +++++++++++++++++++++
 profiles/base/package.use.mask                     |   5 +
 5 files changed, 583 insertions(+)