FreeFem / FreeFem-sources

FreeFEM source code
https://freefem.org/
Other
755 stars 188 forks source link

error compiling master on Linux #212

Closed vryy closed 2 years ago

vryy commented 2 years ago

Hello

when compiling the master branch 9b88bed4d1079b5af424300e32f876bddc9b4520, I got this error:

parmmg.cpp:313:14: error: ‘PMMG_Set_localParameter’ was not declared in this scope; did you mean ‘PMMG_Set_dparameter’? 313 | if ( PMMG_Set_localParameter(mesh,/sol,/MMG5_Triangle,localParameter(0,j),localParameter(1,j),localParameter(2,j),localParameter(3,j)) != 1 )

Maybe the interface does not adapt to latest mmg?

Best

prj- commented 2 years ago

You need to update your ParMmg version. Consider doing a fresh make petsc-slepc to get the latest version.

vryy commented 2 years ago

That doesn't help. I compiled my own petsc version and the configure command looks like ./configure --enable-download --enable-optim --prefix=/opt/FreeFem_2021 --with-petsc=/opt/petsc-3.15.1_ompi-3.0.1/lib/petsc/conf/petscvariables Should some build folder deleted to remove that error?

prj- commented 2 years ago

I guess you are in either of those situations:

  1. your PETSc configuration uses --download-mmg --download-parmmg
  2. FreeFEM is installing ParMmg

I'd advise that you reconfigure PETSc with the additional flags provided above. You'll have to update to PETSc 3.16.X (latest release is 3.16.2, but that should work with 3.16.0 or 3.16.1 as well). If you can't reconfigure PETSc and must stick to the ParMmg version downloaded by FreeFEM, which I strongly do not recommend, I think you need to "clean" 3rdparty/pkg, 3rdparty/parmmg, and 3rdparty/include, so that FreeFEM figures out that it needs to update ParMmg. This is very dirty, best to do that through PETSc configuration.

prj- commented 2 years ago

@vryy, either of the proposed solutions work for you?

vryy commented 2 years ago

Hello, sorry for late responding. I was in situation 2. I re-checked out the repo, perform fresh compilation from beginning (it was successfully compiled a year ago) and it works. I would guess that I have to follow your solution whenever I pull the new updates.

prj- commented 2 years ago

Glad you sorted things out. I'll close the issue but feel free to re-open it if you run into additional troubles.