I'm glad you now have a working build!
BTW: Since you have flang installed - a build with it - i.e. with
clang/clang++/flang might also work [instead of clang/clang++/gfortran]
However flang usage is still nascent (likely some fortran examples fail with
it) - if you are using PETSc from fortran
Satish;
Thank you for the masterful demonstration.
One of the alternatives caught my eye: —with-cxx=0 (I remember I had to do
that ages ago on my macOS Darwin machine.
I cleared *FLAGS and successfully completed make && make check as suggested;
#==
A couple of alternates (if mixing compiler versions can't be avoided):
- don't need to use petsc from fortran:
[balay@frog petsc]$ ./configure --with-cc=clang --with-cxx=clang++ --with-fc=0
--with-mpi=0 --download-f2cblaslapack && make && make check
- don't use c++:
[balay@frog petsc]$ ./configu
Ok - I see this issue on CentOS [Stream/9].
What I have is:
>>>
[balay@frog petsc]$ clang --version
clang version 19.1.7 (CentOS 19.1.7-1.el9)
Target: x86_64-redhat-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Configuration file: /etc/clang/x86_64-redhat-linux-gnu-clang.cfg
[balay@frog pet
Actually, simpler:
./configure --with-cc=clang --with-cxx=clang++ --with-fc=gfortran
--with-mpi=0
--download-fblaslapack="$(DIR_SRC)/fblaslapack-$(FBLASLAPACK_VERSION).tar.gz"
&& make && make check
> /opt/rh/gcc-toolset-12/root/usr/lib/gcc/x86_64-redhat-linux/12/../../../../bin/ld
Hm - ther
Any particular reason to use these flags? What clang version? OS?
Best if you can send build logs [perhaps to petsc-maint]
Can you try a simpler build and see if it works:
./configure --with-mpi-dir=/PATH_TO/models/src/v2021.03-2.0.3-llvm
--download-fblaslapack="$(DIR_SRC)/fblaslapack-$(FBLASL
build petsc-3.20.3 with llvm, clang, clang++, gfortran
CFLAGS='-std=c++11'
CXXFLAGS='-std=c++11 -D_GLIBCXX_USE_CXX11_ABI=1'
LDLIBS += -lstdc++
$PETSC_ARCH arch-linux-c-opt
MPIF90 = ./models/src/v2021.03-2.0.3-llvm/bin/mpif90
MPICC = ./models/src/v2021.03-2.0.3-llvm/bin/mpicc
CLANG = cla