Package Details: mingw-w64-opencv 4.5.5-1

Git Clone URL: https://aur.archlinux.org/mingw-w64-opencv.git (read-only, click to copy)
Package Base: mingw-w64-opencv
Description: Open Source Computer Vision Library (mingw-w64)
Upstream URL: http://opencv.org/
Licenses: BSD
Submitter: xantares
Maintainer: drakkan (patlefort)
Last Packager: drakkan
Votes: 2
Popularity: 0.000000
First Submitted: 2015-09-14 18:31 (UTC)
Last Updated: 2021-12-27 08:33 (UTC)

Latest Comments

drakkan commented on 2021-11-01 11:34 (UTC)

Thanks,

I added you as co-maintainer, no obligations, if you have time you can help

patlefort commented on 2021-10-29 03:01 (UTC)

I am able to compile it by replacing opencv-lapack-3.9.1.patch with this patch:

diff --git a/modules/calib3d/src/usac/dls_solver.cpp b/modules/calib3d/src/usac/dls_solver.cpp
index 0898734fb3..17820696a7 100644
--- a/modules/calib3d/src/usac/dls_solver.cpp
+++ b/modules/calib3d/src/usac/dls_solver.cpp
@@ -159,7 +159,7 @@ public:
         double wr[27], wi[27] = {0}; // 27 = mat_order
         std::vector<double> work(lwork), eig_vecs(729);
         char jobvl = 'N', jobvr = 'V'; // only left eigen vectors are computed
-        dgeev_(&jobvl, &jobvr, &mat_order, (double*)solution_polynomial.data, &lda, wr, wi, nullptr, &ldvl,
+        LAPACK_dgeev(&jobvl, &jobvr, &mat_order, (double*)solution_polynomial.data, &lda, wr, wi, nullptr, &ldvl,
                &eig_vecs[0], &ldvr, &work[0], &lwork, &info);
         if (info != 0) return 0;
 #endif
diff --git a/modules/calib3d/src/usac/essential_solver.cpp b/modules/calib3d/src/usac/essential_solver.cpp
index 0adca0966f..e84b380baa 100644
--- a/modules/calib3d/src/usac/essential_solver.cpp
+++ b/modules/calib3d/src/usac/essential_solver.cpp
@@ -161,7 +161,7 @@ public:
         int mat_order = 10, info, lda = 10, ldvl = 10, ldvr = 1, lwork = 100;
         double wr[10], wi[10] = {0}, eig_vecs[100], work[100]; // 10 = mat_order, 100 = lwork
         char jobvl = 'V', jobvr = 'N'; // only left eigen vectors are computed
-        dgeev_(&jobvl, &jobvr, &mat_order, action_mat_data, &lda, wr, wi, eig_vecs, &ldvl,
+        LAPACK_dgeev(&jobvl, &jobvr, &mat_order, action_mat_data, &lda, wr, wi, eig_vecs, &ldvl,
                 nullptr, &ldvr, work, &lwork, &info);
         if (info != 0) return 0;
 #endif
diff --git a/modules/core/src/hal_internal.cpp b/modules/core/src/hal_internal.cpp
index 483281d1f7..05239e98f4 100644
--- a/modules/core/src/hal_internal.cpp
+++ b/modules/core/src/hal_internal.cpp
@@ -163,9 +163,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
         if(n == 1 && b_step == sizeof(fptype))
         {
             if(typeid(fptype) == typeid(float))
-                sposv_(L, &m, &n, (float*)a, &lda, (float*)b, &m, &lapackStatus);
+                LAPACK_sposv(L, &m, &n, (float*)a, &lda, (float*)b, &m, &lapackStatus);
             else if(typeid(fptype) == typeid(double))
-                dposv_(L, &m, &n, (double*)a, &lda, (double*)b, &m, &lapackStatus);
+                LAPACK_dposv(L, &m, &n, (double*)a, &lda, (double*)b, &m, &lapackStatus);
         }
         else
         {
@@ -174,9 +174,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
             transpose(b, ldb, tmpB, m, m, n);

             if(typeid(fptype) == typeid(float))
-                sposv_(L, &m, &n, (float*)a, &lda, (float*)tmpB, &m, &lapackStatus);
+                LAPACK_sposv(L, &m, &n, (float*)a, &lda, (float*)tmpB, &m, &lapackStatus);
             else if(typeid(fptype) == typeid(double))
-                dposv_(L, &m, &n, (double*)a, &lda, (double*)tmpB, &m, &lapackStatus);
+                LAPACK_dposv(L, &m, &n, (double*)a, &lda, (double*)tmpB, &m, &lapackStatus);

             transpose(tmpB, m, b, ldb, n, m);
             delete[] tmpB;
@@ -185,9 +185,9 @@ lapack_Cholesky(fptype* a, size_t a_step, int m, fptype* b, size_t b_step, int n
     else
     {
         if(typeid(fptype) == typeid(float))
-            spotrf_(L, &m, (float*)a, &lda, &lapackStatus);
+            LAPACK_spotrf(L, &m, (float*)a, &lda, &lapackStatus);
         else if(typeid(fptype) == typeid(double))
-            dpotrf_(L, &m, (double*)a, &lda, &lapackStatus);
+            LAPACK_dpotrf(L, &m, (double*)a, &lda, &lapackStatus);
     }

     if(lapackStatus == 0) *info = true;
@@ -227,17 +227,17 @@ lapack_SVD(fptype* a, size_t a_step, fptype *w, fptype* u, size_t u_step, fptype
     }

     if(typeid(fptype) == typeid(float))
-        sgesdd_(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)&work1, &lwork, iworkBuf, info);
+        LAPACK_sgesdd(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)&work1, &lwork, iworkBuf, info);
     else if(typeid(fptype) == typeid(double))
-        dgesdd_(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)&work1, &lwork, iworkBuf, info);
+        LAPACK_dgesdd(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)&work1, &lwork, iworkBuf, info);

     lwork = (int)round(work1); //optimal buffer size
     fptype* buffer = new fptype[lwork + 1];

     if(typeid(fptype) == typeid(float))
-        sgesdd_(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)buffer, &lwork, iworkBuf, info);
+        LAPACK_sgesdd(mode, &m, &n, (float*)a, &lda, (float*)w, (float*)u, &ldu, (float*)vt, &ldv, (float*)buffer, &lwork, iworkBuf, info);
     else if(typeid(fptype) == typeid(double))
-        dgesdd_(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)buffer, &lwork, iworkBuf, info);
+        LAPACK_dgesdd(mode, &m, &n, (double*)a, &lda, (double*)w, (double*)u, &ldu, (double*)vt, &ldv, (double*)buffer, &lwork, iworkBuf, info);

     if(!(flags & CV_HAL_SVD_NO_UV))
         transpose_square_inplace(vt, ldv, n);
@@ -288,18 +288,18 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
         if (k == 1 && b_step == sizeof(fptype))
         {
             if (typeid(fptype) == typeid(float))
-                sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
+                LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
             else if (typeid(fptype) == typeid(double))
-                dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
+                LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);

             lwork = cvRound(work1); //optimal buffer size
             std::vector<fptype> workBufMemHolder(lwork + 1);
             fptype* buffer = &workBufMemHolder.front();

             if (typeid(fptype) == typeid(float))
-                sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
+                LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
             else if (typeid(fptype) == typeid(double))
-                dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
+                LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
         }
         else
         {
@@ -309,18 +309,18 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
             transpose(b, ldb, tmpB, m, m, k);

             if (typeid(fptype) == typeid(float))
-                sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
+                LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
             else if (typeid(fptype) == typeid(double))
-                dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
+                LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);

             lwork = cvRound(work1); //optimal buffer size
             std::vector<fptype> workBufMemHolder(lwork + 1);
             fptype* buffer = &workBufMemHolder.front();

             if (typeid(fptype) == typeid(float))
-                sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
+                LAPACK_sgels(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
             else if (typeid(fptype) == typeid(double))
-                dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
+                LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);

             transpose(tmpB, m, b, ldb, k, m);
         }

drakkan commented on 2021-09-01 15:02 (UTC)

Hi, there are some build issues with 4.5.3. I will update the PKGBUILD once I am able to fix them. Thanks for your patience

drakkan commented on 2019-10-16 11:37 (UTC)

@FoPref, OpenCV use cmake to find lapack during build, and it does not work, so lapack libs are manually setted

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mingw-w64-opencv#n61

this is needed for linux native build too

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/opencv#n57

FoPref commented on 2019-09-11 13:51 (UTC)

Hello Drakkan, thank you for looking into these things. Unfortunately the patch does not work for me, as it leads to a binary that wants to link to opencv*411.dll files on runtime. I wonder why.

Modifying the lapack pkgconf file did not help as well. Does OpenCV during build use the PKGCONF to find lapack?

drakkan commented on 2019-07-28 09:21 (UTC)

@FoPref, I just retested pkgconfig shared and static build with 4.1.1 (some changes were needed to my build script) and cmake shared build. For cmake static build can you please test this patch?

From 0220c010c220654f18db2143bc2825940786af87 Mon Sep 17 00:00:00 2001
From: Nicola Murino <nicola.murino@gmail.com>
Date: Sat, 27 Jul 2019 20:05:10 +0200
Subject: [PATCH] OpenCVModule.cmake: add RUNTIME_OUTPUT_NAME and
 ARCHIVE_OUTPUT_NAME

---
 cmake/OpenCVModule.cmake | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
index 799592b..7fba7ba 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -956,7 +956,9 @@ macro(_ocv_create_module)
   endif()

   set_target_properties(${the_module} PROPERTIES
-    OUTPUT_NAME "${the_module}${OPENCV_DLLVERSION}"
+    OUTPUT_NAME "${the_module}"
+    RUNTIME_OUTPUT_NAME "${the_module}${OPENCV_DLLVERSION}"
+    ARCHIVE_OUTPUT_NAME "${the_module}"
     DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
     COMPILE_PDB_NAME "${the_module}${OPENCV_DLLVERSION}"
     COMPILE_PDB_NAME_DEBUG "${the_module}${OPENCV_DLLVERSION}${OPENCV_DEBUG_POSTFIX}"
-- 
2.22.0

this way the static libs will not have version suffix. The patch breaks pkg-build based static build, anyway I can try to find a common fix if it works for cmake, thanks

drakkan commented on 2019-07-17 10:15 (UTC)

@FoPref

in my test project static build using pkg-config works fine.

Do you modified the lapack pc file as suggested below?

https://aur.archlinux.org/packages/mingw-w64-lapack/#comment-644860

Can you please share a simple test project to use as reproducer? Maybe my test project for static building does not cover all cases :) thanks!

FoPref commented on 2019-07-17 09:38 (UTC)

I know the latest package version is just a version dump, however it looks like with 4.0.1 everything builds fine, whereas with 4.1.0 cblas is missing from the static libs.

drakkan commented on 2019-02-08 14:17 (UTC)

@FoPref, thanks for reporting.

I use pkg-config and so I fixed static build for pkg-config case as you can see inside the PKGBUILD (line 83). This really seems an upstream issue: both pc files and cmake files are broken in some way for shared and static build (please see fixes inside PKGBUILD).

I'll try to fix static cmake build as soon as I have some spare time

FoPref commented on 2019-02-08 14:10 (UTC) (edited on 2019-02-08 14:12 (UTC) by FoPref)

Another problem with the file seems to be that it does not provide the right library names for static builds. The lib names provided in ${OpenCV_LIBRARIES} are, e.g., opencv_core, or opencv_imgproc. The correct names would have the version number appended (opencv_imgproc401 etc).

Note that at the same time, pkg-config does provide the correct names, e.g. -lopencv_imgproc401, and a static build is successful.

FoPref commented on 2019-02-06 17:11 (UTC) (edited on 2019-02-06 17:13 (UTC) by FoPref)

The OpenCVConfig.cmake included in this package is broken. Using CMake with OpenCV dependency fails. The reason is that the INSTALL_PATH is wrongly determined.

Patch:

--- old/OpenCVConfig.cmake     2019-02-06 18:09:22.293211050 +0100
+++ new/OpenCVConfig.cmake     2019-02-06 18:09:32.579844658 +0100
@@ -77,7 +77,7 @@
 # Extract the directory where *this* file has been installed (determined at cmake run-time)
 # Get the absolute path with no ../.. relative marks, to eliminate implicit linker warnings
 set(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_DIR}")
-get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../../../../" REALPATH)
+get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../../" REALPATH)

 # Search packages for host system instead of packages for target system.
 # in case of cross compilation this macro should be defined by toolchain file

drakkan commented on 2018-05-05 16:58 (UTC)

@billypilgrim, in the last update I fixed lapack depends, please note that for static linking you need to add

Libs.private: -lgfortran -lquadmath

to the lapack pc file until lapack package is fixed,

@xantares since you are the mingw-w64-lapack maintainer please fix it

drakkan commented on 2018-05-04 14:35 (UTC) (edited on 2018-05-04 14:36 (UTC) by drakkan)

I build in a clean chroot, probably you have several packages installed that are added as dependency automatically, for example in my case

x86_64-w64-mingw32-pkg-config --libs --static opencv

-L/usr/x86_64-w64-mingw32/lib -lopencv_stitching341 -lopencv_superres341 -lopencv_videostab341 -lopencv_aruco341 -lopencv_bgsegm341 -lopencv_bioinspired341 -lopencv_ccalib341 -lopencv_dnn_objdetect341 -lopencv_dpm341 -lopencv_face341 -lopencv_photo341 -lopencv_fuzzy341 -lopencv_hfs341 -lopencv_img_hash341 -lopencv_line_descriptor341 -lopencv_optflow341 -lopencv_reg341 -lopencv_rgbd341 -lopencv_saliency341 -lopencv_stereo341 -lopencv_structured_light341 -lopencv_phase_unwrapping341 -lopencv_surface_matching341 -lopencv_tracking341 -lopencv_datasets341 -lopencv_text341 -lopencv_dnn341 -lopencv_plot341 -lopencv_xfeatures2d341 -lopencv_shape341 -lopencv_video341 -lopencv_ml341 -lopencv_ximgproc341 -lopencv_calib3d341 -lopencv_features2d341 -lopencv_highgui341 -lopencv_videoio341 -lopencv_flann341 -lopencv_xobjdetect341 -lopencv_imgcodecs341 -lopencv_objdetect341 -lopencv_xphoto341 -lopencv_imgproc341 -lopencv_core341 -lgdi32 -lcomdlg32 -ljpeg -ltiff -llzma -ljpeg -lz -lpng16 -lz -lwebp -lm

as you can see I have no protobuf,lapack,cblas ecc.. and my Libs.private line is empty I added the needed libraries inside the PKGBUILD here:

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mingw-w64-opencv#n80

I suggest to build in a clean chroot as for arch linux guidelines

https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot

as wrote in the wiki you are getting unwanted linking on packages missing in the depends array

billypilgrim commented on 2018-05-04 14:12 (UTC)

I was also just adding compiler flags with pkg-config basically as you were.

This is what I get when running the same commands as you:

x86_64-w64-mingw32-pkg-config --libs --static opencv | grep protobuf

-L/usr/x86_64-w64-mingw32/lib -L/usr/x86_64-w64-mingw32/share/OpenCV/3rdparty/lib -L/usr/x86_64-w64-mingw32/lib -lopencv_stitching341 -lopencv_superres341 -lopencv_videostab341 -lopencv_aruco341 -lopencv_bgsegm341 -lopencv_bioinspired341 -lopencv_ccalib341 -lopencv_dnn_objdetect341 -lopencv_dpm341 -lopencv_face341 -lopencv_photo341 -lopencv_fuzzy341 -lopencv_hfs341 -lopencv_img_hash341 -lopencv_line_descriptor341 -lopencv_optflow341 -lopencv_reg341 -lopencv_rgbd341 -lopencv_saliency341 -lopencv_stereo341 -lopencv_structured_light341 -lopencv_phase_unwrapping341 -lopencv_surface_matching341 -lopencv_tracking341 -lopencv_datasets341 -lopencv_text341 -lopencv_dnn341 -lopencv_plot341 -lopencv_xfeatures2d341 -lopencv_shape341 -lopencv_video341 -lopencv_ml341 -lopencv_ximgproc341 -lopencv_calib3d341 -lopencv_features2d341 -lopencv_highgui341 -lopencv_videoio341 -lopencv_flann341 -lopencv_xobjdetect341 -lopencv_imgcodecs341 -lopencv_objdetect341 -lopencv_xphoto341 -lopencv_imgproc341 -lopencv_core341 -llibprotobuf -llapack.dll -lblas.dll -lcblas.dll -lcomctl32 -lgdi32 -lole32 -lsetupapi -lws2_32 -ljpeg.dll -lwebp.dll -lpng.dll -lz.dll -ltiff.dll -lavifil32 -lavicap32 -lwinmm -lmsvfw32 -lgdi32 -lcomdlg32 -ljpeg -ltiff -llzma -ljpeg -lz -lpng16 -lz -lwebp -lm

cat /usr/x86_64-w64-mingw32/lib/pkgconfig/opencv.pc | grep protobuf

Libs.private: -L${exec_prefix}/share/OpenCV/3rdparty/lib -llibprotobuf -L/usr/x86_64-w64-mingw32/lib -llapack.dll -lblas.dll -lcblas.dll -lcomctl32 -lgdi32 -lole32 -lsetupapi -lws2_32 -ljpeg.dll -lwebp.dll -lpng.dll -lz.dll -ltiff.dll -lavifil32 -lavicap32 -lwinmm -lmsvfw32 -lgdi32 -lcomdlg32

It's rather strange that we get different outputs.

drakkan commented on 2018-05-04 13:28 (UTC) (edited on 2018-05-04 13:29 (UTC) by drakkan)

@billypilgrim, please explain how you get protobuf depends ecc..

in my qt+opencv app I simply added these lines in the pro file:

CONFIG += static

LIBS+=`x86_64-w64-mingw32-pkg-config --libs --static opencv`

and I was able to statically link my app.

Additionally on my system

cat /usr/x86_64-w64-mingw32/lib/pkgconfig/opencv.pc | grep protobuf

and

cat /usr/x86_64-w64-mingw32/lib/pkgconfig/opencv.pc | grep dll

show nothing,

protobuf was downloaded and builded by opencv but I think it should not be a dependency, I would like to fix the package even more if you provide the info, thanks! You can also write to me directly by email if you prefer, my email address is inside the PKGBUILD

billypilgrim commented on 2018-05-04 13:12 (UTC)

Thank you so much for helping! It's finally working with a few extra hacks in there.

The first problem was that the pkg-config had a -llibprotobuf in the parameters it gave, which should have been -lprotobuf (I also had to install the mingw version of protobuf separately).

The second problem was that there were -ljpeg.dll -lwebp.dll -lpng.dll -lz.dll -ltiff.dll etc. in the pkg-config in addition to -ljpeg etc., which meant that gcc used the dynamic versions of those libraries. But after cutting those extra params out everything worked smoothly (well my program is still buggy but I suspect that's my fault ;-)).

Anyway thanks for all your help.

drakkan commented on 2018-05-03 12:31 (UTC) (edited on 2018-05-03 22:32 (UTC) by drakkan)

@billypilgrim I added support for static builds with this commit

ba17b167e666

use this command

x86_64-w64-mingw32-pkg-config --libs --static opencv

to get the static libs to link to.

I temporary removed jasper, I'll try to understand what is wrong with jasper and static builds in the next weeks

billypilgrim commented on 2018-05-03 08:32 (UTC) (edited on 2018-05-03 08:32 (UTC) by billypilgrim)

Also, out of interest, has anyone else been able to compile statically using this package? I just get a long list of: cannot find -lopencv_stitching341... etc.

It works if I do it dynamically (i.e. not with the -static flag). Even if I point the compiler to the *.a files directly it still seems to compile dynamically, which is especially weird.

It also seems like there's a small mistake in the packages pkg-config file. If I run: x86_64-w64-mingw32-pkg-config --libs opencv

I get: -L/usr/x86_64-w64-mingw32//usr/x86_64-w64-mingw32/lib -lopencv_stitching341 ...

Although if I fix this path manually things still don't work :-(

billypilgrim commented on 2018-05-03 08:22 (UTC)

Actually you need both packages in makedepends. If you're using an AUR helper you can easily have a situation where you have lapack but not cblas (as I did), because the lapack package is a split package. Users won't necessarily install the whole group by default.

drakkan commented on 2018-05-03 06:59 (UTC)

@xantares, it is statically linked, it is needed only to compile not at runtime

xantares commented on 2018-05-03 06:56 (UTC)

then it should be in depends, not just makedepends

drakkan commented on 2018-05-01 11:59 (UTC) (edited on 2018-05-01 12:15 (UTC) by drakkan)

@billypilgrim, this error was fixed in this commit

3859586138f7

lapack (that contains cblas) is already a makedep since then.

billypilgrim commented on 2018-05-01 11:17 (UTC) (edited on 2018-05-01 11:31 (UTC) by billypilgrim)

I'm getting the following build error: make[2]: *** No rule to make target '/usr/i686-w64-mingw32/lib/libcblas.dll.a', needed by 'bin/libopencv_core341.dll'. Stop.

Anyone got any ideas?

edit: Heh, missing dependency. @maintainer would you mind adding mingw-w64-cblas as a makedep? Ta!

cdkitching commented on 2016-05-12 22:40 (UTC)

The failure I just mentioned goes away if you downgrade mingw-w64-gcc to 5.3.0-1. Please update your build time dependencies accordingly.

cdkitching commented on 2016-05-12 22:04 (UTC)

Fails with: /usr/x86_64-w64-mingw32/include/c++/6.1.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory #include_next <stdlib.h> ^

xantares commented on 2016-03-14 21:23 (UTC) (edited on 2016-03-15 17:16 (UTC) by xantares)

hi @FoPref, I proposed a fix: https://github.com/Itseez/opencv/pull/6269 xan.

FoPref commented on 2016-03-14 20:01 (UTC)

Thank you very much for promptly updating and fixing the package. It gave me quite a headache that I am now relieved from :) However I have this problem when I want to build another project with CMake that depends on OpenCV: CMake Error in core/CMakeLists.txt: Imported target "opencv_videostab" includes non-existent path "/usr/x86_64-w64-mingw32/lib/cmake/opencv-3.0.0/include" in its INTERFACE_INCLUDE_DIRECTORIES. A dirty fix for this is a symlink /usr/x86_64-w64-mingw32/lib/cmake/opencv-3.0.0/include -> /usr/x86_64-w64-mingw32/include. But I guess it should also be possible to make the OpenCV build generate correct information in the CMake config files.