Dear Jenny, There was a mistake in the list of my instructions, the last 2 sed commands in the MUMPS compilation should be
sed -i '/^\(OPTF.*=.*\)-O\(\>.*\)/s//\1-fallow-argument-mismatch -O3 -fPIC\2/' Makefile.inc sed -i '/^\(OPT[CL].*=.*\)-O\(\>.*\)/s//\1-O3 -fPIC\2/' Makefile.inc Which means, you need to add the -fPIC option in the compilation of MUMPS. An updated version of the entire recipe is attached. I also attach the editted Makefile.inc file for the compilation of MUMPS. Best regards Kostas On Wed, Dec 8, 2021 at 1:32 AM Chen,Jinzhen <jche...@mdanderson.org> wrote: > Dear. Dr. Poulios, > > > > I investigated the issue and found that libsmumps-5.3.so is a system > level mumps library that I installed from the rpm packages before. The > compiler used system level mumps libraries rather than what I built > mumps/5.4.1 in the previous built somehow. Hence, I rebuilt mumps/5.4.1 > from a node where there are no mumps or metis rpm packages installed. Then > I changed the getfem configuration to set LIBS having the same value as > LDFLAGS. > > > > ./configure --prefix=/risapps/rhel7/getfem-mpi/5.4.1-new \ > > LDFLAGS="-L/risapps/rhel7/gcc/9.3.0/lib64 > -L/risapps/rhel7/openmpi/4.1.1/lib -L/risapps/rhel7/mumps/5.4.1/lib > -L/risapps/rhel7/parmetis/4.0.3/lib -L/risapps/rhel7/metis/5.1.0/lib > -L/risapps/rhel7/scalapack/2.1.0/lib -L/risapps/rhel7/scotch/6.1.1/lib > -L/risapps/rhel7/qhull/2020.2/lib" \ > > CPPFLAGS="-I/risapps/rhel7/gcc/9.3.0/include > -I/risapps/rhel7/openmpi/4.1.1/include -I/risapps/rhel7/mumps/5.4.1/include > -I/risapps/rhel7/parmetis/4.0.3/include > -I/risapps/rhel7/metis/5.1.0/include -I/risapps/rhel7/qhull/2020.2/include" > \ > > LIBS="-L/risapps/rhel7/gcc/9.3.0/lib64 -L/risapps/rhel7/openmpi/4.1.1/lib > -L/risapps/rhel7/mumps/5.4.1/lib -L/risapps/rhel7/parmetis/4.0.3/lib > -L/risapps/rhel7/metis/5.1.0/lib -L/risapps/rhel7/scalapack/2.1.0/lib > -L/risapps/rhel7/scotch/6.1.1/lib -L/risapps/rhel7/qhull/2020.2/lib" \ > > --with-blas="/risapps/rhel7/openblas/0.3.18/lib/libopenblas.a" \ > > --with-pic --with-optimization=-O3 --disable-metlab --enable-python > --enable-paralevel=2 --enable-shared > > > > With these changes, getfem can’t be built any more. Here is the last part > of compiling message. Please let me know if you need more information. > > > > ….. > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_matvec.o): > relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making > a shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_root_parallel.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zana_aux.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zana_aux_par.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_par_m.o): > relocation R_X86_64_32S against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zmumps_sol_es.o): > relocation R_X86_64_32S against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zana_LDLT_preprocess.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_asm_ELT.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_lastrtnelind.o): > relocation R_X86_64_32S against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_mem_stack.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_root_parallel.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_type3_symmetrize.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zana_mtrans.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_bwd.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_fwd_aux.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_asm_master_ELT_m.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_asm_master_m.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_front_LU_type1.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_front_LU_type2.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_front_LDLT_type1.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_front_LDLT_type2.o): > relocation R_X86_64_32S against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > > /bin/ld: > /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zfac_front_type2_aux.o): > relocation R_X86_64_32 against `.rodata' can not be used when making a > shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_lr.o): relocation > R_X86_64_32S against `.rodata' can not be used when making a shared object; > recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libzmumps.a(zsol_bwd_aux.o): > relocation R_X86_64_32S against `.rodata.str1.1' can not be used when > making a shared object; recompile with -fPIC > > /bin/ld: /risapps/rhel7/mumps/5.4.1/lib/libdmumps.a(dmumps_c.o): > relocation R_X86_64_PC32 against symbol `strlen@@GLIBC_2.2.5' can not be > used when making a shared object; recompile with -fPIC > > /bin/ld: final link failed: Bad value > > collect2: error: ld returned 1 exit status > > make[2]: *** [libgetfem.la] Error 1 > > make[2]: Leaving directory `/risapps/build7/getfem-5.4.1/src' > > make[1]: *** [all-recursive] Error 1 > > make[1]: Leaving directory `/risapps/build7/getfem-5.4.1' > > make: *** [all] Error 2 > > > > Best Regards > > Jenny > > > > *From: *"Chen,Jinzhen" <jche...@mdanderson.org> > *Date: *Tuesday, December 7, 2021 at 11:34 AM > *To: *"getfem-users@nongnu.org" <getfem-users@nongnu.org> > *Subject: *Re: [EXT] Re: getfem installation > > > > Dear Dr. Poulios, > > > > I was able to follow your steps and built all dependencies. In addition, I > also built metis/5.1.0, as parmetis I built has no metis.h and metis > library but they are required for getfem. I passed the getfem compiling > with this configuration. I could not include some libraries on LIBS > somehow. However, I defined LD_LIBRARY_PATH environment variable which > contains all dependency libraries. So no problem on building getfem. > > ./configure --prefix=/risapps/rhel7/getfem-mpi/5.4.1-new \ > > LDFLAGS="-L/risapps/rhel7/gcc/9.3.0/lib64 > -L/risapps/rhel7/openmpi/4.1.1/lib -L/risapps/rhel7/mumps/5.4.1/lib > -L/risapps/rhel7/parmetis/4.0.3/lib -L/risapps/rhel7/metis/5.1.0/lib > -L/risapps/rhel7/scalapack/2.1.0/lib -L/risapps/rhel7/scotch/6.1.1/lib > -L/risapps/rhel7/qhull/2020.2/lib" \ > > CPPFLAGS="-I/risapps/rhel7/gcc/9.3.0/include > -I/risapps/rhel7/openmpi/4.1.1/include -I/risapps/rhel7/mumps/5.4.1/include > -I/risapps/rhel7/parmetis/4.0.3/include > -I/risapps/rhel7/metis/5.1.0/include -I/risapps/rhel7/qhull/2020.2/include" > \ > > LIBS="-lmetis -lzmumps -ldmumps -lcmumps -lsmumps -lmumps_common -lpord > -lgfortran" \ > > --with-blas="/risapps/rhel7/openblas/0.3.18/lib/libopenblas.a" \ > > --with-pic --with-optimization=-O3 --disable-metlab --enable-python > --enable-paralevel=2 --enable-shared > > > > > > However, I got below error when I run a basic testing. I noticed that > most built dependency libraries are static libraries. I.e. *.a files. How > can I build shared libraries that getfem python needs at run time? Thank > you very much ! > > > > [jchen24@tdragon4 testmpi]$ mpirun -n 4 ./parallel.py > > Traceback (most recent call last): > > File > "/risapps/rhel7/getfem-mpi/5.4.1-new/lib/python3.9/site-packages/getfem/getfem.py", > line 46, in <module> > > Traceback (most recent call last): > > File > "/risapps/rhel7/getfem-mpi/5.4.1-new/lib/python3.9/site-packages/getfem/getfem.py", > line 46, in <module> > > Traceback (most recent call last): > > File > "/risapps/rhel7/getfem-mpi/5.4.1-new/lib/python3.9/site-packages/getfem/getfem.py", > line 46, in <module> > > Traceback (most recent call last): > > File > "/risapps/rhel7/getfem-mpi/5.4.1-new/lib/python3.9/site-packages/getfem/getfem.py", > line 46, in <module> > > from ._getfem import * > > ImportError: libsmumps-5.3.so: cannot open shared object file: No such > file or directory > > > > During handling of the above exception, another exception occurred: > > > > Traceback (most recent call last): > > from ._getfem import * > > File "/rsrch3/home/itops/jchen24/testmpi/./parallel.py", line 39, in > <module> > > ImportError: libsmumps-5.3.so: cannot open shared object file: No such > file or directory > > > > During handling of the above exception, another exception occurred: > > > > Traceback (most recent call last): > > File "/rsrch3/home/itops/jchen24/testmpi/./parallel.py", line 39, in > <module> > > from ._getfem import * > > ImportError: libsmumps-5.3.so: cannot open shared object file: No such > file or directory > > …. > > > > Actually, I was able to compile getfem using system level mumps and metis > with some code changes before I received your previous email. But I got > below errors in testing. I could be that the system level mumps was built > using different mpi as we are using or it missed other dependencies. This > is just FYI.. as I forgot to mention it in my previous email. > > > > [jchen24@tdragon4 testmpi]$ mpirun -n 4 ./parallel.py > > initializing ... > > numthread = 1 > > initializing ... > > numthread = 1 > > initializing ... > > numthread = 1 > > initializing ... > > numthread = 1 > > *** The MPI_Comm_rank() function was called before MPI_INIT was invoked. > > *** This is disallowed by the MPI standard. > > *** Your MPI job will now abort. > > [cdragon003:240842] Local abort before MPI_INIT completed completed > successfully, but am not able to aggregate error messages, and not able to > guarantee that all other processes were killed! > > *** The MPI_Comm_rank() function was called before MPI_INIT was invoked. > > *** This is disallowed by the MPI standard. > > *** Your MPI job will now abort. > > [cdragon003:240843] Local abort before MPI_INIT completed completed > successfully, but am not able to aggregate error messages, and not able to > guarantee that all other processes were killed! > > *** The MPI_Comm_rank() function was called before MPI_INIT was invoked. > > *** This is disallowed by the MPI standard. > > *** Your MPI job will now abort. > > [cdragon003:240844] Local abort before MPI_INIT completed completed > successfully, but am not able to aggregate error messages, and not able to > guarantee that all other processes were killed! > > *** The MPI_Comm_rank() function was called before MPI_INIT was invoked. > > *** This is disallowed by the MPI standard. > > *** Your MPI job will now abort. > > > > Regards > > Jinzhen (Jenny) Chen > > > > *From: *"Chen,Jinzhen" <jche...@mdanderson.org> > *Date: *Monday, December 6, 2021 at 9:45 AM > *To: *Konstantinos Poulios <logar...@googlemail.com> > *Cc: *"getfem-users@nongnu.org" <getfem-users@nongnu.org> > *Subject: *Re: [EXT] Re: getfem installation > > > > Dear Dr. Poulios, > > > > Thank you so much for your so detailed information. It is definitely very > helpful. I will follow your steps and try again. > > > > Best Regards > > Jinzhen Chen > > > > *From: *Konstantinos Poulios <logar...@googlemail.com> > *Date: *Saturday, December 4, 2021 at 3:03 AM > *To: *"Chen,Jinzhen" <jche...@mdanderson.org> > *Cc: *"getfem-users@nongnu.org" <getfem-users@nongnu.org> > *Subject: *Re: [EXT] Re: getfem installation > > > > *WARNING: *This email originated from outside of MD Anderson. Please > validate the sender's email address before clicking on links or attachments > as they may not be safe. > > > > Dear Chen, > > > > Below you can see how I have compiled the parallel version of GetFEM with > MUMPS on our cluster (Scientific linux 7). Depending on the specific > versions of compilers and mpi, some parts of these steps need to be > modified. The basic idea that worked for me is to use the 3 environment > variables, LDFLAGS, CPPFLAGS and LIBS to pass any external dependencies not > detected by the configure script (header files, library directories, > libraries respectively). I also used the --with-blas= configure option to > link to my compiled openblas (which also includes lapack). (The use of the > PYTHONPATH variable is specific to a bug in our cluster's mpi4py module.) > > > > I hope this helps. You will probably need one more fix not included in my > instructions, when you come to the final step of building the getfem python > interface, but let's take that once you get there. > > > > Best regards > > Kostas > > > > module load python3/3.8.11 > module load mpi/4.1.1-gcc-10.3.0-binutils-2.36.1 > module load mpi4py/3.0.3-python-3.8.11-openmpi-4.1.1 > > wget > https://github.com/xianyi/OpenBLAS/releases/download/v0.3.18/OpenBLAS-0.3.18.tar.gz > <https://urldefense.com/v3/__https:/github.com/xianyi/OpenBLAS/releases/download/v0.3.18/OpenBLAS-0.3.18.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJhic7UEc$> > wget > http://deb.debian.org/debian/pool/main/s/scalapack/scalapack_2.1.0.orig.tar.gz > <https://urldefense.com/v3/__http:/deb.debian.org/debian/pool/main/s/scalapack/scalapack_2.1.0.orig.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJo2l0zMk$> > wget > http://deb.debian.org/debian/pool/main/s/scotch/scotch_6.1.1.orig.tar.xz > <https://urldefense.com/v3/__http:/deb.debian.org/debian/pool/main/s/scotch/scotch_6.1.1.orig.tar.xz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJRoaxqzg$> > wget > http://deb.debian.org/debian/pool/non-free/p/parmetis/parmetis_4.0.3.orig.tar.gz > <https://urldefense.com/v3/__http:/deb.debian.org/debian/pool/non-free/p/parmetis/parmetis_4.0.3.orig.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJtQaQR4k$> > wget > http://deb.debian.org/debian/pool/main/m/mumps/mumps_5.4.1.orig.tar.gz > <https://urldefense.com/v3/__http:/deb.debian.org/debian/pool/main/m/mumps/mumps_5.4.1.orig.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJbdI-Xl8$> > wget > http://deb.debian.org/debian/pool/main/q/qhull/qhull_2020.2.orig.tar.gz > <https://urldefense.com/v3/__http:/deb.debian.org/debian/pool/main/q/qhull/qhull_2020.2.orig.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJo8KuqTo$> > wget > http://download-mirror.savannah.gnu.org/releases/getfem/stable/getfem-5.4.1.tar.gz > <https://urldefense.com/v3/__http:/download-mirror.savannah.gnu.org/releases/getfem/stable/getfem-5.4.1.tar.gz__;!!PfbeBCCAmug!33Kr3jrpM3WlGyBspYp_B85EGY6SFMnA9B5QSjClom5cH5VLOyeuU-fNizSJWGn8oEw$> > > tar -zxf OpenBLAS-0.3.18.tar.gz > tar -zxf scalapack_2.1.0.orig.tar.gz > tar -xf scotch_6.1.1.orig.tar.xz > tar -zxf parmetis_4.0.3.orig.tar.gz > tar -zxf mumps_5.4.1.orig.tar.gz > tar -zxf qhull_2020.2.orig.tar.gz > tar -zxf getfem-5.4.1.tar.gz > > cd OpenBLAS-0.3.18/ > CC=gcc make -j8 > CC=gcc make PREFIX=$HOME/tmp_opt/openblas install > > cd ../scalapack-2.1.0/ > sed '/^\(BLASLIB.*=\).*/ s//\1 > $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' SLmake.inc.example | sed > '/^\(LAPACKLIB.*=\).*/ s//\1 /' > SLmake.inc > sed -i '/^\(NOOPT.*=.*-O0\)\(\>.*\)/s//\1 -fallow-argument-mismatch > -fPIC\2/' SLmake.inc > sed -i '/^\(FCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fallow-argument-mismatch > -fPIC\2/' SLmake.inc > sed -i '/^\(CCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fPIC\2/' SLmake.inc > sed -i '/^\(RANLIB.*=\).*/s//\1 echo/' SLmake.inc > make -j4 > mkdir -p $HOME/tmp_opt/scalapack/lib > cp libscalapack.a $HOME/tmp_opt/scalapack/lib/ > > cd ../parmetis-4.0.3/ > make config prefix=$HOME/tmp_opt/parmetis > make -j4 > make install > cp build/Linux-x86_64/libmetis/libmetis.a $HOME/tmp_opt/parmetis/lib/ > cp metis/include/metis.h $HOME/tmp_opt/parmetis/include/ > > cd ../scotch-6.1.1/src > cp Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc > sed -i '/^\(CC[SD].*=\).*/s//\1 mpicc/' Makefile.inc > make -j4 scotch > make -j4 esmumps > make -j4 ptscotch > make -j4 ptesmumps > mkdir -p $HOME/tmp_opt/scotch > cp -r ../lib $HOME/tmp_opt/scotch/ > cp -r ../include $HOME/tmp_opt/scotch/ > > > cd ../../MUMPS_5.4.1/ > cp Make.inc/Makefile.inc.generic Makefile.inc > sed -i '/^#\(SCOTCHDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/scotch/' > Makefile.inc > sed -i '/^#\(ISCOTCH.*\)=.*/s//\1 = -I$(SCOTCHDIR)\/include/' Makefile.inc > sed -i '/^#\(LSCOTCH.*-lpt.*\)/s//\1 -lscotch/' Makefile.inc > sed -i '/^#\(LMETISDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/parmetis\/lib/' > Makefile.inc > sed -i '/^#\(IMETIS.*\)=.*/s//\1 = > -I$${HOME}\/tmp_opt\/parmetis\/include/' Makefile.inc > sed -i '/^#\(LMETIS .*-lparmetis.*\)/s//\1/' Makefile.inc > sed -i '/^#\(ORDERINGSF .*-Dparmetis.*\)/s//\1/' Makefile.inc > sed -i '/^\(ORDERINGSF .*-Dpord$\)/s//#\1/' Makefile.inc > sed -i '/^\(CC.*= \)\(cc\)/s//\1mpi\2/' Makefile.inc > sed -i '/^\(FC.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc > sed -i '/^\(FL.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc > sed -i '/^\(RANLIB .*ranlib.*\)/s//#\1/' Makefile.inc > sed -i '/^#\(RANLIB .*echo.*\)/s//\1/' Makefile.inc > sed -i '/^\(LAPACK.*=\).*/s//\1/' Makefile.inc > sed -i '/^\(SCALAP.*=\).*/s//\1 > $${HOME}\/tmp_opt\/scalapack\/lib\/libscalapack.a/' Makefile.inc > sed -i '/^\(INCPAR.*=\).*/s//\1/' Makefile.inc > sed -i '/^\(\LIBPAR.*=\).*/s//\1 $(SCALAP)/' Makefile.inc > sed -i '/^\(LIBBLAS.*=\).*/s//\1 > $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' Makefile.inc > sed -i '/^\(OPTF.*=.*\)-O\(\>.*\)/s//\1-fallow-argument-mismatch -O3\2/' > Makefile.inc > sed -i '/^\(OPT[CL].*=.*-O\)\(\>.*\)/s//\13\2/' Makefile.inc > make all > mkdir -p $HOME/tmp_opt/mumps > cp -r lib $HOME/tmp_opt/mumps/ > cp -r include $HOME/tmp_opt/mumps/ > > > cd ../qhull_2020.2/ > make -j4 > mkdir -p $HOME/tmp_opt/qhull > mkdir -p $HOME/tmp_opt/qhull/lib > mkdir -p $HOME/tmp_opt/qhull/include > mkdir -p $HOME/tmp_opt/qhull/include/libqhull > cp lib/libqhullstatic.a $HOME/tmp_opt/qhull/lib/libqhull.a > cp src/libqhull/*.h $HOME/tmp_opt/qhull/include/libqhull/ > > cd ../getfem-5.4.1 > sed -i '/^\(.*\/env \)python\($\)/s//\1python3\2/' bin/extract_doc > PYTHONPATH=/appl/mpi4py/3.0.3-openmpi-4.1.1-gcc-10.3.0-binutils-2.36.1-python-3.8.11/lib/python3.8/site-packages/:$PYTHONPATH > \ > ./configure --prefix="$HOME/tmp_opt" \ > LDFLAGS="-L$HOME/tmp_opt/mumps/lib -L$HOME/tmp_opt/parmetis/lib > -L$HOME/tmp_opt/scalapack/lib -L$HOME/tmp_opt/scotch/lib > -L$HOME/tmp_opt/qhull/lib" \ > CPPFLAGS="-I$HOME/tmp_opt/mumps/include -I$HOME/tmp_opt/parmetis/include > -I$HOME/tmp_opt/qhull/include" \ > LIBS="-lmumps_common -lpord -lgfortran -lscalapack -lptesmumps -lptscotch > -lptscotcherr -lscotch -lparmetis -lmetis -lmpi_usempif08 > -lmpi_usempi_ignore_tkr -lmpi_mpifh" \ > --with-blas="$HOME/tmp_opt/openblas/lib/libopenblas.a" \ > --with-pic --with-optimization=-O3 --disable-matlab --enable-python > --enable-paralevel=2 > make -j4 > make install > > > > > > On Tue, Nov 30, 2021 at 8:51 PM Chen,Jinzhen <jche...@mdanderson.org> > wrote: > > Dear Dr. Poulios, > > > > Thank you so much for your prompt response and information. They are very > helpful. I cc’ed this email to getfem-users@nongnu.org so that I don’t > need to send to your personal email in next one. After reading your > reference of the configure command, I started from scratch but still got > compiling errors. > > > > I installed metis and mumps in the system from EPEL reporistory. > > > > [root@ ~]# rpm -qa |grep metis > > metis-devel-5.1.0-12.el7.x86_64 > > metis-5.1.0-12.el7.x86_64 > > [root@ ~]# rpm -qa |grep metis > > metis-devel-5.1.0-12.el7.x86_64 > > metis-5.1.0-12.el7.x86_64 > > [root@ ~]# rpm -qa |grep MUMPS > > MUMPS-srpm-macros-5.3.5-1.el7.noarch > > MUMPS-5.3.5-1.el7.x86_64 > > MUMPS-devel-5.3.5-1.el7.x86_64 > > MUMPS-common-5.3.5-1.el7.noarch > > > > I used the openmpi/4.1.1, gcc/3.9.0, blas/3.8.0 and zlib/1.2.11 modules > for this build. Below is the module list command output. > > > > [ris_hpc_apps@r1drpswdev3 getfem-5.4.1]$ module list > > > > Currently Loaded Modules: > > 1) openmpi/4.1.1 2) python/3.7.3-anaconda 3) blas/3.8.0 4) > zlib/1.2.11 5) gcc/9.3.0 > > > > Here is my configuration command running on getfem-5.4.1 directory > > > > ./configure CXX="/risapps/rhel7/openmpi/4.1.1/bin/mpic++" > CC="/risapps/rhel7/openmpi/4.1.1/bin/mpicc" > FC="/risapps/rhel7/openmpi/4.1.1/bin/mpifort" > LIBS="-L/risapps/rhel7/gcc/9.3.0/lib64 -L/risapps/rhel7/openmpi/4.1.1/lib > -L/risapps/rhel7/blas/3.8.0 -L/risapps/rhel7/zlib/1.2.11/lib -L/usr/lib64 > -lmetis -lzmumps -ldmumps -lcmumps -lsmumps -lmumps_common" > CXXFLAGES="-I/risapps/rhel7/gcc/9.3.0/include > -I/risapps/rhel7/openmpi/4.1.1/include -I/risapps/rhel7/zlib/1.2.11/include > -I/usr/include -I/usr/include/MUMPS" > CPPFLAGES="-I/risapps/rhel7/gcc/9.3.0/include > -I/risapps/rhel7/openmpi/4.1.1/include -I/risapps/rhel7/zlib/1.2.11/include > -I/usr/include -I/usr/include/MUMPS" > CFLAGS="-I/risapps/rhel7/gcc/9.3.0/include > -I/risapps/rhel7/openmpi/4.1.1/include -I/risapps/rhel7/zlib/1.2.11/include > -I/usr/include -I/usr/include/MUMPS" > PYTHON="/risapps/rhel7/python/3.7.3/bin/python" PYTHON_VERSION=3.7.3 > --with-mumps="-L/usr/lib64" > --with-mumps-include-dir="-I/usr/include/MUMPS" > --with-blas="-L/risapps/rhel7/blas/3.8.0" > --prefix=/risapps/rhel7/getfem-mpi/5.4.1 --enable-shared --enable-metis > --enable-par-mumps -enable-paralevel=2 > > > > The current errors on the make command are the following: > > …. > > libtool: compile: /risapps/rhel7/openmpi/4.1.1/bin/mpic++ -DHAVE_CONFIG_H > -I. -I.. -I../src -I../src -I.. -I/usr/local/include -DGETFEM_PARA_LEVEL=2 > -DGMM_USES_MPI -DGMM_USES_BLAS -DGMM_U SES_BLAS_INTERFACE > -I/usr/include/MUMPS -O3 -std=c++14 -MT dal_bit_vector.lo -MD -MP -MF > .deps/dal_bit_vector.Tpo -c dal_bit_vector.cc -fPIC -DPIC -o > .libs/dal_bit_vector.o > > In file included from ./gmm/gmm_kernel.h:49, > > from getfem/bgeot_config.h:50, > > from getfem/getfem_omp.h:46, > > from getfem/dal_basic.h:42, > > from getfem/dal_bit_vector.h:51, > > from dal_bit_vector.cc:23: > > ./gmm/gmm_matrix.h:956:32: error: ‘MPI_Datatype’ does not name a type > > 956 | template <typename T> inline MPI_Datatype mpi_type(T) > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:958:10: error: ‘MPI_Datatype’ does not name a type > > 958 | inline MPI_Datatype mpi_type(double) { return MPI_DOUBLE; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:959:10: error: ‘MPI_Datatype’ does not name a type > > 959 | inline MPI_Datatype mpi_type(float) { return MPI_FLOAT; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:960:10: error: ‘MPI_Datatype’ does not name a type > > 960 | inline MPI_Datatype mpi_type(long double) { return > MPI_LONG_DOUBLE; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:962:10: error: ‘MPI_Datatype’ does not name a type > > 962 | inline MPI_Datatype mpi_type(std::complex<float>) { return > MPI_COMPLEX; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:963:10: error: ‘MPI_Datatype’ does not name a type > > 963 | inline MPI_Datatype mpi_type(std::complex<double>) { return > MPI_DOUBLE_COMPLEX; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:965:10: error: ‘MPI_Datatype’ does not name a type > > 965 | inline MPI_Datatype mpi_type(int) { return MPI_INT; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:966:10: error: ‘MPI_Datatype’ does not name a type > > 966 | inline MPI_Datatype mpi_type(unsigned int) { return > MPI_UNSIGNED; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:967:10: error: ‘MPI_Datatype’ does not name a type > > 967 | inline MPI_Datatype mpi_type(long) { return MPI_LONG; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h:968:10: error: ‘MPI_Datatype’ does not name a type > > 968 | inline MPI_Datatype mpi_type(unsigned long) { return > MPI_UNSIGNED_LONG; } > > | ^~~~~~~~~~~~ > > ./gmm/gmm_matrix.h: In function ‘typename gmm::strongest_value_type3<V1, > V2, MATSP>::value_type gmm::vect_sp(const > gmm::mpi_distributed_matrix<MAT>&, const V1&, const V2&)’: > > ./gmm/gmm_matrix.h:1012:50: error: ‘MPI_SUM’ was not declared in this scope > > 1012 | MPI_Allreduce(&res, &rest, 1, mpi_type(T()), > MPI_SUM,MPI_COMM_WORLD); > > | ^~~~~~~ > > ./gmm/gmm_matrix.h: In function ‘void gmm::mult_add(const > gmm::mpi_distributed_matrix<MAT>&, const V1&, V2&)’: > > ./gmm/gmm_matrix.h:1023:20: error: there are no arguments to ‘MPI_Wtime’ > that depend on a template parameter, so a declaration of ‘MPI_Wtime’ must > be available [-fpermissive] > > 1023 | double t_ref = MPI_Wtime(); > > | ^~~~~~~~~ > > ./gmm/gmm_matrix.h:1023:20: note: (if you use ‘-fpermissive’, G++ will > accept your code, but allowing the use of an undeclared name is deprecated) > > ./gmm/gmm_matrix.h:1026:21: error: there are no arguments to ‘MPI_Wtime’ > that depend on a template parameter, so a declaration of ‘MPI_Wtime’ must > be available [-fpermissive] > > 1026 | double t_ref2 = MPI_Wtime(); > > | ^~~~~~~~~ > > ./gmm/gmm_matrix.h:1028:19: error: ‘MPI_SUM’ was not declared in this scope > > 1028 | MPI_SUM,MPI_COMM_WORLD); > > | ^~~~~~~ > > ./gmm/gmm_matrix.h:1029:18: error: there are no arguments to ‘MPI_Wtime’ > that depend on a template parameter, so a declaration of ‘MPI_Wtime’ must > be available [-fpermissive] > > 1029 | tmult_tot2 = MPI_Wtime()-t_ref2; > > | ^~~~~~~~~ > > ./gmm/gmm_matrix.h:1032:17: error: there are no arguments to ‘MPI_Wtime’ > that depend on a template parameter, so a declaration of ‘MPI_Wtime’ must > be available [-fpermissive] > > 1032 | tmult_tot = MPI_Wtime()-t_ref; > > | ^~~~~~~~~ > > make[2]: *** [Makefile:941: dal_bit_vector.lo] Error 1 > > make[2]: Leaving directory '/risapps/build7/getfem-5.4.1/src' > > make[1]: *** [Makefile:577: all-recursive] Error 1 > > make[1]: Leaving directory '/risapps/build7/getfem-5.4.1' > > make: *** [Makefile:466: all] Error 2 > > > > I really appreciate your help. Thank you again ! > > > > Best Regards > > Jinzhen Chen > > > > > > *From: *Konstantinos Poulios <k...@mek.dtu.dk> > *Date: *Tuesday, November 30, 2021 at 1:53 AM > *To: *"Chen,Jinzhen" <jche...@mdanderson.org> > *Subject: *[EXT] Re: getfem installation > > > > *WARNING: *This email originated from outside of MD Anderson. Please > validate the sender's email address before clicking on links or attachments > as they may not be safe. > > > > Dear Jinzhen Chen, > > > > Thanks for your question. Yes you should be able to compile GetFEM, also > the parallel version of it on Redhat. I haven't tried it but there isn't > anything distribution specific in the GetFEM code. > > > > Having said that, the parallel version has not been tested very recently, > and it might need some performance fixes from our side, to get a good > scaling for Anne Ceciles problem. Having compiled the parallel version of > GetFEM on your cluster is a good starting point in any case to detect > bottlenecks. > > > > The tricky parts for building GetFEM are normally how to link to mumps, > metis and other dependencies. If you could send me the compilation errors > that you get, either on this address or on the getfem mailing list > getfem-users@nongnu.org I can try to help you to resolve the issues. > > > > As an additional reference, some time ago, when I asked our cluster > administrators to compile GetFEM they used the following configure options: > > > > $ ../configure CXX=mpicxx CC=mpicc FC=mpifort LIBS= > -L/zdata/groups/common/nicpa/2018-feb/generic/build-tools/1.0/lib > -L/zdata/groups/common/nicpa/2018-feb/generic/build-tools/1.0/lib64 > -L/zdata/groups/common/nicpa/2018-feb/generic/gcc/7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/generic/gcc/7.3.0/lib64 > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/zlib/1.2.11/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/generic/numactl/2.0.11/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/libxml2/2.9.7/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/hwloc/1.11.9/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/openmpi/3.0.0/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/parmetis/4.0.3/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/scalapack/204/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/openblas/0.2.20/gnu-7.3.0/lib > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/scotch/6.0.4/gnu-7.3.0/lib > -L/zdata/g > roups/common/nicpa/2018-feb/XeonX5550/mumps/5.1.2/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/generic/build-tools/1.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/generic/build-tools/1.0/lib64 > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/generic/gcc/7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/generic/gcc/7.3.0/lib64 > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/zlib/1.2.11/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/generic/numactl/2.0.11/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/libxml2/2.9.7/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/hwloc/1.11.9/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/openmpi/3.0.0/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/parmetis/4.0.3/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/scalapack/204/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/Xeon > X5550/openblas/0.2.20/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/scotch/6.0.4/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/mumps/5.1.2/gnu-7.3.0/lib > -lzmumps -ldmumps -lcmumps -lsmumps -lmumps_common -lpord -lesmumps > -lscotch -lscotcherr -lparmetis -lmetis > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/openblas/0.2.20/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/openblas/0.2.20/gnu-7.3.0/lib > -lopenblas --disable-openmp --enable-paralevel --enable-metis > --enable-par-mumps --enable-python --disable-boost --disable-matlab > --disable-scilab --with-blas= > -L/zdata/groups/common/nicpa/2018-feb/XeonX5550/openblas/0.2.20/gnu-7.3.0/lib > -Wl,-rpath=/zdata/groups/common/nicpa/2018-feb/XeonX5550/openblas/0.2.20/gnu-7.3.0/lib > -lopenblas --prefix=<change-here-for-your-installation-directory> > > > > Best regards > > Konstantinos > > > > On Tue, 2021-11-30 at 00:24 +0000, Chen,Jinzhen wrote: > > Dear Dr Konstantinos Poulios, > > > > My name is Jinzhen Chen, a HPC administrator on MD Anderson Cancer Center, > Houston, USA. I am helping a user (Dr. Lesage,Anne Cecile J) to install > getfem on our HPC cluster, which OS is rhel7.9. I got its basic > installed. However, When I tried to use option –enable-paralevel=2 of the > configure based onhttps://getfem.org/userdoc/parallel.html > <https://urldefense.com/v3/__https:/getfem.org/userdoc/parallel.html__;!!PfbeBCCAmug!ygWbJHCuteXJk48UUs0ySWQrr85DGqhePEiBMq7aoO3iDwtVzR_1URQh62UbmXurRzQ$>, > I kept getting compiling errors. Looks like some libraries are missing, not > visible or not compatible. I have metis and MUMPS installed on the system > and used openmpi/4.1.1 module. > > > > My question is it is possible to install the parallel version of getfem on > rhel7 ? if so, how can I contact developer or someone for the issues? I > really appreciate your help and am looking forward to hearing from you. > > > > Thank you very much ! > > > > *Regards* > > *Jinzhen Chen – HPC Team* > > *MD Anderson Cancer Center <http://www.mdanderson.org/>* > > *inside:Information Services > <http://inside.mdanderson.org/departments/information-services/> * > > *inside:**HPC Request <http://hpcrequest.mdanderson.edu/>* > > *Email: jche...@mdanderson.org <jche...@mdanderson.org> | Tel: > 713-745-6226* > > > > > > The information contained in this e-mail message may be privileged, > confidential, and/or protected from disclosure. This e-mail message may > contain protected health information (PHI); dissemination of PHI should > comply with applicable federal and state laws. If you are not the intended > recipient, or an authorized representative of the intended recipient, any > further review, disclosure, use, dissemination, distribution, or copying of > this message or any attachment (or the information contained therein) is > strictly prohibited. If you think that you have received this e-mail > message in error, please notify the sender by return e-mail and delete all > references to it and its contents from your systems. > > The information contained in this e-mail message may be privileged, > confidential, and/or protected from disclosure. This e-mail message may > contain protected health information (PHI); dissemination of PHI should > comply with applicable federal and state laws. If you are not the intended > recipient, or an authorized representative of the intended recipient, any > further review, disclosure, use, dissemination, distribution, or copying of > this message or any attachment (or the information contained therein) is > strictly prohibited. If you think that you have received this e-mail > message in error, please notify the sender by return e-mail and delete all > references to it and its contents from your systems. > > The information contained in this e-mail message may be privileged, > confidential, and/or protected from disclosure. This e-mail message may > contain protected health information (PHI); dissemination of PHI should > comply with applicable federal and state laws. If you are not the intended > recipient, or an authorized representative of the intended recipient, any > further review, disclosure, use, dissemination, distribution, or copying of > this message or any attachment (or the information contained therein) is > strictly prohibited. If you think that you have received this e-mail > message in error, please notify the sender by return e-mail and delete all > references to it and its contents from your systems. >
module load python3/3.8.11 module load mpi/4.1.1-gcc-10.3.0-binutils-2.36.1 module load mpi4py/3.0.3-python-3.8.11-openmpi-4.1.1 module load scipy/1.6.3-python-3.8.11 wget https://github.com/xianyi/OpenBLAS/releases/download/v0.3.18/OpenBLAS-0.3.18.tar.gz wget http://deb.debian.org/debian/pool/main/s/scalapack/scalapack_2.1.0.orig.tar.gz wget http://deb.debian.org/debian/pool/main/s/scotch/scotch_6.1.1.orig.tar.xz wget http://deb.debian.org/debian/pool/non-free/p/parmetis/parmetis_4.0.3.orig.tar.gz wget http://deb.debian.org/debian/pool/main/m/mumps/mumps_5.4.1.orig.tar.gz wget http://deb.debian.org/debian/pool/main/q/qhull/qhull_2020.2.orig.tar.gz wget http://download-mirror.savannah.gnu.org/releases/getfem/stable/getfem-5.4.1.tar.gz tar -zxf OpenBLAS-0.3.18.tar.gz tar -zxf scalapack_2.1.0.orig.tar.gz tar -xf scotch_6.1.1.orig.tar.xz tar -zxf parmetis_4.0.3.orig.tar.gz tar -zxf mumps_5.4.1.orig.tar.gz tar -zxf qhull_2020.2.orig.tar.gz tar -zxf getfem-5.4.1.tar.gz cd OpenBLAS-0.3.18/ CC=gcc make -j8 CC=gcc make PREFIX=$HOME/tmp_opt/openblas install cd ../scalapack-2.1.0/ sed '/^\(BLASLIB.*=\).*/ s//\1 $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' SLmake.inc.example | sed '/^\(LAPACKLIB.*=\).*/ s//\1 /' > SLmake.inc sed -i '/^\(NOOPT.*=.*-O0\)\(\>.*\)/s//\1 -fallow-argument-mismatch -fPIC\2/' SLmake.inc sed -i '/^\(FCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fallow-argument-mismatch -fPIC\2/' SLmake.inc sed -i '/^\(CCFLAGS.*=.*-O3\)\(\>.*\)/s//\1 -fPIC\2/' SLmake.inc sed -i '/^\(RANLIB.*=\).*/s//\1 echo/' SLmake.inc make -j1 mkdir -p $HOME/tmp_opt/scalapack/lib cp libscalapack.a $HOME/tmp_opt/scalapack/lib/ cd ../parmetis-4.0.3/ make config prefix=$HOME/tmp_opt/parmetis make -j4 make install cp build/Linux-x86_64/libmetis/libmetis.a $HOME/tmp_opt/parmetis/lib/ cp metis/include/metis.h $HOME/tmp_opt/parmetis/include/ cd ../scotch-6.1.1/src cp Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc sed -i '/^\(CC[SD].*=\).*/s//\1 mpicc/' Makefile.inc make -j4 scotch make -j4 esmumps make -j4 ptscotch make -j4 ptesmumps mkdir -p $HOME/tmp_opt/scotch cp -r ../lib $HOME/tmp_opt/scotch/ cp -r ../include $HOME/tmp_opt/scotch/ cd ../../MUMPS_5.4.1/ cp Make.inc/Makefile.inc.generic Makefile.inc sed -i '/^#\(SCOTCHDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/scotch/' Makefile.inc sed -i '/^#\(ISCOTCH.*\)=.*/s//\1 = -I$(SCOTCHDIR)\/include/' Makefile.inc sed -i '/^#\(LSCOTCH.*-lpt.*\)/s//\1 -lscotch/' Makefile.inc sed -i '/^#\(LMETISDIR.*\)=.*/s//\1 = $${HOME}\/tmp_opt\/parmetis\/lib/' Makefile.inc sed -i '/^#\(IMETIS.*\)=.*/s//\1 = -I$${HOME}\/tmp_opt\/parmetis\/include/' Makefile.inc sed -i '/^#\(LMETIS .*-lparmetis.*\)/s//\1/' Makefile.inc sed -i '/^#\(ORDERINGSF .*-Dparmetis.*\)/s//\1/' Makefile.inc sed -i '/^\(ORDERINGSF .*-Dpord$\)/s//#\1/' Makefile.inc sed -i '/^\(CC.*= \)\(cc\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(FC.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(FL.*= \)\(f90\)/s//\1mpi\2/' Makefile.inc sed -i '/^\(RANLIB .*ranlib.*\)/s//#\1/' Makefile.inc sed -i '/^#\(RANLIB .*echo.*\)/s//\1/' Makefile.inc sed -i '/^\(LAPACK.*=\).*/s//\1/' Makefile.inc sed -i '/^\(SCALAP.*=\).*/s//\1 $${HOME}\/tmp_opt\/scalapack\/lib\/libscalapack.a/' Makefile.inc sed -i '/^\(INCPAR.*=\).*/s//\1/' Makefile.inc sed -i '/^\(\LIBPAR.*=\).*/s//\1 $(SCALAP)/' Makefile.inc sed -i '/^\(LIBBLAS.*=\).*/s//\1 $${HOME}\/tmp_opt\/openblas\/lib\/libopenblas.a/' Makefile.inc sed -i '/^\(OPTF.*=.*\)-O\(\>.*\)/s//\1-fallow-argument-mismatch -O3 -fPIC\2/' Makefile.inc sed -i '/^\(OPT[CL].*=.*\)-O\(\>.*\)/s//\1-O3 -fPIC\2/' Makefile.inc make all mkdir -p $HOME/tmp_opt/mumps cp -r lib $HOME/tmp_opt/mumps/ cp -r include $HOME/tmp_opt/mumps/ cd ../qhull_2020.2/ make -j4 mkdir -p $HOME/tmp_opt/qhull mkdir -p $HOME/tmp_opt/qhull/lib mkdir -p $HOME/tmp_opt/qhull/include mkdir -p $HOME/tmp_opt/qhull/include/libqhull cp lib/libqhullstatic.a $HOME/tmp_opt/qhull/lib/libqhull.a cp src/libqhull/*.h $HOME/tmp_opt/qhull/include/libqhull/ cd ../getfem-5.4.1 sed -i '/^\(.*\/env \)python\($\)/s//\1python3\2/' bin/extract_doc PYTHONPATH=/appl/mpi4py/3.0.3-openmpi-4.1.1-gcc-10.3.0-binutils-2.36.1-python-3.8.11/lib/python3.8/site-packages/:$PYTHONPATH \ ./configure --prefix="$HOME/tmp_opt" \ LDFLAGS="-L$HOME/tmp_opt/mumps/lib -L$HOME/tmp_opt/parmetis/lib -L$HOME/tmp_opt/scalapack/lib -L$HOME/tmp_opt/scotch/lib -L$HOME/tmp_opt/qhull/lib" \ CPPFLAGS="-I$HOME/tmp_opt/mumps/include -I$HOME/tmp_opt/parmetis/include -I$HOME/tmp_opt/qhull/include" \ LIBS="-lmumps_common -lpord -lgfortran -lscalapack -lptesmumps -lptscotch -lptscotcherr -lscotch -lparmetis -lmetis -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh" \ --with-blas="$HOME/tmp_opt/openblas/lib/libopenblas.a" \ --with-pic --with-optimization=-O3 --disable-matlab --enable-python --enable-paralevel=2 make -j4 make install
Makefile.inc
Description: Binary data