Skip to content

incorrect hash in cmake ippicv when installing #5973

Closed
@paul-mesnilgrente

Description

@paul-mesnilgrente

Hello,

I read this webpage : http://answers.opencv.org/question/40425/opencv-build-fails-because-i-cannot-download-icv-on-our-build-farm/ but it does not help me.

I am new in opencv, I am on ubuntu 14.04, I have done exactly this in my terminal as said on this webpage http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation :

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

git clone https://github.com/Itseez/opencv.git
cd opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

but after a long wait of downloading, I have this output :

-- ICV: Downloading ippicv_linux_20151201.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):
  file DOWNLOAD HASH mismatch

    for file: [/home/pauka/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz]
      expected hash: [808b791a6eac9ed78d32a7666804320e]
        actual hash: [f166287239920c4a16e6f8870e15ef79]

I thought that it was an error of downloading so I retry, but hashes are always different. Why are they always different ? And where this file is located on the internet ? I do find it to download it manually (the 20151201 version).

I hope that I am not alone with this issue.

Thanks for your work 👍

Activity

alalek

alalek commented on Jan 15, 2016

@alalek
Member

The first "expected" hash should be always same (for specific OpenCV code version).
The second "actual" hash is a signature of received data. And this received data is just broken due some reasons (firewall policy restrictions / other network problems / other software problems, like legacy CMake (2.8.7+ works fine) ): you may try to open file in "mc" editor and check it, sometimes there are messages like "403 forbidden", "timeout", "connection lost".

There are some discussion for the similar problem here (but about ffmpeg): #5546 #5895

So there are two options:

  • disable this feature (-DWITH_IPP=OFF)
  • try to download these files manually and put on the right places. You can get these IPPICV files from here in the RAW mode. Script doesn't re-download file if it has right contents and it is located in the right place.
paul-mesnilgrente

paul-mesnilgrente commented on Jan 16, 2016

@paul-mesnilgrente
Author

Thank you very much, I have downloaded the file and place it in the directory and the compilation has worked !
I tried on my laptop which is on ubuntu 15.10 in my university (not on my local network I mean), and it worked without to do this. I don't know if the network is has an influence...

vojdan

vojdan commented on Jul 24, 2016

@vojdan

I re-ran the command and (for some strange reason) it continued

smartcai

smartcai commented on Dec 28, 2016

@smartcai

You can download the file"ippicv_linux_20141027.tgz" from the website
https://sourceforge.net/projects/opencvlibrary/files/3rdparty/ippicv/
then, you can copy it and replace the old one.

tttor

tttor commented on Jan 20, 2017

@tttor

Put the ippicv_linux...tgz under
<...>/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/

exophoric

exophoric commented on Jan 28, 2017

@exophoric

This error could also mean that your CMake is not built with OpenSSL support. (It cannot resolve HTTPS addresses without the OpenSSL).

To fix this, rebuild CMake from source, but before doing so make sure to install the openssl-devel package of your distribution.

If you get hash d41d8cd98f00b204e9800998ecf8427e (which is the md5 for an empty file), that should be the problem you are facing. Unless you have internet connectivity issues.

achaiah

achaiah commented on Feb 7, 2017

@achaiah

Actually, this is still a big problem as the precompiled version of ippicv_linux is built for 32-bit architectures. Even when you correctly include it with OpenCV the build errors out with:

i386 architecture of input file `../../../3rdparty/ippicv/unpack/ippicv_lnx/lib/ia32/libippicv.a(piresizenlincn_p8---ownRow1Linear16u.o)' is incompatible with i386:x86-64 output

Any ideas on what can be done here? Links to 64-bit ippicv?

Thanks

nguyenbc

nguyenbc commented on Jul 27, 2018

@nguyenbc

If you get hash d41d8cd98f00b204e9800998ecf8427e (which is the md5 for an empty file), that should be the problem you are facing. Unless you have internet connectivity issues.
... Solution for this:
open the log: CMaeDownload.txt file:
for example, my PC:
#check_md5 "D:/OpenCV/opencv/sources/.cache/ippicv/0421e642bc7ad741a2236d3ec4190bdd-ippicv_2017u3_win_intel64_general_20170822.zip"
#mismatch_md5 "D:/OpenCV/opencv/sources/.cache/ippicv/0421e642bc7ad741a2236d3ec4190bdd-ippicv_2017u3_win_intel64_general_20170822.zip" "d41d8cd98f00b204e9800998ecf8427e"
Then you will rename the downloaded file to: 0421e642bc7ad741a2236d3ec4190bdd-ippicv_2017u3_win_intel64_general_20170822.zip and save to this folder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @tttor@achaiah@paul-mesnilgrente@smartcai@alalek

        Issue actions

          incorrect hash in cmake ippicv when installing · Issue #5973 · opencv/opencv