Opened 3 years ago

Closed 5 months ago

#62118 closed defect (fixed)

gdal @3.2.1+postgresql12+proj7 fails due to trying to build grib support even when the +grib variant isn't requested

Reported by: cooljeanius (Eric Gallager) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: Veence (Vincent), tenomoto (Takeshi Enomoto)
Port: gdal, wgrib2

Description (last modified by cooljeanius (Eric Gallager))

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.

Change History (7)

comment:1 Changed 3 years ago by cooljeanius (Eric Gallager)

Description: modified (diff)

comment:2 Changed 3 years ago by Veence (Vincent)

The way one indicates to the configure script what drivers to include or to exclude has completely changed. I’m preparing an overhaul of the portfile to make it comply with the new semantics

comment:3 Changed 3 years ago by cooljeanius (Eric Gallager)

so, it appears there's been a gdal update, and yet this still happens...

comment:4 Changed 3 years ago by russ-schumacher (Russ Schumacher)

I encountered the same issue when running "port upgrade outdated". The build of the updated gdal 3.3.0_0 would fail and the log file showed the same errors reported above pointing to grib2. I did 'port deactivate wgrib2', and then 'port install gdal +netcdf' and it was successful.

comment:5 Changed 3 years ago by cooljeanius (Eric Gallager)

Still happens with gdal 3.3.1 btw. Also, while I'm looking at the build output, would it be possible to turn off -Wdocumentation during the build process? It only serves to add noise that makes it harder to find the real error.

comment:6 Changed 2 years ago by cooljeanius (Eric Gallager)

I no longer experience this specific error with gdal 3.4.0; I'm getting a separate linking failure now, though, so I'll have to open a separate bug about that...

comment:7 Changed 5 months ago by Schamschula (Marius Schamschula)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.