Welcome, Guest
Username: Password: Remember me

TOPIC: systel.cfg (gfortran and openMPI under Ubuntu)

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33744

  • mourad
  • mourad's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 155
  • Thank you received: 6
Hello Community

2 years ago I've succefully compiled telemac on ubuntu
I have gfortran and openMPI but not numps
Could you tell me please what is wrong in my systel file attached to this post. I think the problem is Nestor (I don't realy need it).
Any kind of help will be appreciated
Bellow the the error:

compileTELEMAC::createObjFiles:
+> failed: gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api /home/mourad/telemac/v8p0r1/sources/nestor/calculate_planarlevel.f
... The following command failed for the reason above (or below)
gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api /home/mourad/telemac/v8p0r1/sources/nestor/calculate_planarlevel.f:
/home/mourad/telemac/v8p0r1/sources/nestor/intpol_z_angular_profils.f:15:37:

USE m_Interfaces_Nestor, ONLY : Intersection
1
Error: Symbol ‘intersection’ referenced at (1) not found in module ‘m_interfaces_nestor’
/home/mourad/telemac/v8p0r1/sources/nestor/intpol_z_angular_profils.f:16:38:

& , ErrMsgAndStop
1
Error: Symbol ‘errmsgandstop’ referenced at (1) not found in module ‘m_interfaces_nestor’

Regards
Mourad
Attachments:
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33745

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Did you run:
<code>compile_telemac.py --clean</code>

That can solve the issue.
By the way for your parallel configuration you'all also have to move the link to metis in libs_all.

Hope it helps
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33747

  • mourad
  • mourad's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 155
  • Thank you received: 6
I've used compileTELEMAC.py --clean instead compileTELEMAC.py but the error is here again.
--clean option is just used to re-compile the hole TELEMAC suite (delete all the already compiled modules and do the work again).

Could you tell me what you mean by "move the link to metis in libs_all"
Regards
Mourad
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33751

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
So first you need to remove the -nestor in system.
Nestor is mandatory.
And rerun compilation.

As for the other point in your configuration ubugfompi
replace:
libs_partel:        ~/telemac/v8p0r1/optionals/metis-5.1.0/build/Linux-x86_64/libmetis/libmetis.a
libs_all:           ~/.openmpi/lib/libmpi.so

by
libs_all:        ~/telemac/v8p0r1/optionals/metis-5.1.0/build/Linux-x86_64/libmetis/libmetis.a ~/.openmpi/lib/libmpi.so

same for the incs_*
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.
The following user(s) said Thank You: mourad

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33752

  • mourad
  • mourad's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 155
  • Thank you received: 6
got improvement of the run compileTELEMAC.py --clean, thank you a lot for the suggestions.
However I still have some errors, could you please look to the log bellow ?
You suggest the same replacements for the incs_ that I did for libs_ but

there is no incs_all and incs_partel in my systel file (see attached)? Do you mean putting the contents of incs_special, incs_parallel and incs_bief in incs_all ?

Regards

log_Compile:
Hummm ... I could not complete my work.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compileTELEMAC::createObjFiles:
+> failed: gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api gcc -c -cpp <srcName> -o <objetName> /home/mourad/telemac/v8p0r1/sources/api/api_handle_error.f
... The following command failed for the reason above (or below)
gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api gcc -c -cpp <srcName> -o <objetName> /home/mourad/telemac/v8p0r1/sources/api/api_handle_error.f:
Attachments:
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33753

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Moving the incs will solve that error:
You need to replace:
incs_special:       -I ~/.openmpi/include/
incs_parallel:      -I ~/.openmpi/include/
incs_bief:          -I ~/.openmpi/include/
by
incs_all:       -I ~/.openmpi/include/

Another solution to simplify is to use mpif90 instead of gfortran in the parallel configuration then you do not need to add the inlude and the lib for mpi.

Your configuration would look like that:
[ubugfompi]
#
brief: parallel mode, using mpiexec directly (of the 2 package).
       The only difference with the scalar versions (optimised) is the presence
       of the key mpi_cmdexec and the -DHAVE_MPI compilation directive.
       Of course, you also need the key par_cmdexec.
       Finally, note that this configuration also works whether
       processor is 0 or 1.
#
mpi_cmdexec:   ~/.openmpi/bin/mpiexec -wdir <wdir> -n <ncsize> <exename>
#
cmd_obj:    ~/.openmpi/bin/mpif90 -c -cpp -O3 -DHAVE_MPI -fconvert=big-endian -frecord-marker=4 <mods> <incs> <f95name>
incs_all:
#
libs_all: ~/telemac/v8p0r1/optionals/metis-5.1.0/build/Linux-x86_64/libmetis/libmetis.a 

By the way you should be using the mpiexec from the mpi you compiled with. I changed that in the configuration.
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.
The following user(s) said Thank You: mourad

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33754

  • mourad
  • mourad's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 155
  • Thank you received: 6
Thank you a lot again
Still the same error, its really hard to compile TELEMAC even I've installed 3times before (2015, 2016 et end of 2018).
Please could you look again in the attached systel file. I attached the .bashrc file too? may be I forgot something !


Hummm ... I could not complete my work.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

compileTELEMAC::createObjFiles:
+> failed: gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api gcc -c -cpp <srcName> -o <objetName> /home/mourad/telemac/v8p0r1/sources/api/api_handle_error.f
... The following command failed for the reason above (or below)
gfortran -cpp -c -O3 -fconvert=big-endian -frecord-marker=4 -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/special -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/damocles -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/hermes -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/parallel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/bief -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/waqtel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/nestor -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/ad -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/tomawac -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/sisyphe -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/khione -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac2d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/gretel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/utils/partel -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/artemis -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/telemac3d -I /home/mourad/telemac/v8p0r1/builds/ubugfortrans/obj/api gcc -c -cpp <srcName> -o <objetName> /home/mourad/telemac/v8p0r1/sources/api/api_handle_error.f:
Attachments:
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33755

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
The real error message is missing from what you put.
It should be above or below the text you added.
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

systel.cfg (gfortran and openMPI under Ubuntu) 5 years 5 months ago #33756

  • mourad
  • mourad's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 155
  • Thank you received: 6
Well I removed the scalar mode (gfortran dose not work well!) and the Mascaret module cause it needs cmd_objet_c ....
Now it works
Thanks
The administrator has disabled public write access.
Moderators: borisb

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.