[GRASS-dev] installing v.kriging addon fails

Moritz Lennert mlennert at club.worldonline.be
Tue Sep 29 05:25:16 PDT 2015


On 29/09/15 11:09, Paulo van Breugel wrote:
> Installing v.kriging (on GRASS dev, Linux) addons fails with the following:
>
> GRASS 7.1.svn (latlon):~ > g.extension v.kriging
> WARNING: Extension <v.kriging> already installed. Re-installing...
> Fetching <v.kriging> from GRASS GIS Addons repository (be patient)...
> Compiling...
> In file included from geostat.c:1:0:
> local_proto.h:72:3: error: unknown type name ‘mat_struct’
>     mat_struct *trend;
>     ^
> local_proto.h:113:3: error: unknown type name ‘mat_struct’
>     mat_struct *gamma;    // experimental variogram matrix
>     ^
> local_proto.h:124:3: error: unknown type name ‘mat_struct’
>     mat_struct *A;           // plan matrix
>     ^
> local_proto.h:125:3: error: unknown type name ‘mat_struct’
>     mat_struct *T;           // coefficients of theoretical variogram
>     ^
> local_proto.h:126:3: error: unknown type name ‘mat_struct’
>     mat_struct *GM;          // GM = theor_var(dist: input, output points)
>     ^
> local_proto.h:218:1: error: unknown type name ‘mat_struct’
>   mat_struct *LSM(mat_struct *, mat_struct *);
>   ^
> local_proto.h:218:17: error: unknown type name ‘mat_struct’
>   mat_struct *LSM(mat_struct *, mat_struct *);
>                   ^
> local_proto.h:218:31: error: unknown type name ‘mat_struct’
>   mat_struct *LSM(mat_struct *, mat_struct *);
>                                 ^
> local_proto.h:219:1: error: unknown type name ‘mat_struct’
>   mat_struct *nonlin_LMS(int , double *, double *);
>   ^
> local_proto.h:226:24: error: unknown type name ‘mat_struct’
>   double bivar_sill(int, mat_struct *);
>                          ^
> local_proto.h:245:68: error: unknown type name ‘mat_struct’
>   void write2file_variogram_E(struct int_par *, struct parameters *,
> mat_struct *);
>                                                                      ^
> local_proto.h:250:1: error: unknown type name ‘mat_struct’
>   mat_struct *set_up_G(struct points *, struct parameters *, struct
> write *);
>   ^
> local_proto.h:251:1: error: unknown type name ‘mat_struct’
>   mat_struct *set_up_g0(struct int_par *, struct points *, struct ilist
> *, double *, struct parameters *);
>   ^
> local_proto.h:252:1: error: unknown type name ‘mat_struct’
>   mat_struct *submatrix(struct ilist *, mat_struct *, struct write *);
>   ^
> local_proto.h:252:39: error: unknown type name ‘mat_struct’
>   mat_struct *submatrix(struct ilist *, mat_struct *, struct write *);
>                                         ^
> local_proto.h:253:49: error: unknown type name ‘mat_struct’
>   double result(struct points *, struct ilist *,  mat_struct *);
>                                                   ^
> geostat.c: In function ‘E_variogram’:
> geostat.c:101:5: error: unknown type name ‘mat_struct’
>       mat_struct *gamma_M;        // gamma matrix (hz, vert or bivar)
>       ^
> geostat.c:102:5: error: unknown type name ‘mat_struct’
>       mat_struct *c_M;            // matrix of # of dissimilarities
>       ^
> geostat.c:145:9: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>       c_M = G_matrix_init(nrows, ncols, nrows);   // temporal matrix of
> counts
>           ^
> geostat.c:146:13: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>       gamma_M = G_matrix_init(nrows, ncols, nrows);       // temporal
> matrix (vector) of gammas
>               ^
> geostat.c:158:13: error: request for member ‘vals’ in something not a
> structure or union
>       c = &c_M->vals[0];
>               ^
> geostat.c:159:21: error: request for member ‘vals’ in something not a
> structure or union
>       gamma = &gamma_M->vals[0];
>                       ^
> geostat.c:308:21: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>       var_pars->gamma = G_matrix_copy(gamma_M);
>                       ^
> geostat.c: In function ‘ordinary_kriging’:
> geostat.c:516:5: error: unknown type name ‘mat_struct’
>       mat_struct *GM;
>       ^
> geostat.c:517:5: error: unknown type name ‘mat_struct’
>       mat_struct *GM_sub;         // submatrix of selected points
>       ^
> geostat.c:518:5: error: unknown type name ‘mat_struct’
>       mat_struct *GM_Inv;         // inverted GM (GM_sub) matrix
>       ^
> geostat.c:519:5: error: unknown type name ‘mat_struct’
>       mat_struct *g0;             // diffences between known and unknown
> values = theor_var(dist)
>       ^
> geostat.c:520:5: error: unknown type name ‘mat_struct’
>       mat_struct *w0;             // weights of values located on the
> input points
>       ^
> geostat.c:545:17: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>       var_par->GM = G_matrix_copy(GM);    // copy matrix because of
> cross validation
>                   ^
> geostat.c:589:28: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>                       GM_sub = submatrix(list, GM, report);       //
> make submatrix for selected points
>                              ^
> geostat.c:590:28: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>                       GM_Inv = G_matrix_inverse(GM_sub);  // invert
> submatrix
>                              ^
> geostat.c:594:24: warning: assignment makes pointer from integer without
> a cast [enabled by default]
>                       w0 = G_matrix_product(GM_Inv, g0);  // Vector of
> weights, condition SUM(w) = 1 in last row
>                          ^
> make: *** [OBJ.x86_64-unknown-linux-gnu/geostat.o] Error 1
> ERROR: Compilation failed, sorry. Please check above error messages.

mat_struct is defined in include/la.h. I'm not 100% sure, but IIUC, you 
might have to compile GRASS with blas/lapack support for this to work.

Moritz



Moritz


More information about the grass-dev mailing list