v6p3r1: undefined reference to `metis_partmeshdual_'

Hi, I’am beginning, apologies for naive questions.

v6p3r1

python

ubuntu Linux 3.5.0-44-generic (buildd@toyol) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) )

metis-5.1.0

gfortran (4.6.3)

openmpi 1.5.4

systel.cfg included

While compiling the parallel version (compileTELEMAC.py -c ubugfopenmpi),

step: Compiling the program [name removed] and dependents

generates the following error message

–

partitioner.o: In function `partitioner_':

partitioner.F:(.text+0x6c5): undefined reference to `metis_partmeshdual_’

collect2: ld a retourné 1 code d’état d’exécution

… The following command failed for the reason above

/usr/bin/mpif90 -fconvert=big-endian -frecord-marker=4 -lpthread -v -lm -o /opt/telemac/v6p3r1/builds/ubugfopenmpi/bin/partel_prelim partitioner.o partel_prelim.o -Wl,–start-group /opt/telemac/v6p3r1/builds/ubugfopenmpi/lib/utils/special/partel_prelim.lib /usr/lib/openmpi/lib/libmpi.so -Wl,–end-group

–

Recent similar post by [name removed] didn’t help me enough since her pbs seem to come from ifort.

Thank you!

h82d5bf8.cfg (2.1 KB)

Hi,

in your systel.cfg you need to add the path to partel to libs_partel and not libs_parallel.

Hope it helps.

1 Like

Many thanks [name removed] (a naive wrong copy&ll

paste).

Once corrected, the compiling step ended with no pb.

Alas first parallel test case (malpasset-small) generates a “segmentation fault”.

It comes from [group removed]:

/opt/telemac/v6p3r1/builds/ubugfopenmpi/bin/partel < PARTEL.PAR

yields:

–

NUMBER OF PARTITIONS [2 -100000]: INPUT: 2

PARTITIONING OPTIONS:

PARTITIONING METHOD [1 (metis) OR 2 (scotch)]: INPUT: 1

WITH SECTIONS? [1:YES 0:NO]: INPUT: 0

ONE-LEVEL MESH.

NDP NODES PER ELEMENT: 3

NPOIN NUMBER OF MESH NODES: 13541

NELEM NUMBER OF MESH ELEMENTS: 26000

THE INPUT FILE ASSUMED TO BE 2D SELAFIN

TIMESTEP: 0.0000000 S = 0.0000000 H

THERE ARE 1 TIME-DEPENDENT RECORDINGS

THERE IS 1 SOLID BOUNDARIES:

BOUNDARY 1 :

BEGINS AT BOUNDARY POINT: 1 , WITH GLOBAL NUMBER: 546

AND COORDINATES: 619.8345 5099.195

ENDS AT BOUNDARY POINT: 1 , WITH GLOBAL NUMBER: 546

AND COORDINATES: 619.8345 5099.195

THE MESH PARTITIONING STEP STARTS

BEGIN PARTITIONING WITH [name removed]

Erreur de segmentation (core dumped)

–

An idea… while I continue to check the [group removed] install.

Hello [name removed],

still same segfaut with more details after a complete re-install with the v6p3r1 systel.cfg file.

–

Program received signal 11 (SIGSEGV): Segmentation fault.

Backtrace for this error:

  • /lib/x86_64-linux-gnu/libc.so.6(+0x364a0) [0x7fe6b3e104a0]

  • function libmetis__CreateGraphDual (0x42D86F)

  • function METIS_MeshToDual (0x42DD7E)

  • function METIS_PartMeshDual (0x42EC8B)

  • function partitioner_ (0x401F25)

  • in the main program

    from file partel.F

  • /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fe6b3dfb76d]

Suggestions are welcome.

Thanks, PhL.

Hi

Before another full re-install of telemac, I would suggest you to make a new full compilation of [group removed] library as it seems the crash comes from this library…

Regards

1 Like

Hi, the problem is fixed.

As quoted by [name removed]:

  • it comes from [group removed] (5.1.0) compiled with #define IDXTYPEWIDTH 64 (in metis.h)

  • metis 5.1.0 and 5.0.2 work fine for #define IDXTYPEWIDTH 32.

Thanks, PhL.

Hi [name removed],

I saw your post and I think it might fix my problem as well. But before I make the change could you please advise on following.

I am working on cluster in linux with metis-5.1.0. I also compiled the [group removed] with IDXTYPEWIDTH 64. I thought that it should be 64 as cluster is not 32 bits. But looking at your post you mentioned that it should work with 32. My problem is that in parallel it works with one processor only and that is very slow. When I increase number of processors it gives me similar to yours PARTEL segmentation fault error message. Before I change it to 32 and recompile I just wanted to ask you if you had same problem and could not run on multiple processors and that fixed your problem as there are not much details on this on internet. Thanks in advance.

[name removed]

Hi [name removed],

as I wrote it in my previous post, our current configuration works fine and provides the expected run-time improvements while running in parallel (at least 2 processors and 16 cores but with no hyperthreading).

Our machine+compiler support 64 bit integers but metis-5.1.0 only woks (at least in our case) defining IDXTYPEWIDTH 32.

I suggest to try it of course!

Best wishes, PhL.

1 Like

Thanks a mil PhL. I definitely will try as I cannot find any other solutions and I also use metis-5.1.0. I would do it right now but I already have 5 cases running, on 1 processor :frowning: unfortunately, for many days so I am afraid if I start recompile the whole system now then they might corrupt. I prefer to wait until they stop and try solution to your case. Thank you very much for your reply.

[name removed]

Hi,

I’m trying to compile telemac v8p5 on Ubuntu but I’m running into a similar problem to [name removed] when compiling. In short, when using source pysource.gfortranHPC.sh to compile, I get the following error message:

/usr/bin/ld: /home/dannycoles/modelling/telemac-mascaret/builds/gfortranHPC/lib/libpartel4api.a(c_binding.o): in function `__c_binding_MOD_mymetis_partmeshdual’:

c_binding.[name removed]): undefined reference to `METIS_PartMeshDual’

collect2: error: ld returned 1 exit status

Traceback (most recent call last):

File “/home/dannycoles/modelling/telemac-mascaret/scripts/python3/compile_telemac.py”, line 152, in

main()

File “/home/dannycoles/modelling/telemac-mascaret/scripts/python3/compile_telemac.py”, line 139, in main

compile_cmdf(options.ncsize, modules, options.verbose)

File “/home/dannycoles/modelling/telemac-mascaret/scripts/python3/compilation/compil_tools.py”, line 1330, in compile_cmdf

found_exe = create_exe_files(item, mod,

File “/home/dannycoles/modelling/telemac-mascaret/scripts/python3/compilation/compil_tools.py”, line 472, in create_exe_files

raise TelemacException(\

I have attached my systel and config files. Any help with this issue greatly appreciated.

[name removed]

systel.dc.cfg (1.52 KB)

Uploading config file in suitable format…

config.txt attached

config.txt (2.59 KB)