-
Notifications
You must be signed in to change notification settings - Fork 194
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
v4.6 build "make petsc-slepc" fails with "C compiler you provided with -with-cc= cannot be found or does not work." on Ubuntu 20.04 #141
Comments
You do not have MPI installed on your machine (or at least FreeFEM can't detect it).
Please let us know if this fixes your issue. |
Hmmm, I think I already had the package The problem seems to come from:
and then if I do:
it progresses much further and blows up at:
From logs, it failed to compile:
because mpi.h is not found, because it needs
I am able to compile that test program with:
The The mpich version I'll try develop next. |
This is not a PETSc problem. This is a FreeFEM problem. Please send your FreeFEM Also, this shouldn't be Also, please do not have both MPICH and OpenMPI installed, this is a terrible idea, unless you exactly know what you are doing. |
config.log: https://gist.github.com/cirosantilli/601c5b1b58827516f0e66c600d552890 3rdparty/ff-petsc/config.log
|
Thanks, I'll look into that. |
I also posted config.log at https://gist.github.com/cirosantilli/601c5b1b58827516f0e66c600d552890 it's not that one? |
Yup, there is something messed up with your MPI wrappers.
And later on.
You are not the only one having difficulties with OpenMPI/MPICH from Ubuntu 20.04, cf. this post from the forum. I'd suggest removing all MPI packages, and letting PETSc install MPICH itself. |
Dear all,
I think it is crazy to set
MPICC=/usr/bin/gcc MPICXX=/usr/bin/g++ MPIFC=/usr/bin/gfortran
the MPICC, MPICXX and MPIFC parable are the wrapper path of MPI compiler.
remark, to no the moi use by freefem after configure
you can do a grep in new Makefile
peu-cp2:ff-petsc hecht$ grep MPI Makefile| grep =
COMPILE_OPENBLAS =
DOWNLOADCOMPILE = compile-pkg install-other
LOAD_COMPILE = load_compile
MPICC = /usr/local/ff++/mpich-3.3.1/bin/mpicc
MPICXX = /usr/local/ff++/mpich-3.3.1/bin/mpic++
MPIF77 = /usr/local/ff++/mpich-3.3.1/bin/mpif90
MPIFC = /usr/local/ff++/mpich-3.3.1/bin/mpif90
MPIPROG = FreeFem++-mpi
MPIRUN = /usr/local/ff++/mpich-3.3.1/bin/mpiexec
MPISCRIPT = ff-mpirun
MPI_INCLUDE = -I/usr/local/ff++/mpich-3.3.1/include
MPI_INC_DIR = /usr/local/ff++/mpich-3.3.1/include
MPI_LIB = -Wl,-flat_namespace -Wl,-commons,use_dylibs -L/usr/local/ff++/mpich-3.3.1/lib -lmpicxx -lmpi -lpmpi
MPI_LIBC =
MPI_LIBFC = -Wl,-flat_namespace -L/usr/local/ff++/mpich-3.3.1/lib -lmpifort -lmpi -lpmpi
MPI_LIB_DIRS = /usr/local/ff++/mpich-3.3.1/lib
MPI_RUN_OPTION =
SKIP_TESTS_MPI = no
… Le 9 juin 2020 à 16:27, prj- ***@***.***> a écrit :
This is not a PETSc problem. This is a FreeFEM problem. Please send your FreeFEM config.log. If you had OpenMPI properly installed, then it should have been passed to PETSc, and you shouldn't have empty wrapper passed.
Also, this shouldn't be make petsc-slepc MPICC=/usr/bin/gcc MPICXX=/usr/bin/g++ MPIFC=/usr/bin/gfortran but make petsc-slepc MPICC=mpicc MPICXX=mpic++ MPIFC=mpif90. You are using sequential compiler, you have to pass MPI wrappers. But again, it should be fixed in FreeFEM ./configure instead.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#141 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABLPNDCQEAPFSZDOFUFMU2LRVZBGVANCNFSM4NZG2EUA>.
|
OK, Ubuntu I now tried on It progressed much further, but it failed later on with:
Full config.log https://gist.github.com/cirosantilli/601c5b1b58827516f0e66c600d552890#file-config2-log 3rdparty/ff-petsc/petsc-3.13.2/configure.log: https://gist.github.com/cirosantilli/601c5b1b58827516f0e66c600d552890#file-ff-petsc-config-log /home/ciro/test/FreeFem-install/ff-petsc/r/bin/mpicc is present, maybe it does not work with |
I wasn't very familiar how gist handles large files, github added a message to me saying I can view it in full at: https://gist.githubusercontent.com/cirosantilli/601c5b1b58827516f0e66c600d552890/raw/f66dc09cb7b5728c15e1ec427ca77892c3cbe796/ff-petsc-config.log and that appears to be the full file. Let me know if you can't see the full thing there. cmake version 3.16.3. |
OK, I see the issue, I'll get in touch with the PETSc developers. In the meantime, could you please comment/remove this line and start over? Thanks for your patience :) By start over, I mean delete the folder |
With that change PETSc build appears to have worked, but then it starts running some tests to see if build was correct, and is stuck at:
for one hour thirty.
Is this normal? How long does it take for you? If it were possible to use a prebuilt PETSc from the package system, that would be awesome :-) related #128 Ubuntu 20.04 is at PETSc 3.12 which is not old. |
No, that's not normal, but you can safely skip that. If you need complex PETSc, do You can of course use a prebuilt PETSc, cf. the instructions from the issue you mentioned. It seems your previous issue comes from the fact that you have the |
I've disabled CUDA in PETSc for now, it should be much easier for you to get through the compilation process. |
Thanks for looking further into this. I tried BTW, I ctrl+c kill the run and then try to proceed with the freefem build, I got this (but might be due to failed previous step?):
The file |
Could you please post your FreeFEM |
You still have
|
Dear all,
The simple idée is to add the the PATH a the beginning the directory where is mpiexec commande.
like:
1) find the directory where mpiexec is installed:
peu-cp2:ff-petsc hecht$ ls /usr/local/ff++/mpich-3.3.1/bin/mpic++
/usr/local/ff++/mpich-3.3.1/bin/mpic++
2) add dir /usr/local/ff++/mpich-3.3.1/bin to your path.
peu-cp2:ff-petsc hecht$ export PATH="/usr/local/ff++/mpich-3.3.1/bin/:$PATH"
3) check which mpiexec is used:
peu-cp2:ff-petsc hecht$ which mpiexec
/usr/local/ff++/mpich-3.3.1/bin//mpiexec
Best Regards,
Frédéric Hecht.
…-----------------------------------------------------------------------------------------------------------------------------------
Laboratoire Jacques-Louis Lions, UPMC Sorbonne Université
BC187, 4 Place Jussieu, 75252 PARIS cedex 05, France
Campus Jussieu, Barre 15-25, 3 etage Bureau 307
Projet Alpines , Inria de Paris, 2 rue Simone Iff Voie DQ12 75012 Paris
tel: +33 1 44274411, mob: +33 6 62198986, fax: +33 1 44277200
frederic.hecht@sorbonne-universite.fr https://www.ljll.math.upmc.fr/hecht
software: FreeFem++ web site: http://www.freefem.org/ff++
Le 10 juin 2020 à 09:46, cirosantilli ***@***.***> a écrit :
This is the config.log: https://gist.githubusercontent.com/cirosantilli/601c5b1b58827516f0e66c600d552890/raw/5abcb5db3dcb98f63e8a9047e5fa529ef1779d46/reconfigure <https://gist.githubusercontent.com/cirosantilli/601c5b1b58827516f0e66c600d552890/raw/5abcb5db3dcb98f63e8a9047e5fa529ef1779d46/reconfigure>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#141 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABLPNDHVHWMQTLRU7YNHHY3RV424HANCNFSM4NZG2EUA>.
|
MUMPS and ScaLAPACK use MPIFC. See issue #141.
You actually don't need to set the
So, now, you don't need to uninstall your system MPI. You can Thanks for all the troubleshooting! |
Yes, but it is more simple.
to set the path variable and used the good mpi.
… Le 10 juin 2020 à 10:20, prj- ***@***.***> a écrit :
You actually don't need to set the PATH variable since dffba71 <dffba71>. I was previously only getting the MPIRUN variable from PETSc, and your MPICXX variable was pointing to the faulty /usr/bin/mpic++ wrapper. See the config.log:
configure:13442: checking for MPIRUN
configure:13501: result: /home/ciro/test/FreeFem-install/ff-petsc/r/bin/mpiexec <-- good
[...]
configure:13775: checking for MPICXX
configure:13798: eval /usr/bin/mpic++ -o conftest -g -DNDEBUG -O3 -mmmx -mavx -std=c++11 -DBAMG_LONG_LONG -DNCHECKPTR conftest.cpp -lrt >&5 <-- bad
So, now, you don't need to uninstall your system MPI. You can git pull the develop branch, autoreconf -i && ./reconfigure. If this still fails, please do upload a newly generated config.log.
Thanks for all the troubleshooting!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#141 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABLPNDDZSGUM6XNUGD3WLDDRV4633ANCNFSM4NZG2EUA>.
|
I nuked Ubuntu openmpi, pulled FreeFem to 3df0e23 applied:
and now it worked!!!
Thanks so much for your help, feel free to close if you feel that all the problems found have been addressed. If possible, I'd highly recommend adding instructions to build with Ubuntu packaged PETSc to README :-) |
That's good news :) |
Just trying it out for fun, I ran the build commands from the README:
and the last command fails with:
This error message is mentioned at:
but I couldn't find easily in those threads the solution/if we share the same problem.
Edit: working procedure
Maybe you need to uninstall openmpi before starting. Then this runs the hello world examples from the repo:
The text was updated successfully, but these errors were encountered: