[MacPorts] #62118: gdal @3.2.1+postgresql12+proj7 fails due to trying to build grib support even when the +grib variant isn't requested

MacPorts noreply at macports.org
Fri Jan 22 00:51:10 UTC 2021


#62118: gdal @3.2.1+postgresql12+proj7 fails due to trying to build grib support
even when the +grib variant isn't requested
---------------------------+--------------------
  Reporter:  cooljeanius   |      Owner:  (none)
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.6.4
Resolution:                |   Keywords:
      Port:  gdal, wgrib2  |
---------------------------+--------------------
Description changed by cooljeanius:

Old description:

> I'm on macOS Catalian with Xcode 12.3. The error is:
>
> {{{
> /bin/sh
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/libtool
> --mode=compile --silent --tag=CC /usr/bin/clang -c
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/port
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/gcore
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/alg
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/ogr
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/ogr/ogrsf_frmts
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/gnm
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/apps
> -Idegrib/degrib -I../mem -DUSE_PNG -DGNM_ENABLED -mtune=native
> -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
> -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/port
> -DGDAL_COMPILATION -I/opt/local/include -DHAVE_AVX_AT_COMPILE_TIME
> -DHAVE_SSSE3_AT_COMPILE_TIME -DHAVE_SSE_AT_COMPILE_TIME -pipe -Os
> -mtune=native
> -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch
> x86_64  -Wall -Wdeclaration-after-statement -Wextra -Winit-self -Wunused-
> parameter -Wmissing-prototypes -Wmissing-declarations -Wformat -Werror
> =format-security -Wno-format-nonliteral -Wshorten-64-to-32 -Wshadow
> -Werror=vla -Wdeclaration-after-statement -Wdate-time -Wnull-dereference
> -Wcomma -Wfloat-conversion -Wdocumentation -Wno-documentation-deprecated-
> sync  degrib/g2clib/dec_png.c -o ../o/dec_png.lo
> make[2]: Entering directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/pcraster'
> make[2]: Nothing to be done for `install-obj'.
> make[2]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/pcraster'
> make[2]: Entering directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/jpeg'
> make[2]: Nothing to be done for `install-obj'.
> make[2]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/jpeg'
> In file included from degrib/degrib/grib2api.c:25:
> In file included from degrib/g2clib/gridtemplates.h:3:
> degrib/g2clib/grib2.h:5:9: warning: 'G2_VERSION' macro redefined
> [-Wmacro-redefined]
> #define G2_VERSION "g2clib-1.6.0"
>         ^
> /opt/local/include/grib2.h:5:9: note: previous definition is here
> #define G2_VERSION "g2clib-1.4.0"
>         ^
> In file included from degrib/degrib/grib2api.c:25:
> In file included from degrib/g2clib/gridtemplates.h:3:
> degrib/g2clib/grib2.h:157:13: error: typedef redefinition with different
> types ('int' vs 'long')
> typedef int g2int;
>             ^
> /opt/local/include/grib2.h:158:14: note: previous definition is here
> typedef long g2int;
>              ^
> In file included from degrib/degrib/grib2api.c:25:
> In file included from degrib/g2clib/gridtemplates.h:3:
> degrib/g2clib/grib2.h:158:22: error: typedef redefinition with different
> types ('unsigned int' vs 'unsigned long')
> typedef unsigned int g2intu;
>                      ^
> /opt/local/include/grib2.h:159:23: note: previous definition is here
> typedef unsigned long g2intu;
>                       ^
> In file included from degrib/degrib/grib2api.c:25:
> In file included from degrib/g2clib/gridtemplates.h:3:
> degrib/g2clib/grib2.h:161:8: error: redefinition of 'gtemplate'
> struct gtemplate {
>        ^
> /opt/local/include/grib2.h:163:8: note: previous definition is here
> struct gtemplate {
>        ^
> In file included from degrib/degrib/grib2api.c:25:
> In file included from degrib/g2clib/gridtemplates.h:3:
> degrib/g2clib/grib2.h:179:8: error: redefinition of 'gribfield'
> struct gribfield {
>        ^
> /opt/local/include/grib2.h:181:8: note: previous definition is here
> struct gribfield {
>        ^
> degrib/degrib/grib2api.c:845:31: warning: incompatible pointer types
> passing 'sInt4 [3]' to parameter of type 'g2int *' (aka 'long *')
> [-Wincompatible-pointer-types]
>       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
>                               ^~~~~~~~
> degrib/g2clib/grib2.h:214:38: note: passing argument to parameter here
> g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
>                                      ^
> degrib/degrib/grib2api.c:845:41: warning: incompatible pointer types
> passing 'sInt4 [13]' to parameter of type 'g2int *' (aka 'long *')
> [-Wincompatible-pointer-types]
>       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
>                                         ^~~~~~~~
> degrib/g2clib/grib2.h:214:46: note: passing argument to parameter here
> g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
>                                              ^
> degrib/degrib/grib2api.c:845:51: warning: incompatible pointer types
> passing 'sInt4 *' (aka 'int *') to parameter of type 'g2int *' (aka 'long
> *') [-Wincompatible-pointer-types]
>       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
>                                                   ^~~~~~~~~~
> degrib/g2clib/grib2.h:214:54: note: passing argument to parameter here
> g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
>                                                      ^
> degrib/degrib/grib2api.c:845:63: warning: incompatible pointer types
> passing 'sInt4 *' (aka 'int *') to parameter of type 'g2int *' (aka 'long
> *') [-Wincompatible-pointer-types]
>       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
>                                                               ^~~~~~~~~
> degrib/g2clib/grib2.h:214:62: note: passing argument to parameter here
> g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
>                                                              ^
> degrib/degrib/grib2api.c:1036:19: warning: absolute value function 'abs'
> given an argument of type 'const g2int' (aka 'const long') but has
> parameter of type 'int' which may cause truncation of value [-Wabsolute-
> value]
>       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
>                   ^
> degrib/degrib/grib2api.c:1036:19: note: use function 'labs' instead
>       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
>                   ^~~
>                   labs
> degrib/degrib/grib2api.c:1122:19: warning: absolute value function 'abs'
> given an argument of type 'const g2int' (aka 'const long') but has
> parameter of type 'int' which may cause truncation of value [-Wabsolute-
> value]
>       curIndex += abs(templatespds[pdsIndex].mappds[i]);
>                   ^
> degrib/degrib/grib2api.c:1122:19: note: use function 'labs' instead
>       curIndex += abs(templatespds[pdsIndex].mappds[i]);
>                   ^~~
>                   labs
> degrib/degrib/grib2api.c:1141:19: warning: absolute value function 'abs'
> given an argument of type 'const g2int' (aka 'const long') but has
> parameter of type 'int' which may cause truncation of value [-Wabsolute-
> value]
>       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
>                   ^
> degrib/degrib/grib2api.c:1141:19: note: use function 'labs' instead
>       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
>                   ^~~
>                   labs
> degrib/degrib/grib2api.c:1206:65: warning: incompatible pointer types
> passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
> *') [-Wincompatible-pointer-types]
>          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
> gfld->bmap,
> ^~~~~~~~~~
> degrib/degrib/grib2api.c:393:31: note: passing argument to parameter
> 'bmap' here
>                        sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
>                               ^
> degrib/degrib/grib2api.c:1210:65: warning: incompatible pointer types
> passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
> *') [-Wincompatible-pointer-types]
>          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
> gfld->bmap,
> ^~~~~~~~~~
> degrib/degrib/grib2api.c:393:31: note: passing argument to parameter
> 'bmap' here
>                        sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
>                               ^
> degrib/degrib/grib2api.c:1218:31: warning: incompatible pointer types
> passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
> *') [-Wincompatible-pointer-types]
>                               gfld->bmap, 1, &(dummyScan), 0, 0, *iclean,
>                               ^~~~~~~~~~
> degrib/degrib/grib2api.c:504:33: note: passing argument to parameter
> 'bmap' here
>                          sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
>                                 ^
> degrib/degrib/grib2api.c:1222:31: warning: incompatible pointer types
> passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
> *') [-Wincompatible-pointer-types]
>                               gfld->bmap, f_ignoreScan,
> &(is3[scanIndex]),
>                               ^~~~~~~~~~
> degrib/degrib/grib2api.c:504:33: note: passing argument to parameter
> 'bmap' here
>                          sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
>                                 ^
> degrib/degrib/grib2api.c:845:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'int' [-Wshorten-64-to-32]
>       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
>            ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:24:17: note: expanded from
> macro 'g2_info'
> #define g2_info gdal_g2_info
>                 ^
> degrib/degrib/grib2api.c:878:11: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'int' [-Wshorten-64-to-32]
>    ierr = g2_getfld(c_ipack, *nd5 * sizeof(sInt4), subgNum + 1, unpack,
> expand, &gfld);
>         ~
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:22:19: note: expanded from
> macro 'g2_getfld'
> #define g2_getfld gdal_g2_getfld
>                   ^
> degrib/degrib/grib2api.c:941:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is0[6] = gfld->discipline;
>           ~ ~~~~~~^~~~~~~~~~
> degrib/degrib/grib2api.c:942:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is0[7] = gfld->version;
>           ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:953:13: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[5] = gfld->idsect[0];
>           ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:954:13: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[7] = gfld->idsect[1];
>           ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:955:13: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[9] = gfld->idsect[2];
>           ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:956:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[10] = gfld->idsect[3];
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:957:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[11] = gfld->idsect[4];
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:958:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[12] = gfld->idsect[5]; /* Year */
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:959:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[14] = gfld->idsect[6]; /* Month */
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:960:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[15] = gfld->idsect[7]; /* Day */
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:961:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[16] = gfld->idsect[8]; /* Hour */
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:962:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[17] = gfld->idsect[9]; /* Min */
>            ~ ^~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:963:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[18] = gfld->idsect[10]; /* Sec */
>            ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:964:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[19] = gfld->idsect[11];
>            ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:965:14: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is1[20] = gfld->idsect[12];
>            ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:981:45: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>          mdl_LocalUnpack(gfld->local, gfld->locallen, idat, nidat, rdat,
>          ~~~~~~~~~~~~~~~              ~~~~~~^~~~~~~~
> degrib/degrib/grib2api.c:997:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is3[5] = gfld->griddef;
>           ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:998:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is3[6] = gfld->ngrdpts;
>           ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1006:20: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is3[10] = gfld->numoct_opt;
>            ~ ~~~~~~^~~~~~~~~~
> degrib/degrib/grib2api.c:1007:20: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is3[11] = gfld->interp_opt;
>            ~ ~~~~~~^~~~~~~~~~
> degrib/degrib/grib2api.c:1008:20: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is3[12] = gfld->igdtnum;
>            ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1009:16: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    gridIndex = getgridindex(gfld->igdtnum);
>              ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:39:22: note: expanded from
> macro 'getgridindex'
> #define getgridindex gdal_getgridindex
>                      ^
> degrib/degrib/grib2api.c:1035:23: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>       is3[curIndex] = gfld->igdtmpl[i];
>                     ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:1036:23: warning: implicit conversion loses
> integer precision: 'const g2int' (aka 'const long') to 'int'
> [-Wshorten-64-to-32]
>       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
>                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:65:23: note: expanded from
> macro 'templatesgrid'
> #define templatesgrid gdal_templatesgrid
>                       ^
> degrib/degrib/grib2api.c:1091:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is4[5] = gfld->num_coord;
>           ~ ~~~~~~^~~~~~~~~
> degrib/degrib/grib2api.c:1092:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is4[7] = gfld->ipdtnum;
>           ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1093:15: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    pdsIndex = getpdsindex(gfld->ipdtnum);
>             ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:41:21: note: expanded from
> macro 'getpdsindex'
> #define getpdsindex gdal_getpdsindex
>                     ^
> degrib/degrib/grib2api.c:1113:23: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>       is4[curIndex] = gfld->ipdtmpl[i];
>                     ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:1122:23: warning: implicit conversion loses
> integer precision: 'const g2int' (aka 'const long') to 'int'
> [-Wshorten-64-to-32]
>       curIndex += abs(templatespds[pdsIndex].mappds[i]);
>                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:66:22: note: expanded from
> macro 'templatespds'
> #define templatespds gdal_templatespds
>                      ^
> degrib/degrib/grib2api.c:1127:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is5[5] = gfld->ndpts;
>           ~ ~~~~~~^~~~~
> degrib/degrib/grib2api.c:1128:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is5[9] = gfld->idrtnum;
>           ~ ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1129:15: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    drsIndex = getdrsindex(gfld->idrtnum);
>             ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:37:21: note: expanded from
> macro 'getdrsindex'
> #define getdrsindex gdal_getdrsindex
>                     ^
> degrib/degrib/grib2api.c:1140:23: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>       is5[curIndex] = gfld->idrtmpl[i];
>                     ~ ^~~~~~~~~~~~~~~~
> degrib/degrib/grib2api.c:1141:23: warning: implicit conversion loses
> integer precision: 'const g2int' (aka 'const long') to 'int'
> [-Wshorten-64-to-32]
>       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
>                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> degrib/g2clib/gdal_g2clib_symbol_rename.h:64:22: note: expanded from
> macro 'templatesdrs'
> #define templatesdrs gdal_templatesdrs
>                      ^
> degrib/degrib/grib2api.c:1161:19: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>    is6[5] = gfld->ibmap;
>           ~ ~~~~~~^~~~~
> degrib/degrib/grib2api.c:1206:46: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
> gfld->bmap,
>                 ~~~~~~~~~~~            ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1210:46: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
> gfld->bmap,
>                 ~~~~~~~~~~~            ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1217:48: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>          ierr = TransferFloat(gfld->fld, gfld->ngrdpts, *ibitmap,
>                 ~~~~~~~~~~~~~            ~~~~~~^~~~~~~
> degrib/degrib/grib2api.c:1221:48: warning: implicit conversion loses
> integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
> [-Wshorten-64-to-32]
>          ierr = TransferFloat(gfld->fld, gfld->ngrdpts, *ibitmap,
>                 ~~~~~~~~~~~~~            ~~~~~~^~~~~~~
> 53 warnings and 4 errors generated.
> make[2]: *** [../o/grib2api.lo] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/grib'
> make[1]: *** [grib-install-obj] Error 2
> make[1]: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts'
> make: *** [frmts-target] Error 2
> make: Leaving directory
> `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1'
> Command failed:  cd
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1"
> && /usr/bin/make -j16 -w
> Exit code: 2
> Error: Failed to build gdal: command execution failed
> DEBUG: Error code: CHILDSTATUS 77236 2
> DEBUG: Backtrace: command execution failed
>     while executing
> "system {*}$notty {*}$nice $fullcmdstring"
>     invoked from within
> "command_exec build"
>     (procedure "portbuild::build_main" line 8)
>     invoked from within
> "$procedure $targetname"
> Error: See
> /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/main.log
> for details.
> DEBUG: Registry error: port:wgrib2 not registered as installed & active.
> Error: Follow https://guide.macports.org/#project.tickets to report a
> bug.
> }}}
>
> Even though the error message says wgrib2 isn't registered as installed &
> active, that is not true, as that is where the offending header comes
> from:
>
> {{{
> $ port provides /opt/local/include/grib2.h
> /opt/local/include/grib2.h is provided by: wgrib2
> }}}
>
> Deactivating wgrib2 allows the build to succeed. Either a build conflict
> should be declared using the conflicts_build PortGroup, or gdal's build
> process should be patched to explicitly ignore wgrib2 when the +grib
> variant isn't selected.

New description:

 I'm on macOS Catalina with Xcode 12.3. The error is:

 {{{
 /bin/sh
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/libtool
 --mode=compile --silent --tag=CC /usr/bin/clang -c
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/port
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/gcore
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/alg
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/ogr
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/ogr/ogrsf_frmts
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/gnm
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/apps
 -Idegrib/degrib -I../mem -DUSE_PNG -DGNM_ENABLED -mtune=native
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/port
 -DGDAL_COMPILATION -I/opt/local/include -DHAVE_AVX_AT_COMPILE_TIME
 -DHAVE_SSSE3_AT_COMPILE_TIME -DHAVE_SSE_AT_COMPILE_TIME -pipe -Os
 -mtune=native
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch
 x86_64  -Wall -Wdeclaration-after-statement -Wextra -Winit-self -Wunused-
 parameter -Wmissing-prototypes -Wmissing-declarations -Wformat -Werror
 =format-security -Wno-format-nonliteral -Wshorten-64-to-32 -Wshadow
 -Werror=vla -Wdeclaration-after-statement -Wdate-time -Wnull-dereference
 -Wcomma -Wfloat-conversion -Wdocumentation -Wno-documentation-deprecated-
 sync  degrib/g2clib/dec_png.c -o ../o/dec_png.lo
 make[2]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/pcraster'
 make[2]: Nothing to be done for `install-obj'.
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/pcraster'
 make[2]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/jpeg'
 make[2]: Nothing to be done for `install-obj'.
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/jpeg'
 In file included from degrib/degrib/grib2api.c:25:
 In file included from degrib/g2clib/gridtemplates.h:3:
 degrib/g2clib/grib2.h:5:9: warning: 'G2_VERSION' macro redefined [-Wmacro-
 redefined]
 #define G2_VERSION "g2clib-1.6.0"
         ^
 /opt/local/include/grib2.h:5:9: note: previous definition is here
 #define G2_VERSION "g2clib-1.4.0"
         ^
 In file included from degrib/degrib/grib2api.c:25:
 In file included from degrib/g2clib/gridtemplates.h:3:
 degrib/g2clib/grib2.h:157:13: error: typedef redefinition with different
 types ('int' vs 'long')
 typedef int g2int;
             ^
 /opt/local/include/grib2.h:158:14: note: previous definition is here
 typedef long g2int;
              ^
 In file included from degrib/degrib/grib2api.c:25:
 In file included from degrib/g2clib/gridtemplates.h:3:
 degrib/g2clib/grib2.h:158:22: error: typedef redefinition with different
 types ('unsigned int' vs 'unsigned long')
 typedef unsigned int g2intu;
                      ^
 /opt/local/include/grib2.h:159:23: note: previous definition is here
 typedef unsigned long g2intu;
                       ^
 In file included from degrib/degrib/grib2api.c:25:
 In file included from degrib/g2clib/gridtemplates.h:3:
 degrib/g2clib/grib2.h:161:8: error: redefinition of 'gtemplate'
 struct gtemplate {
        ^
 /opt/local/include/grib2.h:163:8: note: previous definition is here
 struct gtemplate {
        ^
 In file included from degrib/degrib/grib2api.c:25:
 In file included from degrib/g2clib/gridtemplates.h:3:
 degrib/g2clib/grib2.h:179:8: error: redefinition of 'gribfield'
 struct gribfield {
        ^
 /opt/local/include/grib2.h:181:8: note: previous definition is here
 struct gribfield {
        ^
 degrib/degrib/grib2api.c:845:31: warning: incompatible pointer types
 passing 'sInt4 [3]' to parameter of type 'g2int *' (aka 'long *')
 [-Wincompatible-pointer-types]
       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
                               ^~~~~~~~
 degrib/g2clib/grib2.h:214:38: note: passing argument to parameter here
 g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
                                      ^
 degrib/degrib/grib2api.c:845:41: warning: incompatible pointer types
 passing 'sInt4 [13]' to parameter of type 'g2int *' (aka 'long *')
 [-Wincompatible-pointer-types]
       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
                                         ^~~~~~~~
 degrib/g2clib/grib2.h:214:46: note: passing argument to parameter here
 g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
                                              ^
 degrib/degrib/grib2api.c:845:51: warning: incompatible pointer types
 passing 'sInt4 *' (aka 'int *') to parameter of type 'g2int *' (aka 'long
 *') [-Wincompatible-pointer-types]
       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
                                                   ^~~~~~~~~~
 degrib/g2clib/grib2.h:214:54: note: passing argument to parameter here
 g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
                                                      ^
 degrib/degrib/grib2api.c:845:63: warning: incompatible pointer types
 passing 'sInt4 *' (aka 'int *') to parameter of type 'g2int *' (aka 'long
 *') [-Wincompatible-pointer-types]
       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
                                                               ^~~~~~~~~
 degrib/g2clib/grib2.h:214:62: note: passing argument to parameter here
 g2int g2_info(unsigned char *,g2int *,g2int *,g2int *,g2int *);
                                                              ^
 degrib/degrib/grib2api.c:1036:19: warning: absolute value function 'abs'
 given an argument of type 'const g2int' (aka 'const long') but has
 parameter of type 'int' which may cause truncation of value [-Wabsolute-
 value]
       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
                   ^
 degrib/degrib/grib2api.c:1036:19: note: use function 'labs' instead
       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
                   ^~~
                   labs
 degrib/degrib/grib2api.c:1122:19: warning: absolute value function 'abs'
 given an argument of type 'const g2int' (aka 'const long') but has
 parameter of type 'int' which may cause truncation of value [-Wabsolute-
 value]
       curIndex += abs(templatespds[pdsIndex].mappds[i]);
                   ^
 degrib/degrib/grib2api.c:1122:19: note: use function 'labs' instead
       curIndex += abs(templatespds[pdsIndex].mappds[i]);
                   ^~~
                   labs
 degrib/degrib/grib2api.c:1141:19: warning: absolute value function 'abs'
 given an argument of type 'const g2int' (aka 'const long') but has
 parameter of type 'int' which may cause truncation of value [-Wabsolute-
 value]
       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
                   ^
 degrib/degrib/grib2api.c:1141:19: note: use function 'labs' instead
       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
                   ^~~
                   labs
 degrib/degrib/grib2api.c:1206:65: warning: incompatible pointer types
 passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
 *') [-Wincompatible-pointer-types]
          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
 gfld->bmap,
                                                                 ^~~~~~~~~~
 degrib/degrib/grib2api.c:393:31: note: passing argument to parameter
 'bmap' here
                        sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
                               ^
 degrib/degrib/grib2api.c:1210:65: warning: incompatible pointer types
 passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
 *') [-Wincompatible-pointer-types]
          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
 gfld->bmap,
                                                                 ^~~~~~~~~~
 degrib/degrib/grib2api.c:393:31: note: passing argument to parameter
 'bmap' here
                        sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
                               ^
 degrib/degrib/grib2api.c:1218:31: warning: incompatible pointer types
 passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
 *') [-Wincompatible-pointer-types]
                               gfld->bmap, 1, &(dummyScan), 0, 0, *iclean,
                               ^~~~~~~~~~
 degrib/degrib/grib2api.c:504:33: note: passing argument to parameter
 'bmap' here
                          sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
                                 ^
 degrib/degrib/grib2api.c:1222:31: warning: incompatible pointer types
 passing 'g2int *' (aka 'long *') to parameter of type 'sInt4 *' (aka 'int
 *') [-Wincompatible-pointer-types]
                               gfld->bmap, f_ignoreScan, &(is3[scanIndex]),
                               ^~~~~~~~~~
 degrib/degrib/grib2api.c:504:33: note: passing argument to parameter
 'bmap' here
                          sInt4 *bmap, char f_ignoreScan, sInt4 *scan,
                                 ^
 degrib/degrib/grib2api.c:845:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'int' [-Wshorten-64-to-32]
       ierr = g2_info(c_ipack, listsec0, listsec1, &numfields, &numlocal);
            ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:24:17: note: expanded from macro
 'g2_info'
 #define g2_info gdal_g2_info
                 ^
 degrib/degrib/grib2api.c:878:11: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'int' [-Wshorten-64-to-32]
    ierr = g2_getfld(c_ipack, *nd5 * sizeof(sInt4), subgNum + 1, unpack,
 expand, &gfld);
         ~
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:22:19: note: expanded from macro
 'g2_getfld'
 #define g2_getfld gdal_g2_getfld
                   ^
 degrib/degrib/grib2api.c:941:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is0[6] = gfld->discipline;
           ~ ~~~~~~^~~~~~~~~~
 degrib/degrib/grib2api.c:942:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is0[7] = gfld->version;
           ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:953:13: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[5] = gfld->idsect[0];
           ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:954:13: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[7] = gfld->idsect[1];
           ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:955:13: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[9] = gfld->idsect[2];
           ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:956:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[10] = gfld->idsect[3];
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:957:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[11] = gfld->idsect[4];
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:958:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[12] = gfld->idsect[5]; /* Year */
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:959:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[14] = gfld->idsect[6]; /* Month */
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:960:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[15] = gfld->idsect[7]; /* Day */
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:961:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[16] = gfld->idsect[8]; /* Hour */
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:962:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[17] = gfld->idsect[9]; /* Min */
            ~ ^~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:963:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[18] = gfld->idsect[10]; /* Sec */
            ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:964:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[19] = gfld->idsect[11];
            ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:965:14: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is1[20] = gfld->idsect[12];
            ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:981:45: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
          mdl_LocalUnpack(gfld->local, gfld->locallen, idat, nidat, rdat,
          ~~~~~~~~~~~~~~~              ~~~~~~^~~~~~~~
 degrib/degrib/grib2api.c:997:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is3[5] = gfld->griddef;
           ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:998:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is3[6] = gfld->ngrdpts;
           ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1006:20: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is3[10] = gfld->numoct_opt;
            ~ ~~~~~~^~~~~~~~~~
 degrib/degrib/grib2api.c:1007:20: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is3[11] = gfld->interp_opt;
            ~ ~~~~~~^~~~~~~~~~
 degrib/degrib/grib2api.c:1008:20: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is3[12] = gfld->igdtnum;
            ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1009:16: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    gridIndex = getgridindex(gfld->igdtnum);
              ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:39:22: note: expanded from macro
 'getgridindex'
 #define getgridindex gdal_getgridindex
                      ^
 degrib/degrib/grib2api.c:1035:23: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
       is3[curIndex] = gfld->igdtmpl[i];
                     ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:1036:23: warning: implicit conversion loses
 integer precision: 'const g2int' (aka 'const long') to 'int'
 [-Wshorten-64-to-32]
       curIndex += abs(templatesgrid[gridIndex].mapgrid[i]);
                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:65:23: note: expanded from macro
 'templatesgrid'
 #define templatesgrid gdal_templatesgrid
                       ^
 degrib/degrib/grib2api.c:1091:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is4[5] = gfld->num_coord;
           ~ ~~~~~~^~~~~~~~~
 degrib/degrib/grib2api.c:1092:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is4[7] = gfld->ipdtnum;
           ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1093:15: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    pdsIndex = getpdsindex(gfld->ipdtnum);
             ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:41:21: note: expanded from macro
 'getpdsindex'
 #define getpdsindex gdal_getpdsindex
                     ^
 degrib/degrib/grib2api.c:1113:23: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
       is4[curIndex] = gfld->ipdtmpl[i];
                     ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:1122:23: warning: implicit conversion loses
 integer precision: 'const g2int' (aka 'const long') to 'int'
 [-Wshorten-64-to-32]
       curIndex += abs(templatespds[pdsIndex].mappds[i]);
                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:66:22: note: expanded from macro
 'templatespds'
 #define templatespds gdal_templatespds
                      ^
 degrib/degrib/grib2api.c:1127:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is5[5] = gfld->ndpts;
           ~ ~~~~~~^~~~~
 degrib/degrib/grib2api.c:1128:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is5[9] = gfld->idrtnum;
           ~ ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1129:15: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    drsIndex = getdrsindex(gfld->idrtnum);
             ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:37:21: note: expanded from macro
 'getdrsindex'
 #define getdrsindex gdal_getdrsindex
                     ^
 degrib/degrib/grib2api.c:1140:23: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
       is5[curIndex] = gfld->idrtmpl[i];
                     ~ ^~~~~~~~~~~~~~~~
 degrib/degrib/grib2api.c:1141:23: warning: implicit conversion loses
 integer precision: 'const g2int' (aka 'const long') to 'int'
 [-Wshorten-64-to-32]
       curIndex += abs(templatesdrs[drsIndex].mapdrs[i]);
                   ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 degrib/g2clib/gdal_g2clib_symbol_rename.h:64:22: note: expanded from macro
 'templatesdrs'
 #define templatesdrs gdal_templatesdrs
                      ^
 degrib/degrib/grib2api.c:1161:19: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
    is6[5] = gfld->ibmap;
           ~ ~~~~~~^~~~~
 degrib/degrib/grib2api.c:1206:46: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
 gfld->bmap,
                 ~~~~~~~~~~~            ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1210:46: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
          ierr = TransferInt(gfld->fld, gfld->ngrdpts, *ibitmap,
 gfld->bmap,
                 ~~~~~~~~~~~            ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1217:48: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
          ierr = TransferFloat(gfld->fld, gfld->ngrdpts, *ibitmap,
                 ~~~~~~~~~~~~~            ~~~~~~^~~~~~~
 degrib/degrib/grib2api.c:1221:48: warning: implicit conversion loses
 integer precision: 'g2int' (aka 'long') to 'sInt4' (aka 'int')
 [-Wshorten-64-to-32]
          ierr = TransferFloat(gfld->fld, gfld->ngrdpts, *ibitmap,
                 ~~~~~~~~~~~~~            ~~~~~~^~~~~~~
 53 warnings and 4 errors generated.
 make[2]: *** [../o/grib2api.lo] Error 1
 make[2]: *** Waiting for unfinished jobs....
 make[2]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts/grib'
 make[1]: *** [grib-install-obj] Error 2
 make[1]: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1/frmts'
 make: *** [frmts-target] Error 2
 make: Leaving directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1'
 Command failed:  cd
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/work/gdal-3.2.1"
 && /usr/bin/make -j16 -w
 Exit code: 2
 Error: Failed to build gdal: command execution failed
 DEBUG: Error code: CHILDSTATUS 77236 2
 DEBUG: Backtrace: command execution failed
     while executing
 "system {*}$notty {*}$nice $fullcmdstring"
     invoked from within
 "command_exec build"
     (procedure "portbuild::build_main" line 8)
     invoked from within
 "$procedure $targetname"
 Error: See
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gis_gdal/gdal/main.log
 for details.
 DEBUG: Registry error: port:wgrib2 not registered as installed & active.
 Error: Follow https://guide.macports.org/#project.tickets to report a bug.
 }}}

 Even though the error message says wgrib2 isn't registered as installed &
 active, that is not true, as that is where the offending header comes
 from:

 {{{
 $ port provides /opt/local/include/grib2.h
 /opt/local/include/grib2.h is provided by: wgrib2
 }}}

 Deactivating wgrib2 allows the build to succeed. Either a build conflict
 should be declared using the conflicts_build PortGroup, or gdal's build
 process should be patched to explicitly ignore wgrib2 when the +grib
 variant isn't selected.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/62118#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list