Hello,
I was following this tutorial
hydro-informatics.github.io/install-telemac.html
And I am stuck into the installation of HDF5 support.
I got several messages of incompatibility because environmental variable have changed between MPI 2 and 3.
I have edited the variables in t_mpi.c (attached if that helps) and started editing t_cache.c but the variable MPI_Get_address(v3) has different parameters from the old MPI variable, MPI_address(v2)
I am a bit cold feet to go and find out which variable should be used.
Anyone can help?
make
Making all in src
make[1]: Entering directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/src'
make all-am
make[2]: Entering directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/src'
make[2]: Leaving directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/src'
make[1]: Leaving directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/src'
Making all in test
make[1]: Entering directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/test'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/test'
Making all in testpar
make[1]: Entering directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/testpar'
CC t_cache.o
t_cache.c:399:5: warning: cast between incompatible function types from ‘herr_t (*)(H5F_t *, hid_t, hbool_t, haddr_t, void *)’ {aka ‘int (*)(struct H5F_t *, int, unsigned int, long unsigned int, void *)’} to ‘herr_t (*)(H5F_t *, hid_t, hbool_t, haddr_t, void *, unsigned int *)’ {aka ‘int (*)(struct H5F_t *, int, unsigned int, long unsigned int, void *, unsigned int *)’} [-Wcast-function-type]
399 | (H5C_flush_func_t)flush_datum,
| ^
t_cache.c: In function ‘setup_derived_types’:
t_cache.c:1218:34: warning: passing argument 1 of ‘MPI_Get_address’ makes pointer from integer without a cast [-Wint-conversion]
1218 | result = MPI_Get_address(9, block_len, displs, mpi_types, &mpi_mssg_t);
| ^
| |
| int
In file included from ../src/H5public.h:59,
from ../src/hdf5.h:22,
from ../test/h5test.h:23,
from t_cache.c:19:
/usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:1546:48: note: expected ‘const void *’ but argument is of type ‘int’
1546 | OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address);
| ~~~~~~~~~~~~^~~~~~~~
t_cache.c:1218:37: warning: passing argument 2 of ‘MPI_Get_address’ from incompatible pointer type [-Wincompatible-pointer-types]
1218 | result = MPI_Get_address(9, block_len, displs, mpi_types, &mpi_mssg_t);
| ^~~~~~~~~
| |
| int *
In file included from ../src/H5public.h:59,
from ../src/hdf5.h:22,
from ../test/h5test.h:23,
from t_cache.c:19:
/usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:1546:68: note: expected ‘MPI_Aint *’ {aka ‘long int *’} but argument is of type ‘int *’
1546 | OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address);
| ~~~~~~~~~~^~~~~~~
t_cache.c:1218:18: error: too many arguments to function ‘MPI_Get_address’
1218 | result = MPI_Get_address(9, block_len, displs, mpi_types, &mpi_mssg_t);
| ^~~~~~~~~~~~~~~
In file included from ../src/H5public.h:59,
from ../src/hdf5.h:22,
from ../test/h5test.h:23,
from t_cache.c:19:
/usr/lib/x86_64-linux-gnu/openmpi/include/mpi.h:1546:20: note: declared here
1546 | OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address);
| ^~~~~~~~~~~~~~~
t_cache.c: In function ‘serve_read_request’:
t_cache.c:1607:31: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
1607 | reply.len = data[target_index].len;
| ^~~~
t_cache.c: In function ‘serve_write_request’:
t_cache.c:1836:27: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
1836 | reply.len = data[target_index].len;
| ^~~~
t_cache.c: In function ‘clear_datum’:
t_cache.c:2335:9: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
2335 | int idx;
| ^~~
t_cache.c: In function ‘destroy_datum’:
t_cache.c:2400:9: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
2400 | int idx;
| ^~~
t_cache.c: In function ‘flush_datum’:
t_cache.c:2513:30: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
2513 | mssg.len = entry_ptr->len;
| ^~~~~~~~~
t_cache.c:2457:13: warning: variable ‘cache_ptr’ set but not used [-Wunused-but-set-variable]
2457 | H5C_t * cache_ptr;
| ^~~~~~~~~
t_cache.c:2454:9: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
2454 | int idx;
| ^~~
t_cache.c: In function ‘load_datum’:
t_cache.c:2633:22: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
2633 | mssg.len = entry_ptr->len;
| ^~~~~~~~~
t_cache.c: In function ‘size_datum’:
t_cache.c:2778:9: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
2778 | int idx;
| ^~~
t_cache.c: In function ‘server_smoke_check’:
t_cache.c:4995:26: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
4995 | mssg.len = data[world_mpi_rank].len;
| ^~~~
t_cache.c:5100:26: warning: conversion from ‘size_t’ {aka ‘long unsigned int’} to ‘unsigned int’ may change value [-Wconversion]
5100 | mssg.len = data[world_mpi_rank].len;
| ^~~~
t_cache.c: In function ‘smoke_check_3’:
t_cache.c:5714:13: warning: declaration of ‘verbose’ shadows a global declaration [-Wshadow]
5714 | hbool_t verbose = FALSE;
| ^~~~~~~
t_cache.c:39:10: note: shadowed declaration is here
39 | hbool_t verbose = TRUE; /* used to control error messages */
| ^~~~~~~
t_cache.c: In function ‘smoke_check_5’:
t_cache.c:6399:13: warning: declaration of ‘verbose’ shadows a global declaration [-Wshadow]
6399 | hbool_t verbose = FALSE;
| ^~~~~~~
t_cache.c:39:10: note: shadowed declaration is here
39 | hbool_t verbose = TRUE; /* used to control error messages */
| ^~~~~~~
t_cache.c: In function ‘main’:
t_cache.c:7123:9: warning: too many arguments for format [-Wformat-extra-args]
7123 | printf("Failed to turn off atexit processing. Continue.\n", mpi_rank);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:846: t_cache.o] Error 1
make[1]: Leaving directory '/home/julien/telemac/v8p2/optionals/temp/hdf5-1.8.21/testpar'
make: *** [Makefile:586: all-recursive] Error 1