Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

All questions about installation
Forum rules
Please read the forum usage recommendations before posting.
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

Hello,

As I need to perform some thermal-fluid coupled calculation, and as the Windows builds of Syrthes and Saturne don't permit this for the moment, I've choosen to install a Linux virtual machine on my workstation and then build and install Syrthes and Saturne.

The virtual machine is build on VirtualBox and running Xubuntu 15.10.

I've downloaded from EDF site CS 4.2.1 and Syrthes 4.3.1

based on this topic : http://code-saturne.org/forum/viewtopic ... de+syrthes

I've installed all the asked librairies from synaptic except :
lib32icu48, who doesn't exist anymore
libcppunit, replaced by libcppunit-1.13-0v5

after installing syrthes, there is some error, but due to the path to ple not defined for the moment, as Code_saturne is not installed for the moment.

I've sourced the syrthes.profile

When trying to test Syrthes, typing

Code: Select all

syrthes.gui
the following error appears :

Code: Select all

/home/jbl/syrthes4.3.0/arch/Linux_x86_64/lib/syrthes-GUI_exe/SyrthesMain: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
when looking in synaptic, the following appear :

Code: Select all

jbl@VM-CAO-S81-BA:~/syrthes4.3.0/arch/Linux_x86_64/bin$ sudo apt-get install libssl0.9.8:i386
Mot de passe [sudo] pour jbl : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Aucune version du paquet libssl0.9.8:i386 n'est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu'il est devenu obsolète
ou qu'il n'est disponible que sur une autre source

E: Le paquet « libssl0.9.8:i386 » n'a pas de version susceptible d'être installée

(sorry for the french...)

I've fixed the problem using a symbolic link to the Salome install

Code: Select all

sudo ln /home/jbl/salome/Salome-V7_7_1-x86_64/prerequisites/debianForSalome/lib/libssl.so.0.9.8 /usr/lib/libssl.so.0.9.8
The same problem occur with libcrypto.so.0.9.8, fixed in the same way :

Code: Select all

sudo ln /home/jbl/salome/Salome-V7_7_1-x86_64/prerequisites/debianForSalome/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.0.9.8
then Syrthes complain about "liblapack.so.3gf" :

Code: Select all

jbl@VM-CAO-S81-BA:~/syrthes4.3.0/arch/Linux_x86_64/bin$ syrthes.gui
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/cx_Freeze/initscripts/Console.py", line 27, in <module>
  File "SyrthesMain.py", line 16, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/__init__.py", line 132, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/add_newdocs.py", line 9, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/lib/__init__.py", line 13, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/lib/polynomial.py", line 17, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/linalg/__init__.py", line 47, in <module>
  File "/usr/lib/pymodules/python2.6/numpy/linalg/linalg.py", line 22, in <module>
  File "ExtensionLoader_numpy_linalg_lapack_lite.py", line 11, in <module>
ImportError: liblapack.so.3gf: cannot open shared object file: No such file or directory
Searching on synaptic, I found "liblapack3gf" package and install it.

Then, Syrthes gui start. :D

Now, let's try a tutorial.
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

So,

The cas_3disks3d tutorial works fine on both serial and parrallel.

Now, let's install Code_Saturne!
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

The Code_saturne build didn't run as smooth as expected...

I've created a build directory, then open a terminal in and run :

Code: Select all

jbl@VM-CAO-S81-BA:~/CS4.2.1$ /home/jbl/code_saturne-4.2.1/configure \
--with-mpi=/home/jbl/syrthes4.3.0/extern-libraries/opt/openmpi-1.8.3/arch/Linux_x86_64 \
--with-metis=/home/jbl/syrthes4.3.0/extern-libraries/opt/metis-5.1.0/arch/Linux_x86_64 \
--with-scotch=/home/jbl/syrthes4.3.0/extern-libraries/opt/scotch_6.0.3/arch/Linux_x86_64 \
--with-hdf5=/home/jbl/syrthes4.3.0/extern-libraries/opt/hdf5-1.8.14/arch/Linux_x86_64 \
--with-med=/home/jbl/salome/Salome-V7_7_1-x86_64/tools/Medfichier-310 \
--with-cgns=/home/jbl/salome/Salome-V7_7_1-x86_64/prerequisites/Cgnslib-3134
in order to use Syrthes's libraries

The configuration script run and tell me at the end:

Code: Select all

Configuration options:
 use debugging code: no
 MPI (Message Passing Interface) support: yes
 OpenMP support: no

The package has been configured. Type:
 make
 make install

To generate and install the PLE package


Configuration options:
 use debugging code: no
 use malloc hooks: no
 use graphical user interface: yes
 use long global numbers: yes
 Zlib (gzipped file) support: yes
 MPI (Message Passing Interface) support: yes
   MPI I/O support: yes
   MPI2 one-sided communication support: yes
   MPI3 neighborhood collectives support: yes
 OpenMP support: yes
 OpenMP Fortran support: yes
 BLAS (Basic Linear Algebra Subprograms) support: no
 Libxml2 (XML Reader) support: yes
 ParMETIS (Parallel Graph Partitioning) support: no
 METIS (Graph Partitioning) support: yes
 PT-SCOTCH (Parallel Graph Partitioning) support: yes
 CCM support: no
 HDF (Hierarchical Data Format) support: yes
 CGNS (CFD General Notation System) support: yes
 MED (Model for Exchange of Data) support: yes
   MED MPI I/O support: no
 MEDCoupling support: no
 Catalyst (ParaView co-processing) support: no
 EOS support: no
 freesteam support: no
 CoolProp support: no
 PETSc support: no
 SALOME GUI support: yes
 SALOME Kernel support: yes
 Dynamic loader support (for YACS): dlopen

The package has been configured. Type:
 make
 make install

To generate and install the Code_Saturne kernel
then, in the build directory, I type

Code: Select all

make -j 4
the compiling process start, and ends quickly with :

Code: Select all

Makefile:1235: recipe for target 'libcsrenumber_la-cs_renumber.lo' failed
make[3]: *** [libcsrenumber_la-cs_renumber.lo] Error 1
make[3]: *** Attente des tâches non terminées....
libtool: link: (cd .libs/libcscore.lax/libcscorep.a && ar x "/home/jbl/CS4.2.1/src/base/./.libs/libcscorep.a")
libtool: link: (cd .libs/libcscore.lax/libfvm.a && ar x "/home/jbl/CS4.2.1/src/base/../../src/fvm/.libs/libfvm.a")
libtool: link: ar cru .libs/libcscore.a .libs/cs_all_to_all.o .libs/cs_block_dist.o .libs/cs_block_to_part.o .libs/cs_crystal_router.o .libs/cs_defs.o .libs/cs_file.o .libs/cs_fp_exception.o .libs/cs_interface.o .libs/cs_io.o .libs/cs_log.o .libs/cs_math.o .libs/cs_map.o .libs/cs_order.o .libs/cs_part_to_block.o .libs/cs_system_info.o .libs/cs_timer.o   .libs/libcscore.lax/libcscorep.a/libcscorep_la-cs_base.o  .libs/libcscore.lax/libfvm.a/fvm_selector_postfix.o .libs/libcscore.lax/libfvm.a/fvm_box_tree.o .libs/libcscore.lax/libfvm.a/fvm_triangulate.o .libs/libcscore.lax/libfvm.a/fvm_group.o .libs/libcscore.lax/libfvm.a/fvm_defs.o .libs/libcscore.lax/libfvm.a/fvm_nodal.o .libs/libcscore.lax/libfvm.a/fvm_periodicity.o .libs/libcscore.lax/libfvm.a/fvm_hilbert.o .libs/libcscore.lax/libfvm.a/fvm_morton.o .libs/libcscore.lax/libfvm.a/fvm_nodal_append.o .libs/libcscore.lax/libfvm.a/fvm_tesselation.o .libs/libcscore.lax/libfvm.a/fvm_point_location.o .libs/libcscore.lax/libfvm.a/fvm_nodal_order.o .libs/libcscore.lax/libfvm.a/fvm_box.o .libs/libcscore.lax/libfvm.a/fvm_neighborhood.o .libs/libcscore.lax/libfvm.a/fvm_io_num.o .libs/libcscore.lax/libfvm.a/fvm_selector.o .libs/libcscore.lax/libfvm.a/fvm_nodal_from_desc.o .libs/libcscore.lax/libfvm.a/fvm_convert_array.o .libs/libcscore.lax/libfvm.a/fvm_nodal_triangulate.o .libs/libcscore.lax/libfvm.a/fvm_nodal_extract.o .libs/libcscore.lax/libfvm.a/fvm_nodal_extrude.o .libs/libcscore.lax/libfvm.a/fvm_nodal_project.o .libs/libcscore.lax/libfvm.a/fvm_trace.o 
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib .libs/libcscore.a
libtool: link: rm -fr .libs/libcscore.lax
libtool: link: ( cd ".libs" && rm -f "libcscore.la" && ln -s "../libcscore.la" "libcscore.la" )
make[3]: Leaving directory '/home/jbl/CS4.2.1/src/base'
Makefile:895: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/jbl/CS4.2.1/src'
Makefile:1286: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/jbl/CS4.2.1'
Makefile:820: recipe for target 'all' failed
make: *** [all] Error 2
jbl@VM-CAO-S81-BA:~/CS4.2.1$ 

Does anybody know what is wrong?
What file should I give in order to get some help??

Thanks a lot...

JB
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

I've forgotten to join the config.log.

Here it is
Attachments
config.log
(260.38 KiB) Downloaded 291 times
Yvan Fournier
Posts: 4070
Joined: Mon Feb 20, 2012 3:25 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by Yvan Fournier »

Hello,

Your error messages start with:
Makefile:1235: recipe for target 'libcsrenumber_la-cs_renumber.lo' failed
make[3]: *** [libcsrenumber_la-cs_renumber.lo] Error 1
make[3]: *** Attente des tâches non terminées....
libtool: link: (cd .libs/libcscore.lax/libcscorep.a && ar x "/home/jbl/CS4.2.1/src/base/./.libs/libcscorep.a")
So it seems the most interesting part might be a bit before this.

Could you re-post a "longer" copy of your "make" output (or redirect it to a file and post that using "make > make.log 2>&1") ?

Regards,

Yvan
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

Hello

Thanks Yvan for your help.

Here is the make.log file.

Regards

JB
Attachments
make.log
(7.7 KiB) Downloaded 315 times
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

Checking make.log and config.log, the error seems to be from a version mistake of Scotch and PT-scotch.

I've indicated in the configure command :

Code: Select all

--with-scotch=/home/jbl/syrthes4.3.0/extern-libraries/opt/scotch_6.0.3/arch/Linux_x86_64 \
in order to get the same librairy as Syrthes, and by the way a version >= 6.0
But on my system, there is in usr/lib a version 5.1 of PT-Scotch.

I suppose Saturne try to use PT-scotch instead of Scotch, and then use a too old version.

Is there a way to "force" Saturne to use Scotch from the Syrtes install instead of the one in /usr ?

Yvan, do you see any other mistake?

Regards,

JB
Yvan Fournier
Posts: 4070
Joined: Mon Feb 20, 2012 3:25 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by Yvan Fournier »

Hello,

This seems to be a bug in our configure tests, related to testing for ptscotch.h in a secondary subdirectory when not initially found, but which should be done only when looking for scotch in /usr.

There is no good solution to this except fixing the test in m4/cs_scotch.m4, line 111, and replacing:
if test "x$cs_have_ptscotch_header" = "xno" ; then
with:
if test "x$cs_have_ptscotch_header" = "xno" -a "$SCOTCH_CPPFLAGS" = "-I/usr/include" ; then
Then re-running ./sbin/bootstrap in the sources (assuming you have autotools installed).

An alternative quick and dirty solution may also be to simply edit the pre-generated configure file, and starting at line 23350, remove the following block:

Code: Select all

  if test "x$cs_have_ptscotch_header" = "xno" ; then
    unset ac_cv_header_ptscotch_h
    CPPFLAGS="$saved_CPPFLAGS -I/usr/include/scotch $MPI_CPPFLAGS"
    for ac_header in ptscotch.h
do :
  ac_fn_c_check_header_compile "$LINENO" "ptscotch.h" "ac_cv_header_ptscotch_h" "#include <stdio.h>
                      #include <stdint.h>
                      #include <mpi.h>
"
if test "x$ac_cv_header_ptscotch_h" = x""yes; then :
  cat >>confdefs.h <<_ACEOF
#define HAVE_PTSCOTCH_H 1
_ACEOF
 cs_have_ptscotch_header=yes
                      SCOTCH_CPPFLAGS=-I/usr/include/scotch
fi

done
Hoping this works.

Regards,

Yvan
jb_l
Posts: 31
Joined: Wed Aug 26, 2015 4:49 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by jb_l »

Yvan,

I've removed from my system the "old" version of scotch and PT-scotch, using synaptic.

After that, I've used the second solution you proposed, and then run "configure" and "make"
There is still some errors :

Code: Select all


/usr/bin/ld: /home/jbl/syrthes4.3.0/extern-libraries/opt/scotch_6.0.3/arch/Linux_x86_64/lib/libscotch.a(library_graph.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/home/jbl/syrthes4.3.0/extern-libraries/opt/scotch_6.0.3/arch/Linux_x86_64/lib/libscotch.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:783: recipe for target 'libsaturne.la' failed
make[3]: *** [libsaturne.la] Error 1
make[3]: *** Attente des tâches non terminées....
mv -f .deps/cs_io_dump-cs_io_dump.Tpo .deps/cs_io_dump-cs_io_dump.Po
make[3]: Leaving directory '/home/jbl/CS4.2.1/src/apps'
Makefile:895: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/jbl/CS4.2.1/src'
Makefile:1286: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/jbl/CS4.2.1'
Makefile:820: recipe for target 'all' failed
make: *** [all] Error 2
Please find enclosed the confing.log and the make.log

Hope you can find a solution...

Regards

JB
Attachments
make.log
(1.25 MiB) Downloaded 314 times
config.log
(253.61 KiB) Downloaded 302 times
Yvan Fournier
Posts: 4070
Joined: Mon Feb 20, 2012 3:25 pm

Re: Installing CS 4.2.1 and Syrthes 4.3.0 on Xubuntu 15.10

Post by Yvan Fournier »

Hello,

Yes, I had forgotten that the version of Scotch built with Syrthes has static libraries only.

You have several solutions (as you removed the version in Synaptic, you do not need the changes I suggested before):

1) Build Code_Saturne static only (add --disable-shared to the configure line)

2) Build PT-Scotch for Code_Saturne instead of using the one from Syrthes (the automated installer "install_saturne.py" can do this for you, setting the correct options, so it is quite simple to do)

3) Do not use PT-Scotch, just the built-in Morton or Hilbert-curved based partitioning (might lead to slightly lower performance, but should not have a huge impact on a reduced number of ranks)

I recommend the second option (though I need to run updated performance comparisons for option 3), which is the simplest option.

Regards,

Yvan
Post Reply