Welcome, Guest
Username: Password: Remember me

TOPIC: Installation on CentOS cluster - Library missing: artemis4api

Installation on CentOS cluster - Library missing: artemis4api 1 year 4 months ago #42841

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
Hi,

I'm working on a CentOS cluster where Telemac V7 is working. Since I want to use the new version, I was trying to install V8P4R0. I've managed to install the dependencies:
Metis 5.1.0 (with Gklib)
HDF5 1.10.3
med4.0.0

However, when I was trying to compile it, I encounter the following problem:
Library missing:
        artemis4api
I tried to search on the forum but I did not find anything about it.
Any help will be grateful. In case you need it, I've attached a log of the compilation process.

Best,
Cristian
Attachments:
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42973

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
Hi,

I tried with a different compiler and now the only way that works is by setting :
module -mascaret

When I tried to use also Mascaret, I got a lot of undefined references. I've attached the log of the compilation, but the end of the log is:
collect2: error: ld returned 1 exit status
Traceback (most recent call last):
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/compile_telemac.py", line 142, in <module>
    main()
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/compile_telemac.py", line 129, in main
    compile_cmdf(options.ncsize, modules, options.verbose)
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/compilation/compil_tools.py", line 1301, in compile_cmdf
    bypass, homeres, verbose)
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/compilation/compil_tools.py", line 486, in create_exe_files
    'Could not link your executable. ' \
utils.exceptions.TelemacException: Could not link your executable. Please verify your external library installation or the python script itself

Any help with this?
Attachments:
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42976

  • pham
  • pham's Avatar
  • OFFLINE
  • Administrator
  • Posts: 1559
  • Thank you received: 602
Hello Christian,

Do you really need to use mascaret? If not, you can use what you have already done: modules: system -mascaret. A good workaround.

If you want it, there may be an issue your systel.cfg file. I would suggest to look at one config from systel.edf.cfg (e.g. gaia.intel.dyn or cronos.intel.dyn if using intel compiler or gaia.gnu.dyn or cronos.gnu.dyn if using gnu compiler). Have you specified something for cmd_obj_c?

Hope this helps,

Chi-Tuan
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42979

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
Hi Chi-Tuan,

Thanks for your answer. For now, I will only need Telemac3D so I think I'm good. However, I'm having another problem.

The examples on the folder Telemac3D run without problems on serial mode. However, when I try to use parallel mode, I got an error:
     +> /home/crojas/Downloads/telemac-mascaret/builds/cluster/bin/partel  < PARTEL.PAR >> partel_T3DGEO.log
/bin/sh: PARTEL.PAR: No such file or directory
Traceback (most recent call last):
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/telemac3d.py", line 7, in <module>
    main('telemac3d')
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/runcode.py", line 288, in main
    run_study(cas_file, code_name, options)
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/execution/run_cas.py", line 171, in run_study
    run_hpc_cas(my_study, options)
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/execution/run_cas.py", line 118, in run_hpc_cas
    my_study.partionning(options.use_link)
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/execution/study.py", line 429, in partionning
    run_partition(parcmd, self.cas, g_geo, g_fmt_geo, g_conlim,
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/execution/run.py", line 51, in run_partition
    run_partel(partel, geom, fmtgeom, conlim, ncsize, False,
  File "/home/crojas/Downloads/telemac-mascaret/scripts/python3/execution/run.py", line 132, in run_partel
    log = "No log available check command:\n"+par_cmd
TypeError: can only concatenate str (not "list") to str

I've tried the solutions that are described here and here but so far no luck. What else can I try?

Thanks,
Cristian
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42984

  • pham
  • pham's Avatar
  • OFFLINE
  • Administrator
  • Posts: 1559
  • Thank you received: 602
Hello again Christian,

My single idea is to check in the systel.cfg you use that partel.par is written in lower case rather than uppercase PARTEL.PAR

par_cmdexec: srun -n 1 -N 1 <config>/partel < <partel.par> >> <partel.log>

as it is done in systel.edf.cfg

I am not an installation specialist, it will be difficult to help you more if it is not enough, sorry.

Chi-Tuan
The administrator has disabled public write access.
The following user(s) said Thank You: crojas

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42986

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
So the command you provide is slightly different that the one recommended in other thread. Your is:
par_cmdexec: srun -n 1 -N 1 <config>/partel < <partel.par> >> <partel.log>
while on the other threads, they just say to change the partel.par to lowercase.
par_cmdexec: <config>/partel < < PARTEL.PAR > >> <partel.log>
Anyway, when I tried to use your recommendation, I got:
The following command failed for the reason in the listing
srun /home/crojas/Downloads/telemac-mascaret/builds/cluster/bin/partel < partel_T3DGEO.par >> partel_T3DGEO.log
and it gives me a log (attached). But the end of the log says:
ERROR: TRY TO RUN PARTEL WITH A SERIAL CONFIGURATION

Thanks for your help. I'll wait to see if anyone has another suggestion.

Best,
Cristian
Attachments:
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42987

  • pham
  • pham's Avatar
  • OFFLINE
  • Administrator
  • Posts: 1559
  • Thank you received: 602
Have you added MPI flag -DHAVE_MPI for obj_flags?
It is needed to run in parallel.
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42988

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
The only place where I have that flag is here:
cmd_obj:    gfortran -c -cpp -O3 -DHAVE_MPI -fconvert=big-endian -frecord-marker=4 <mods> <incs> <f95name>

Is that correct?
I've attached my config file in case you want to see it.
Attachments:
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 1 year 3 months ago #42990

  • pham
  • pham's Avatar
  • OFFLINE
  • Administrator
  • Posts: 1559
  • Thank you received: 602
I strongly recommend you to look at $HOMETEL/configs/systel.edf.cfg as I know that these cluster configurations (e.g. cronos.intel.dyn or gaia.intel.dyn) work.

Try to start with the same choices, e.g.:
options: mpi hpc
mpi_cmdexec: mpirun -np <ncsize> <exename>
mpif90 rather than f90
etc.

It is often recommended to use -O2 rather than -O3 as this last one may be too much.
The administrator has disabled public write access.

Installation on CentOS cluster - Library missing: artemis4api 9 months 2 weeks ago #44129

  • crojas
  • crojas's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
  • Thank you received: 1
Hi Chi-Tuan,

This is old but since I did manage to solve my configurations, I just want to add my solution here, since I know others have encountered the same problem.

To give context. I compiled the last version of Telemac and it worked in serial mode. However, in parallel mode fails.
I keep getting an error:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
partel 00000000005182D1 tbk_trace_stack_i Unknown Unknown
partel 000000000051640B tbk_string_stack_ Unknown Unknown
partel 00000000004CC444 Unknown Unknown Unknown

What it works for me (HPC):

1.- Remove par_cmdexec from the systel file: delete the line (otherwise, parallel processing will crash with a message that says cannot find PARTEL.PAR):
par_cmdexec: <config>/partel < PARTEL.PAR >> <partel.log>

2.- The Metis library could be problematic.
I downloaded the library from here (as far as I know, the official website) (5.1.0) and compiled it with the same compiler that I would use later to compile Telemac.

3.- I modified the path in the SYSTEL and the PYSOURCE file to this metis library.
4.- Do a clean compilation.

If still does not work for someone, I suggest following the suggestion of the user langlois from this thread.

Cristian
The administrator has disabled public write access.
The following user(s) said Thank You: pham
Moderators: borisb

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