Date: Monday, August 2, 2021 @ 21:28:09 Author: arojas Revision: 421081
archrelease: copy trunk to staging-x86_64 Added: opencv/repos/staging-x86_64/PKGBUILD (from rev 421080, opencv/trunk/PKGBUILD) opencv/repos/staging-x86_64/opencv-lapack-3.10.patch (from rev 421080, opencv/trunk/opencv-lapack-3.10.patch) Deleted: opencv/repos/staging-x86_64/PKGBUILD opencv/repos/staging-x86_64/opencv-lapack-3.10.patch --------------------------+ PKGBUILD | 208 +++++++++++++++++++++---------------------- opencv-lapack-3.10.patch | 216 ++++++++++++++++++++++----------------------- 2 files changed, 212 insertions(+), 212 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2021-08-02 21:27:33 UTC (rev 421080) +++ PKGBUILD 2021-08-02 21:28:09 UTC (rev 421081) @@ -1,104 +0,0 @@ -# Maintainer: Antonio Rojas <aro...@archlinux.org> -# Contributor: Ray Rashif <sc...@archlinux.org> -# Contributor: Tobias Powalowski <tp...@archlinux.org> - -pkgbase=opencv -pkgname=(opencv opencv-samples python-opencv) -pkgver=4.5.3 -pkgrel=3 -pkgdesc='Open Source Computer Vision Library' -arch=(x86_64) -license=(BSD) -url='https://opencv.org/' -depends=(tbb openexr gst-plugins-base libdc1394 cblas lapack libgphoto2 openjpeg2 ffmpeg) -makedepends=(cmake python-numpy python-setuptools mesa eigen hdf5 lapacke qt5-base vtk glew ant java-environment) -optdepends=('opencv-samples: samples' - 'vtk: for the viz module' - 'glew: for the viz module' - 'qt5-base: for the HighGUI module' - 'hdf5: for the HDF5 module' - 'opencl-icd-loader: For coding with OpenCL' - 'java-runtime: Java interface') -source=(https://github.com/opencv/opencv/archive/$pkgver/$pkgname-$pkgver.tar.gz - https://github.com/opencv/opencv_contrib/archive/$pkgver/opencv_contrib-$pkgver.tar.gz - opencv-lapack-3.10.patch) -sha256sums=('77f616ae4bea416674d8c373984b20c8bd55e7db887fd38c6df73463a0647bab' - '73da052fd10e73aaba2560eaff10cc5177e2dcc58b27f8aedf7c649e24c233bc' - 'f83c64f2731a39910d0d4a48898dd04e4aca5c22f746b7b0ead003992ae11199') - -prepare() { - patch -d $pkgname-$pkgver -p1 < opencv-lapack-3.10.patch # Fix build with LAPACK 3.10 -} - -build() { - export JAVA_HOME="/usr/lib/jvm/default" - # cmake's FindLAPACK doesn't add cblas to LAPACK_LIBRARIES, so we need to specify them manually - _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"` - cmake -B build -S $pkgname-$pkgver \ - -DWITH_OPENCL=ON \ - -DWITH_OPENGL=ON \ - -DWITH_TBB=ON \ - -DWITH_VULKAN=ON \ - -DWITH_QT=ON \ - -DBUILD_WITH_DEBUG_INFO=OFF \ - -DBUILD_TESTS=OFF \ - -DBUILD_PERF_TESTS=OFF \ - -DBUILD_EXAMPLES=ON \ - -DINSTALL_C_EXAMPLES=ON \ - -DINSTALL_PYTHON_EXAMPLES=ON \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCPU_BASELINE_DISABLE=SSE3 \ - -DCPU_BASELINE_REQUIRE=SSE2 \ - -DOPENCV_EXTRA_MODULES_PATH="$srcdir/opencv_contrib-$pkgver/modules" \ - -DOPENCV_SKIP_PYTHON_LOADER=ON \ - -DOPENCV_PYTHON3_INSTALL_PATH=$_pythonpath \ - -DLAPACK_LIBRARIES="/usr/lib/liblapack.so;/usr/lib/libblas.so;/usr/lib/libcblas.so" \ - -DLAPACK_CBLAS_H="/usr/include/cblas.h" \ - -DLAPACK_LAPACKE_H="/usr/include/lapacke.h" \ - -DOPENCV_GENERATE_PKGCONFIG=ON \ - -DOPENCV_ENABLE_NONFREE=ON \ - -DOPENCV_JNI_INSTALL_PATH=lib \ - -DOPENCV_GENERATE_SETUPVARS=OFF \ - -DEIGEN_INCLUDE_PATH=/usr/include/eigen3 - cmake --build build -} - -package_opencv() { - DESTDIR="$pkgdir" cmake --install build - - # install license file - install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname - - # separate samples package - mv "$pkgdir"/usr/share/opencv4/samples "$srcdir" - - # Add java symlinks expected by some binary blobs - ln -sr "$pkgdir"/usr/share/java/{opencv4/opencv-${pkgver//./},opencv}.jar - ln -sr "$pkgdir"/usr/lib/{libopencv_java${pkgver//./},libopencv_java}.so - - # Split Python bindings - rm -r "$pkgdir"/usr/lib/python3* -} - -package_opencv-samples() { - pkgdesc+=" (samples)" - depends=("opencv=$pkgver") - unset optdepends - - mkdir -p "$pkgdir"/usr/share/opencv4 - mv samples "$pkgdir"/usr/share/opencv4 - - # install license file - install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname -} - -package_python-opencv() { - pkgdesc="Python bindings for OpenCV" - depends=(python-numpy opencv vtk glew qt5-base hdf5) - unset optdepends - - DESTDIR="$pkgdir" cmake --install build/modules/python3 - - # install license file - install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname -} Copied: opencv/repos/staging-x86_64/PKGBUILD (from rev 421080, opencv/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2021-08-02 21:28:09 UTC (rev 421081) @@ -0,0 +1,104 @@ +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Ray Rashif <sc...@archlinux.org> +# Contributor: Tobias Powalowski <tp...@archlinux.org> + +pkgbase=opencv +pkgname=(opencv opencv-samples python-opencv) +pkgver=4.5.3 +pkgrel=5 +pkgdesc='Open Source Computer Vision Library' +arch=(x86_64) +license=(BSD) +url='https://opencv.org/' +depends=(tbb openexr gst-plugins-base libdc1394 cblas lapack libgphoto2 openjpeg2 ffmpeg) +makedepends=(cmake python-numpy python-setuptools mesa eigen hdf5 lapacke qt5-base vtk glew ant java-environment) +optdepends=('opencv-samples: samples' + 'vtk: for the viz module' + 'glew: for the viz module' + 'qt5-base: for the HighGUI module' + 'hdf5: for the HDF5 module' + 'opencl-icd-loader: For coding with OpenCL' + 'java-runtime: Java interface') +source=(https://github.com/opencv/opencv/archive/$pkgver/$pkgname-$pkgver.tar.gz + https://github.com/opencv/opencv_contrib/archive/$pkgver/opencv_contrib-$pkgver.tar.gz + opencv-lapack-3.10.patch) +sha256sums=('77f616ae4bea416674d8c373984b20c8bd55e7db887fd38c6df73463a0647bab' + '73da052fd10e73aaba2560eaff10cc5177e2dcc58b27f8aedf7c649e24c233bc' + 'f83c64f2731a39910d0d4a48898dd04e4aca5c22f746b7b0ead003992ae11199') + +prepare() { + patch -d $pkgname-$pkgver -p1 < opencv-lapack-3.10.patch # Fix build with LAPACK 3.10 +} + +build() { + export JAVA_HOME="/usr/lib/jvm/default" + # cmake's FindLAPACK doesn't add cblas to LAPACK_LIBRARIES, so we need to specify them manually + _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"` + cmake -B build -S $pkgname-$pkgver \ + -DWITH_OPENCL=ON \ + -DWITH_OPENGL=ON \ + -DWITH_TBB=ON \ + -DWITH_VULKAN=ON \ + -DWITH_QT=ON \ + -DBUILD_WITH_DEBUG_INFO=OFF \ + -DBUILD_TESTS=OFF \ + -DBUILD_PERF_TESTS=OFF \ + -DBUILD_EXAMPLES=ON \ + -DINSTALL_C_EXAMPLES=ON \ + -DINSTALL_PYTHON_EXAMPLES=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCPU_BASELINE_DISABLE=SSE3 \ + -DCPU_BASELINE_REQUIRE=SSE2 \ + -DOPENCV_EXTRA_MODULES_PATH="$srcdir/opencv_contrib-$pkgver/modules" \ + -DOPENCV_SKIP_PYTHON_LOADER=ON \ + -DOPENCV_PYTHON3_INSTALL_PATH=$_pythonpath \ + -DLAPACK_LIBRARIES="/usr/lib/liblapack.so;/usr/lib/libblas.so;/usr/lib/libcblas.so" \ + -DLAPACK_CBLAS_H="/usr/include/cblas.h" \ + -DLAPACK_LAPACKE_H="/usr/include/lapacke.h" \ + -DOPENCV_GENERATE_PKGCONFIG=ON \ + -DOPENCV_ENABLE_NONFREE=ON \ + -DOPENCV_JNI_INSTALL_PATH=lib \ + -DOPENCV_GENERATE_SETUPVARS=OFF \ + -DEIGEN_INCLUDE_PATH=/usr/include/eigen3 + cmake --build build +} + +package_opencv() { + DESTDIR="$pkgdir" cmake --install build + + # install license file + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + + # separate samples package + mv "$pkgdir"/usr/share/opencv4/samples "$srcdir" + + # Add java symlinks expected by some binary blobs + ln -sr "$pkgdir"/usr/share/java/{opencv4/opencv-${pkgver//./},opencv}.jar + ln -sr "$pkgdir"/usr/lib/{libopencv_java${pkgver//./},libopencv_java}.so + + # Split Python bindings + rm -r "$pkgdir"/usr/lib/python3* +} + +package_opencv-samples() { + pkgdesc+=" (samples)" + depends=("opencv=$pkgver") + unset optdepends + + mkdir -p "$pkgdir"/usr/share/opencv4 + mv samples "$pkgdir"/usr/share/opencv4 + + # install license file + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} + +package_python-opencv() { + pkgdesc="Python bindings for OpenCV" + depends=(python-numpy opencv vtk glew qt5-base hdf5) + unset optdepends + + DESTDIR="$pkgdir" cmake --install build/modules/python3 + + # install license file + install -Dm644 $pkgbase-$pkgver/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname +} Deleted: opencv-lapack-3.10.patch =================================================================== --- opencv-lapack-3.10.patch 2021-08-02 21:27:33 UTC (rev 421080) +++ opencv-lapack-3.10.patch 2021-08-02 21:28:09 UTC (rev 421081) @@ -1,108 +0,0 @@ -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); - } Copied: opencv/repos/staging-x86_64/opencv-lapack-3.10.patch (from rev 421080, opencv/trunk/opencv-lapack-3.10.patch) =================================================================== --- opencv-lapack-3.10.patch (rev 0) +++ opencv-lapack-3.10.patch 2021-08-02 21:28:09 UTC (rev 421081) @@ -0,0 +1,108 @@ +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); + }