Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ambiguous template specialization on GCC 7.3.1 #254

Open
barche opened this issue Apr 24, 2018 · 3 comments
Open

Ambiguous template specialization on GCC 7.3.1 #254

barche opened this issue Apr 24, 2018 · 3 comments

Comments

@barche
Copy link

barche commented Apr 24, 2018

Hi, trying to compile using GCC 7.3.1, I get the following error on master:

[  9%] Building CXX object CMakeFiles/El.dir/src/blas_like/blocksizes.cpp.o
/usr/lib64/openmpi/bin/mpic++  -DEl_EXPORTS -I/home/username/src/build/elemental-src/include -I/home/username/src/build/elemental-build/include -I/home/username/src/build/elemental-install/include -I/home/username/src/build/elemental-src/external/suite_sparse/include  -O3 -fcx-fortran-rules -std=gnu++14  -fPIC   -o CMakeFiles/El.dir/src/blas_like/blocksizes.cpp.o -c /home/username/src/build/elemental-src/src/blas_like/blocksizes.cpp
In file included from /home/username/src/build/elemental-src/include/El/blas_like/level1/impl.hpp:22:0,
                 from /home/username/src/build/elemental-src/include/El/blas_like/level1.hpp:13,
                 from /home/username/src/build/elemental-src/include/El/blas_like.hpp:12,
                 from /home/username/src/build/elemental-src/src/blas_like/blocksizes.cpp:10:
/home/username/src/build/elemental-src/include/El/blas_like/level1/Copy.hpp:549:27: error: ambiguous template specialization ‘Copy<>’ for ‘void El::Copy(const El::Matrix<int>&, El::Matrix<int>&)’
   EL_EXTERN template void Copy \
                           ^
/home/username/src/build/elemental-src/include/El/macros/Instantiate.h:10:23: note: in expansion of macro ‘PROTO’
 # define PROTO_INT(T) PROTO(T)
                       ^~~~~
/home/username/src/build/elemental-src/include/El/macros/Instantiate.h:88:1: note: in expansion of macro ‘PROTO_INT’
 PROTO_INT(Int)
 ^~~~~~~~~
In file included from /home/username/src/build/elemental-src/include/El/blas_like/level1/impl.hpp:22:0,
                 from /home/username/src/build/elemental-src/include/El/blas_like/level1.hpp:13,
                 from /home/username/src/build/elemental-src/include/El/blas_like.hpp:12,
                 from /home/username/src/build/elemental-src/src/blas_like/blocksizes.cpp:10:
/home/username/src/build/elemental-src/include/El/blas_like/level1/Copy.hpp:19:6: note: candidates are: template<class T> void El::Copy(const El::Matrix<Ring>&, El::Matrix<Ring>&)
 void Copy( const Matrix<T>& A, Matrix<T>& B )
      ^~~~
/home/username/src/build/elemental-src/include/El/blas_like/level1/Copy.hpp:60:6: note:                 template<class S, class T, class> void El::Copy(const El::Matrix<Ring>&, El::Matrix<T>&)
 void Copy( const Matrix<S>& A, Matrix<T>& B )
      ^~~~
@JM1
Copy link
Contributor

JM1 commented Jul 27, 2018

Same error on GCC 8.1.0

@JM1
Copy link
Contributor

JM1 commented Aug 13, 2018

#264 has a workaround for these GCC errors. But I am still wondering whether this is a compiler bug or was a bug in Elemental..

@tldahlgren
Copy link

I am having this problem with gcc v8.3.1 trying to build Elemental v0.87.7.

mbakke pushed a commit to guix-mirror/guix that referenced this issue Nov 19, 2023
The build of elemental is failed on GCC 7+:
elemental/Elemental#254

Fixed but not released yet in merge request:
elemental/Elemental#259

* gnu/packages/maths.scm (elemental): Update to 0.87.7-0.6eb15a0.

Change-Id: I333f1de160489035f1a8875173abdd57c03ef777
Signed-off-by: Eric Bavier <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants