cblas_cdotc_sub not declared in this scope

Issue #314 resolved
Daniel Baker created an issue

Hi,

It seems that some of the recent BLAS extensions have made compiling without BLAS mode enabled fail. (Within the last 10 commits.) It isn’t an issue with 3.6, but when working with head, I get an error:

In file included from vec/blaze/blaze/math/blas/dotc.h:44,
                 from vec/blaze/blaze/math/BLAS.h:44,
                 from vec/blaze/blaze/Math.h:47,
                 from include/sketch/rnla.h:2,
                 from testsrc/cscomp.cpp:1:
vec/blaze/blaze/math/blas/cblas/dotc.h: In function 'std::complex<float> blaze::dotc(blaze::blas_int_t, const std::complex<float>*, blaze::blas_int_t, const std::complex<float>*, blaze::blas_int_t)':
vec/blaze/blaze/math/blas/cblas/dotc.h:190:4: error: 'cblas_cdotc_sub' was not declared in this scope
  190 |    cblas_cdotc_sub( n, reinterpret_cast<const float*>( x ), incX,
      |    ^~~~~~~~~~~~~~~
vec/blaze/blaze/math/blas/cblas/dotc.h: In function 'std::complex<double> blaze::dotc(blaze::blas_int_t, const std::complex<double>*, blaze::blas_int_t, const std::complex<double>*, blaze::blas_int_t)':
vec/blaze/blaze/math/blas/cblas/dotc.h:230:4: error: 'cblas_zdotc_sub' was not declared in this scope
  230 |    cblas_zdotc_sub( n, reinterpret_cast<const double*>( x ), incX,
      |    ^~~~~~~~~~~~~~~
In file included from vec/blaze/blaze/math/blas/dotu.h:44,
                 from vec/blaze/blaze/math/BLAS.h:45,
                 from vec/blaze/blaze/Math.h:47,
                 from include/sketch/rnla.h:2,
                 from testsrc/cscomp.cpp:1:
vec/blaze/blaze/math/blas/cblas/dotu.h: In function 'std::complex<float> blaze::dotu(blaze::blas_int_t, const std::complex<float>*, blaze::blas_int_t, const std::complex<float>*, blaze::blas_int_t)':
vec/blaze/blaze/math/blas/cblas/dotu.h:190:4: error: 'cblas_cdotu_sub' was not declared in this scope
  190 |    cblas_cdotu_sub( n, reinterpret_cast<const float*>( x ), incX,
      |    ^~~~~~~~~~~~~~~
vec/blaze/blaze/math/blas/cblas/dotu.h: In function 'std::complex<double> blaze::dotu(blaze::blas_int_t, const std::complex<double>*, blaze::blas_int_t, const std::complex<double>*, blaze::blas_int_t)':
vec/blaze/blaze/math/blas/cblas/dotu.h:230:4: error: 'cblas_zdotu_sub' was not declared in this scope
  230 |    cblas_zdotu_sub( n, reinterpret_cast<const double*>( x ), incX,

The axpy header has BLAZE_BLAS_MODE wrappers around function declarations, while dotu doesn’t. I’m sure it’s just growing pains with adding features (for which I thank you).

Comments (5)

  1. Klaus Iglberger

    Hi Daniel!

    Thanks a lot for taking the time to create this issue. You are correct, the problem is caused by the recent upgrade of our BLAS/LAPACK support. We apologize for the inconvenience and promise to fix the problem as quickly as possible. Thanks again, your help is very much appreciated!

    Best regards,

    Klaus!

  2. Klaus Iglberger

    Commit 34318df resolves the compilation issue without BLAS mode enabled. The fix is immediately available via cloning the Blaze repository and will be officially released in Blaze 3.7.

  3. Klaus Iglberger

    Hi Daniel!

    We hope that with the last push all compilation problems are gone. Please feel free to report any continued problem. Thanks again for reporting this bug,

    Best regards,

    Klaus!

  4. Log in to comment