Page 1 of 1

Error During EOF-Library Installation

Posted: 06 Mar 2023, 16:13
by maguirre
Hi!
I don't know if this is the correct place to ask about my problem, please feel free to redirect me to somewhere else if this is not the place.

I am trying to install EOF-Library on WSL with Ubuntu-20.04.5 LTS following the "Manual Installation" instructions on https://github.com/jvencels/EOF-Library but when it tells me to compile EOF-Library the terminal says wmake has not been found.

I've already installed both Elmer and OpenFOAM and made a ctest with 99% success (I think 3 solvers didn't work or something like that) and run the Cavity Tutorial Case of OpenFOAM successfully.

Does anyone know if I have to do something else that is not on the EOF-Library installation instructions? Or maybe I have to do something else to make that environment variable (I think that's how it is called) wmake accessible?

Let me know if you need some files or else to clarify something.

Cheers!
Matias.

Re: Error During EOF-Library Installation

Posted: 06 Mar 2023, 16:31
by kevinarden
wmake is the make script for compile openfoam code. Either you installed the openfoam executables only, or there is a path issue for the system to find wmake.

This forum exchange may help

https://www.cfd-online.com/Forums/openf ... wmake.html

Re: Error During EOF-Library Installation

Posted: 06 Mar 2023, 19:03
by vencels
Hello Matias,

A few days ago, there was a pull request with fixes for OF v9 and v10. I merged them just now.
Could you please check if it works with those changes?

Thanks.

Re: Error During EOF-Library Installation

Posted: 06 Mar 2023, 20:04
by maguirre
vencels wrote: 06 Mar 2023, 19:03 A few days ago, there was a pull request with fixes for OF v9 and v10. I merged them just now.
I'm using openfoam2212, I don't know if it's the same version as the ones you mention, but just in case I've run

Code: Select all

sudo apt-get update && sudo apt-get upgrade
However, I resolved my problem with

Code: Select all

. /usr/lib/openfoam/openfoam2212/etc/bashrc
. /mnt/c/Users/maguirre/EOF-Library/etc/bashrc
more related to what Kevin told me
kevinarden wrote: 06 Mar 2023, 16:31 or there is a path issue for the system to find wmake
but now I have these massages

Code: Select all

wmake /mnt/c/Users/maguirre/EOF-Library/etc/../libs/coupleElmer
/bin/sh: 1: test: Illegal number: v2212
************ OF version v2212 ************
/bin/sh: 1: test: Illegal number: v2212
************ OF version v2212 ************
/bin/sh: 1: test: Illegal number: v2212
************ OF version v2212 ************
/bin/sh: 1: test: Illegal number: v2212
************ OF version v2212 ************
g++ -std=c++14 -m64 -pthread -DOPENFOAM=2212 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -Wno-unknown-pragmas -O3  -DNoRepository -ftemplate-depth-100  -I/usr/lib/openfoam/openfoam2212/src/finiteVolume/lnInclude -I/usr/lib/openfoam/openfoam2212/src/dynamicFvMesh/lnInclude -I/usr/lib/openfoam/openfoam2212/src/meshTools/lnInclude -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -I/usr/lib/x86_64-linux-gnu/openmpi/include -pthread -std=gnu++0x -DFOAM_MAJOR_VERSION=v2212 -Wno-old-style-cast -I/usr/lib/openfoam/openfoam2212/src/Pstream/mpi/lnInclude -iquote. -IlnInclude -I/usr/lib/openfoam/openfoam2212/src/OpenFOAM/lnInclude -I/usr/lib/openfoam/openfoam2212/src/OSspecific/POSIX/lnInclude   -fPIC -c Elmer.C -o Make/linux64GccDPInt32Opt/Elmer.o
Elmer.C: In member function ‘void Foam::Elmer<meshT>::initialize()’:
Elmer.C:66:35: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
   66 |     MPI_Comm_size(PstreamGlobals::MPI_COMM_FOAM, &totLocalRanks);
      |                                   ^~~~~~~~~~~~~
Elmer.C:67:35: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
   67 |     MPI_Comm_rank(PstreamGlobals::MPI_COMM_FOAM, &myLocalRank);
      |                                   ^~~~~~~~~~~~~
Elmer.C:73:61: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
   73 |     MPI_Bcast(&OFRanksStart, 1, MPI_INT, 0, PstreamGlobals::MPI_COMM_FOAM);
      |                                                             ^~~~~~~~~~~~~
Elmer.C:307:37: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
  307 |         MPI_Barrier(PstreamGlobals::MPI_COMM_FOAM);
      |                                     ^~~~~~~~~~~~~
Elmer.C: In member function ‘void Foam::Elmer<meshT>::findOverlappingBoxes()’:
Elmer.C:487:79: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
  487 | st(ELboundBoxes, totElmerRanks*2*3, MPI_DOUBLE, 0, PstreamGlobals::MPI_COMM_FOAM);
      |                                                                    ^~~~~~~~~~~~~

Elmer.C:507:64: error: ‘MPI_COMM_FOAM’ is not a member of ‘Foam::PstreamGlobals’
  507 |         OF_EL_overlap, totElmerRanks, MPI_INT, PstreamGlobals::MPI_COMM_FOAM);
      |                                                                ^~~~~~~~~~~~~
make: *** [/usr/lib/openfoam/openfoam2212/wmake/rules/General/transform:38: Make/linux64GccDPInt32Opt/Elmer.o] Error 1
with elmerice
/usr/bin/f95 -o /mnt/c/Users/maguirre/EOF-Library/etc/../libs/Elmer2OpenFOAM.so -J/mnt/c/Users/maguirre/EOF-Library/etc/../libs /mnt/c/Users/maguirre/EOF-Library/etc/../libs/Elmer2OpenFOAM.F90 -DHAVE_PARMETIS -DCONTIG= -DHAVE_EXECUTECOMMANDLINE -DUSE_ISO_C_BINDINGS -DUSE_ARPACK -O2 -g -DNDEBUG -fPIC -shared -I/usr/share/elmersolver/include -L/usr/share/elmersolver/../../lib/elmersolver -Xlinker -rpath=/usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib /usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib/ElmerIceSolvers.so /usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib/ElmerIceUSF.so -shared -lelmersolver
with elmerice
/usr/bin/f95 -o /mnt/c/Users/maguirre/EOF-Library/etc/../libs/OpenFOAM2Elmer.so -J/mnt/c/Users/maguirre/EOF-Library/etc/../libs /mnt/c/Users/maguirre/EOF-Library/etc/../libs/OpenFOAM2Elmer.F90 -DHAVE_PARMETIS -DCONTIG= -DHAVE_EXECUTECOMMANDLINE -DUSE_ISO_C_BINDINGS -DUSE_ARPACK -O2 -g -DNDEBUG -fPIC -shared -I/usr/share/elmersolver/include -L/usr/share/elmersolver/../../lib/elmersolver -Xlinker -rpath=/usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib /usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib/ElmerIceSolvers.so /usr/share/elmersolver/../../lib/elmersolver/../../share/elmersolver/lib/ElmerIceUSF.so -shared -lelmersolver
The last 4 lines (the ones begining with "with elmerice...") I think they are correct, they appeared before even when eofCompile couldn't find wmake, but now I have those errors.

Is it possible they are related to the MPI version incompatibilities between ElmerV9.0 and OpenFOAM2212? If that is the case, Is there any way to know which version uses each programme?

Re: Error During EOF-Library Installation

Posted: 07 Mar 2023, 23:44
by maguirre
Hi again!
I resolved the problem. I don't know if it's version incompatibility or something like that but I added to the file PstreamGlobals.H in /usr/lib/openfoam/openfoam2212/src/Pstream/mpi inside

Code: Select all

namespace PstreamGlobals { ... }
the line

Code: Select all

extern MPI_Comm MPI_COMM_FOAM;
and it worked.

But now I have other errors when I keep going with the installation so I'm now thinking is because EOF_Library works with another version of OpenFOAM different from the one I have.

Does anyone know with which Elmer and OpenFOAM versions EOF-Library work fine?