STRUMPACK icon indicating copy to clipboard operation
STRUMPACK copied to clipboard

msys2 (mingw), error in 32 bit

Open 3rav opened this issue 2 years ago • 1 comments

I want to create a package for msys2 (mingw), for the mingw64 version the package was built without errors, but for the mingw32 version I have the following error:

  [30/182] Building CXX object CMakeFiles/strumpack.dir/src/dense/BLASLAPACKWrapper.cpp.obj
  FAILED: CMakeFiles/strumpack.dir/src/dense/BLASLAPACKWrapper.cpp.obj 
  D:\M\msys64\mingw32\bin\g++.exe  -IC:/_/mingw-w64-strumpack/src/STRUMPACK-6.1.0/src -IC:/_/mingw-w64-strumpack/src/build-MINGW32 -march=pentium4 -mtune=generic -O2 -pipe -O3 -DNDEBUG -Wall -Wno-overloaded-virtual -fopenmp -MD -MT CMakeFiles/strumpack.dir/src/dense/BLASLAPACKWrapper.cpp.obj -MF CMakeFiles\strumpack.dir\src\dense\BLASLAPACKWrapper.cpp.obj.d -o CMakeFiles/strumpack.dir/src/dense/BLASLAPACKWrapper.cpp.obj -c C:/_/mingw-w64-strumpack/src/STRUMPACK-6.1.0/src/dense/BLASLAPACKWrapper.cpp
  C:/_/mingw-w64-strumpack/src/STRUMPACK-6.1.0/src/dense/BLASLAPACKWrapper.cpp:1728:17: error: redefinition of 'std::size_t strumpack::blas::lange(char, int, int, const size_t*, int)'
   1728 |     std::size_t lange(char norm, int m, int n, const std::size_t *a, int lda) { return 0; }
        |                 ^~~~~
  C:/_/mingw-w64-strumpack/src/STRUMPACK-6.1.0/src/dense/BLASLAPACKWrapper.cpp:1727:18: note: 'unsigned int strumpack::blas::lange(char, int, int, const unsigned int*, int)' previously defined here
   1727 |     unsigned int lange(char norm, int m, int n, const unsigned int *a, int lda) { return 0; }
        |                  ^~~~~
  [31/182] Building CXX object CMakeFiles/strumpack.dir/src/clustering/NeighborSearch.cpp.obj

3rav avatar Jan 07 '22 07:01 3rav

That's interesting, thank you for reporting. I will try to look into it, but I'm not sure how to compile with 32 bit on my system. It seems complicated. And I expect that there will be several more issues apart from the multiple definition of 'lange'. You could try to just remove one of the multiple definitions, line 1728 or 1727, and see it that helps. Pieter

pghysels avatar Jan 08 '22 09:01 pghysels