On Sat, 25 Nov 2017 20:24:50 +0800 Drew Parsons <dpars...@debian.org> wrote: > > Again, the problem is that -W is not recognised by nvcc. Would have > to hack the soname patch to encapsulate it inside --compiler-options
Can get further using nvcc --linker-options to carry -Wl options. But "CC=mpiCC CUDACXX=mpiCC dh_auto_configure" seems better than "CC=nvcc", together with export OMPI_CXX=g++-5 to set mpiCC. With other sundry hacks, gets to src/struct_mv and stalls at assumed_part.c, apparently because of inconsistencies in C/C++ standards between nvcc and CC.Depending on whether g++-5 or clang++-3.8 is used, whether -std=c++11 or c++14 or c++98 is passed to gcc, get either - conflict in multiple definitions of isnan, conflicting between CUDA's /usr/include/math_functions.h and /usr/include/x86_64-linux- gnu/bits/mathcalls.h - or similar multiple definitions in abs(float) - or /usr/include/cuda_fp16.h:985:68: error: C does not support default arguments __CUDA_FP16_DECL__ __half2 __shfl(__half2 var, int delta, int width=warpSize); - or inconsistent C/C++ definitions ./_hypre_struct_mv.h:1464:8: error: expected identifier or '(' extern "C++" { ^ ./_hypre_struct_mv.h:1488:22: error: unexpected OpenMP directive '#pragma omp parallel for' #pragma omp parallel for schedule(static)