After reinstalled WRF,I run Fortran + C + NetCDF + MPI+Fortran + C + NetCDF tests,results were ok,then ./compile em_real >& log.compile,someting went wrong,here are some of the errors in the log,full compile log file sees in the attached file.
In file included from rsl_bcast.c:69:
rsl_bcast.c: In function ‘destroy_list’:
rsl_lite.h:164:35: error: conversion from ‘rsl_list_t **’ (or ‘struct rsl_list **’) to non-scalar type ‘char **’ requested in passing argument 1 of ‘rsl_free’ [-Wincompatible-pointer-types]
164 | #define RSL_FREE(P) rsl_free(&(P))
| ^~~~
| |
| rsl_list_t ** {or struct rsl_list **}
rsl_bcast.c:96:5: note: in expansion of macro ‘RSL_FREE’
96 | RSL_FREE( trash ) ;
| ^~~~~~~~
rsl_lite.h:170:24: note: expected ‘char **’ but argument is of type ‘rsl_list_t **’ (or ‘struct rsl_list **’)
170 | void rsl_free( char ** p ) ;
| ~~~~~~~~^
rsl_bcast.c: In function ‘rsl_lite_nesting_reset_’:
rsl_lite.h:164:35: error: conversion from ‘rsl_list_t ***’ (or ‘struct rsl_list ***’) to non-scalar type ‘char **’ requested in passing argument 1 of ‘rsl_free’ [-Wincompatible-pointer-types]
164 | #define RSL_FREE(P) rsl_free(&(P))
| ^~~~
| |
| rsl_list_t *** {or struct rsl_list ***}
rsl_bcast.c:180:5: note: in expansion of macro ‘RSL_FREE’
180 | RSL_FREE( Plist ) ;
| ^~~~~~~~
rsl_lite.h:170:24: note: expected ‘char **’ but argument is of type ‘rsl_list_t ***’ (or ‘struct rsl_list ***’)
170 | void rsl_free( char ** p ) ;
| ~~~~~~~~^
c_code.c: In function ‘rsl_lite_pack_’:
c_code.c:487:27: error: conversion from ‘char *’ to non-scalar type ‘long int *’ requested in passing argument 1 of ‘F_PACK_LINT’ [-Wincompatible-pointer-types]
487 | F_PACK_LINT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ^~~
| |
| char *
In file included from c_code.c:31:
rsl_lite.h:200:25: note: expected ‘long int *’ but argument is of type ‘char *’
200 | void F_PACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs);
| ~~~~~~^~~~~
c_code.c:487:33: error: conversion from ‘char *’ to non-scalar type ‘long int *’ requested in passing argument 2 of ‘F_PACK_LINT’ [-Wincompatible-pointer-types]
487 | F_PACK_LINT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ~^~~~~~~~
| |
| char *
rsl_lite.h:200:38: note: expected ‘long int *’ but argument is of type ‘char *’
200 | void F_PACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs);
| ~~~~~~^~~~~~
c_code.c:492:26: error: conversion from ‘char *’ to non-scalar type ‘int *’ requested in passing argument 1 of ‘F_PACK_INT’ [-Wincompatible-pointer-types]
492 | F_PACK_INT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ^~~
| |
| char *
rsl_lite.h:201:23: note: expected ‘int *’ but argument is of type ‘char *’
In file included from rsl_bcast.c:69:
rsl_bcast.c: In function ‘destroy_list’:
rsl_lite.h:164:35: error: conversion from ‘rsl_list_t **’ (or ‘struct rsl_list **’) to non-scalar type ‘char **’ requested in passing argument 1 of ‘rsl_free’ [-Wincompatible-pointer-types]
164 | #define RSL_FREE(P) rsl_free(&(P))
| ^~~~
| |
| rsl_list_t ** {or struct rsl_list **}
rsl_bcast.c:96:5: note: in expansion of macro ‘RSL_FREE’
96 | RSL_FREE( trash ) ;
| ^~~~~~~~
rsl_lite.h:170:24: note: expected ‘char **’ but argument is of type ‘rsl_list_t **’ (or ‘struct rsl_list **’)
170 | void rsl_free( char ** p ) ;
| ~~~~~~~~^
rsl_bcast.c: In function ‘rsl_lite_nesting_reset_’:
rsl_lite.h:164:35: error: conversion from ‘rsl_list_t ***’ (or ‘struct rsl_list ***’) to non-scalar type ‘char **’ requested in passing argument 1 of ‘rsl_free’ [-Wincompatible-pointer-types]
164 | #define RSL_FREE(P) rsl_free(&(P))
| ^~~~
| |
| rsl_list_t *** {or struct rsl_list ***}
rsl_bcast.c:180:5: note: in expansion of macro ‘RSL_FREE’
180 | RSL_FREE( Plist ) ;
| ^~~~~~~~
rsl_lite.h:170:24: note: expected ‘char **’ but argument is of type ‘rsl_list_t ***’ (or ‘struct rsl_list ***’)
170 | void rsl_free( char ** p ) ;
| ~~~~~~~~^
c_code.c: In function ‘rsl_lite_pack_’:
c_code.c:487:27: error: conversion from ‘char *’ to non-scalar type ‘long int *’ requested in passing argument 1 of ‘F_PACK_LINT’ [-Wincompatible-pointer-types]
487 | F_PACK_LINT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ^~~
| |
| char *
In file included from c_code.c:31:
rsl_lite.h:200:25: note: expected ‘long int *’ but argument is of type ‘char *’
200 | void F_PACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs);
| ~~~~~~^~~~~
c_code.c:487:33: error: conversion from ‘char *’ to non-scalar type ‘long int *’ requested in passing argument 2 of ‘F_PACK_LINT’ [-Wincompatible-pointer-types]
487 | F_PACK_LINT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ~^~~~~~~~
| |
| char *
rsl_lite.h:200:38: note: expected ‘long int *’ but argument is of type ‘char *’
200 | void F_PACK_LINT (long *inbuf, long *outbuf, int* memorder, int* js, int* je, int* ks, int* ke, int* is, int* ie, int* jms, int* jme, int* kms, int* kme, int* ims, int* ime, int* curs);
| ~~~~~~^~~~~~
c_code.c:492:26: error: conversion from ‘char *’ to non-scalar type ‘int *’ requested in passing argument 1 of ‘F_PACK_INT’ [-Wincompatible-pointer-types]
492 | F_PACK_INT ( buf, p+yp_curs, imemord, &js, &je, &ks, &ke, &is, &ie,
| ^~~
| |
| char *
rsl_lite.h:201:23: note: expected ‘int *’ but argument is of type ‘char *’