Welcome, Guest
Username: Password: Remember me

TOPIC: Telemac v6p1 parallel compilation

Telemac v6p1 parallel compilation 12 years 10 months ago #3491

  • konsonaut
  • konsonaut's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 413
  • Thank you received: 144
Hello,

we are trying to compile Telemac with Intel Fortran XE 2011 and Metis 4.0.0 on a Windows 7 64 bit machine (Dell 5400) and get the following error during the compilation:

Building the who calls who tree for PARTEL and dependents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

xilib.exe /nologo /out:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\para
llelv6p1.lib partel.obj
xilib: executing 'lib'
- created C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\parallelv6p1.l
ib
xilib.exe /nologo /out:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\bief
v6p1.lib bief_def.obj bief.obj extens.obj time_in_seconds.obj
xilib: executing 'lib'
- created C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\biefv6p1.lib
xilink.exe /nologo /subsystem:console /stack:536870912 /nodefaultlib:libc.lib /o
ut:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\partel.exe partel.obj C
:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\biefv6p1.lib C:\opentelemac
\mpi\lib\fmpich2.lib C:\opentelemac\metis\libmetis.lib
xilink: executing 'link'
partel.obj : error LNK2019: unresolved external symbol METIS_PARTMESHDUAL refere
nced in function MAIN__
C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi\partel.exe : fatal error LN
K1120: 1 unresolved externals

C:\opentelemac\v6p1\pytel>

Thanks for any help!
Clemens
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3492

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi Clemens
I never used Pyhton script to compile telemac but as I know, your error message comes from the metis library which should not available or maybe not a 64bits version...

I made a full windows setup for telemac 6.1 which install all telemac for 32 et 64 bits on windows computer. It use perl and Intel Fortran XE2011. Maybe this could help you to solve your error?
The systel.ini file is a little bit different because I added a keyword for the metis library (This also induce a small change in parallel makefile). In this version, 32 et 64 bits version of metis was include.

Hope this helps
Christophe
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3496

  • konsonaut
  • konsonaut's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 413
  • Thank you received: 144
Hello Christophe,

thank you for the answer.
The whole installation or compilation of Telemac is a little bit confusing..perl procedure, python procedure, precompiled version..
So I can use the precompiled version as a base installation and if I want to recompile some directories or the whole system with updated Fortran files from the the svn repository I have to use the perl scripts or is the python procedure also possible?

Best regards,
Clemens
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3498

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi Clemens
I'm not sure the python scripts for compilation works in a similar way than perl scripts.
But nevertheless, you could use precompiled version as a basis for future compilation (even with python). You will probably have to adapt slightly the compilation of parallel library.
In the perl version, I added crt64.lib for the 64 bit version and I don't know how this will be take in account by python script...

Good luck
Christophe
The administrator has disabled public write access.
The following user(s) said Thank You: konsonaut

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3499

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
Just to confirm, yes it is possible to use the METIS libraries created by Christophe together with the Python Installation procedure.

Just update the following 2 lines of your config file (for the python procedure) with the appropriate location of that METIS library on your system.

incs_parallel: /include:C:\opentelemac\mpi\include
libs_parallel: C:\opentelemac\lib\libmetis.lib

Hope this helps,

Sébastien.
The administrator has disabled public write access.
The following user(s) said Thank You: konsonaut

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3502

  • cyamin
  • cyamin's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 997
  • Thank you received: 234
Hello,

I followed the procedure you described previously (using the compiled metis64.lib library) and I got the following error:
Building the who calls who tree for PARTEL and dependents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

xilib.exe /nologo /out:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\pa
rallelv6p1.lib partel.obj
xilib: executing 'lib'
   - created C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\parallelv6p1
.lib
xilib.exe /nologo /out:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\bi
efv6p1.lib bief_def.obj bief.obj extens.obj time_in_seconds.obj
xilib: executing 'lib'
   - created C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\biefv6p1.lib

xilink.exe /nologo /subsystem:console /stack:536870912 /nodefaultlib:libc.lib /o
ut:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\partel.exe partel.obj
 C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\biefv6p1.lib  C:\opentel
emac\mpich2\x86-64\lib\fmpich2.lib C:\opentelemac\v6p1\lib\metis64.lib
xilink: executing 'link'
LINK : fatal error LNK1104: cannot open file 'crt64.lib'

I have copied the crt64.lib file to the \parallel\parallel_v6p1\sources directory (the directory where I found it in the pre-compiled telemac installation), but it didn't make any difference and the error persists.

Any ideas?

Regards,
Costas
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3503

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi
That's logical because crt64.lib doesn't appear in the compilation command line.
You should probably add something to your python script

Hope this helps
Christophe
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3504

  • sebourban
  • sebourban's Avatar
  • OFFLINE
  • Administrator
  • Principal Scientist
  • Posts: 814
  • Thank you received: 219
Indeed, try adding it to the key libs_parallel in your config file (these are added to the command line by the python script). It is space delimited.

Note, to make sure modifications to your config file are taken into account when compiling, make sure you do clean build (modules: clean system)

Hope this helps.

Sébastien.
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3505

  • cyamin
  • cyamin's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 997
  • Thank you received: 234
Dear Christophe, Sebastien,

Thank you for your help.

I added the path to the crt64.lib file to the libs_parallel key in my configuration file. I also changed the modules from update system to clean system. However, I now get the following error:
Building the who calls who tree for GREDELMET_AUTOP and dependents
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

************non error listing omitted*************

xilink.exe /nologo /subsystem:console /stack:536870912 /nodefaultlib:libc.lib /o
ut:C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\gredelmet_autop.exe p_
exit.obj gredelmet_autop.obj  C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelm
pi64\biefv6p1.lib C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\special
v6p1.lib C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64\telemac2dv6p1.li
b  C:\opentelemac\mpich2\x86-64\lib\fmpich2.lib C:\opentelemac\v6p1\lib\metis64.
lib   C:\opentelemac\v6p1\lib\crt64.lib
xilink: executing 'link'
LIBCMT.lib(winsig.obj) : error LNK2005: signal already defined in crt64.lib(sign
al.obj)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __argc already defined in crt64.lib(_cr
t0dat.obj)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __argv already defined in crt64.lib(_cr
t0dat.obj)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __wargv already defined in crt64.lib(_c
rt0dat.obj)
LIBCMT.lib(crt0dat.obj) : error LNK2005: exit already defined in crt64.lib(exit.
obj)
LIBCMT.lib(crt0.obj) : error LNK2005: mainCRTStartup already defined in crt64.li
b(_crt0.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_a already defined in crt64.lib(_i
nitex.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xi_z already defined in crt64.lib(_i
nitex.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xt_a already defined in crt64.lib(_i
nitex.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: __xt_z already defined in crt64.lib(_i
nitex.obj)
crt64.lib(localeconv.obj) : error LNK2005: localeconv already defined in LIBCMT.
lib(lconv.obj)
C:\opentelemac\v6p1\parallel\parallel_v6p1\wintelmpi64gredelmet_autop.exe : fatal error LNK1169: one or more multiply defined symbols found

Regards,
Costas
The administrator has disabled public write access.

Re: Telemac v6p1 parallel compilation 12 years 10 months ago #3519

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi
As it seems to me, metis is only required to compile partel so I suppose crt64 is also required only for partel
Maybe you could try to link gretelxxx without those libraries

Hope this helps
Christophe
The administrator has disabled public write access.
Moderators: borisb

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