Configure Pylith on bridge cluster (PSC)

Hi all,

I am having trouble compiling the Pylith on the bridge cluster (PSC). I got the following error I assume it is asscoated with hdf5 library. I am configure it with the following command:

$HOME/src/pylith/pylith-installer-2.2.1-1/configure --prefix=$HOME/build/pylith --enable-force-install

The error message is the following:
PGC-I-0162-Not equal test of loop control variable n replaced with < or > test. (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: 133)
PGC-I-0162-Not equal test of loop control variable n replaced with < or > test. (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: 133)
PGC-I-0162-Not equal test of loop control variable n replaced with < or > test. (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: 310)
PGC-I-0162-Not equal test of loop control variable n replaced with < or > test. (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: 310)
PGC-I-0162-Not equal test of loop control variable n replaced with < or > test. (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: 310)
PGC-I-0222-Redundant definition for symbol extension (…/…/hdf5-1.8.11p2/src/H5Ztrans.c: -1)
PGC-I-0222-Redundant definition for symbol extension (/usr/include/sys/cdefs.h: 358)
CCLD libhdf5.la
/usr/bin/ld: .libs/H5.o: relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC .libs/H5.o: error adding symbols: Bad value make[6]: *** [libhdf5.la] Error 2 make[6]: Leaving directory/home/xm12345/build/pylith/hdf5-build/src’
make[5]: *** [all] Error 2
make[5]: Leaving directory /home/xm12345/build/pylith/hdf5-build/src' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory/home/xm12345/build/pylith/hdf5-build’
make[3]: *** [hdf5] Error 2
make[3]: Leaving directory /home/xm12345/build/pylith' make[2]: *** [installed_hdf5] Error 2 make[2]: Leaving directory/home/xm12345/build/pylith’
make[1]: *** [installed_netcdf] Error 2
make[1]: Leaving directory `/home/xm12345/build/pylith’
make: *** [installed_pylith] Error 2


Best,
Xiao

We need more information to provide guidance.

Why are you using the --enable-force-install? Are some of the dependencies already present? This can cause problems.

Are you using MPI setup for the cluster hardware? Are you using the same compiler that was used to build MPI?

Googling the error PGC-I-0222-Redundant definition for symbol extension suggests you may need to tune some of the environment variables to get HDF5 to compile with the Portland compiler. For example, see https://www.pgroup.com/userforum/viewtopic.php?t=4868.

Hi Brad,

Without the --enable-force-install I got the following configuration error:


checking for proj… /usr/bin/proj

checking for unzip… /usr/bin/unzip

checking for h5dump… /usr/bin/h5dump

checking for ncdump… /usr/bin/ncdump

checking for nemesis… no

checking for unzip… (cached) /usr/bin/unzip

checking for gensimpledb.py… no

checking for pylith… no

Examining test results for existing versions of software…

WARNING: Existing version of PROJ4 installed. Found /usr/bin/proj

WARNING: Existing version of HDF5 installed. Found /usr/bin/h5dump

WARNING: Existing version of NetCDF installed. Found /usr/bin/ncdump

configure: error: "Configure failed due to conflict with existing software. Existing software may interfere with proper installation of PyLith, may be configured incorrectly for use with PyLith, or may have been built with incompatible compilers. Remove existing software (RECOMMENDED) or reconfigure with --enable-force-install to override error message. "


I am using the instruction from Install file for “Cluster”, and here are the module I loaded:


Currently Loaded Modulefiles:

  1. psc_path/1.1 3) xdusage/2.1-1 5) mpi/pgi_openmpi/19.4
  2. slurm/default 4) pgi/19.4

The options that I use when I build Pylith is as following:


$HOME/src/pylith/pylith-installer-2.2.1-1/configure
–enable-python
–with-make-threads=2
–prefix=$HOME/pylith


Thank you for your help,

Xiao

Can you load module files for HDF5 and NetCDF built with the MPI you are using? If so, that would be better than having the installer build them for you.

If you do have to build HDF5 or NetCDF, then you will have to use --enable-force-install.

You may be able to use the proj library installed if the header files are also installed. Otherwise, you will need to have the installer build it.

To disable building any of the libraries, simply use the --disable-hdf5, etc options for configure.

NOTE: If you continue to have trouble building using the Portland compiler, then I suggest starting with MPI built with the Gnu compiler. Once that is working, you can try a different compiler and see if the performance is any different.