And if kokkos won't have a configure option - and would always work with any c++ compiler - you can use:
diff --git a/src/dm/impls/plex/landau/kokkos/makefile b/src/dm/impls/plex/landau/kokkos/makefile index 04504b4bf5..faa59fe0ff 100644 --- a/src/dm/impls/plex/landau/kokkos/makefile +++ b/src/dm/impls/plex/landau/kokkos/makefile @@ -1,3 +1,5 @@ +#requireslanguage CPP + -include ../../../../../../petscdir.mk ALL: lib [with corresponding #ifdef wrappers for all calls to functionality in these sources] Satish On Sun, 12 Jul 2020, Satish Balay via petsc-dev wrote: > This build is with --with-cxx=0 - so .cxx source-files shouldn't get compiled. > > I'm not sure what the mechanism we have for disabling compile of cxx sources > when --with-cxx=0 is used. > > Checking - I see most of the cxx sources are tied to external-packages - and > the corresponding package configure enforces c++ requirement > > How is kokkos enabled? Is there no --download-kokkos [or equivalent] needed > in configure for kokkos? > > Note --with-cxx=0 - likely g++ is somehow getting picked up here [ with > /usr/include/stdio.h] - resulting in failure > > Satish > > On Sun, 12 Jul 2020, Mark Adams wrote: > > > I am getting pipeline errors for adams/feature-dmplex-snes-landau on > > Windows-uni. mswin-gnu is fine. > > > > There are lots of errors, here is the start. I've tried to match > > mat/viennacl, which has .cxx files, w/o luck. > > > > Any ideas? > > Thanks, > > Mark > > > > CXX > > arch-ci-mswin-uni/obj/dm/impls/plex/landau/kokkos/landau_kokkos.o > > In file included from /usr/include/stdio.h:61, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/include/petscsys.h:225, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/include/petscis.h:7, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/include/petscvec.h:9, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/include/petscmat.h:6, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/include/petsc/private/dmpleximpl.h:4, > > from > > /home/glci2/builds/p34_q_s8/0/petsc/petsc/src/dm/impls/plex/landau/kokkos/landau_kokkos.cxx:5: > > /usr/include/sys/types.h:165:18: error: conflicting declaration ‘typedef > > __uid_t uid_t’ > > 165 | typedef __uid_t uid_t; /* user id */ > > | ^~~~~ > > >