Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-16974

[GLib] C99 incompatible

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 9.0.0
    • GLib

    Description

      We can't use multiple typedef struct _XXX XXX in C99.

      https://github.com/kou/datafusion-c/runs/7177906562?check_suite_focus=true

      FAILED: datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o 
      cc -Idatafusion-glib/libdatafusion-glib.8.dylib.p -Idatafusion-glib -I../datafusion-glib -I. -I.. -I/usr/local/Cellar/libffi/3.4.2/include -I/usr/local/Cellar/apache-arrow-glib/8.0.0/include -I/usr/local/Cellar/glib/2.72.2/include -I/usr/local/Cellar/glib/2.72.2/include/glib-2.0 -I/usr/local/Cellar/glib/2.72.2/lib/glib-2.0/include -I/usr/local/opt/gettext/include -I/usr/local/Cellar/pcre/8.45/include -I/usr/local/Cellar/apache-arrow/8.0.0_3/include -fcolor-diagnostics -Wall -Winvalid-pch -Werror -std=c99 -O0 -g -MD -MQ datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o -MF datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o.d -o datafusion-glib/libdatafusion-glib.8.dylib.p/meson-generated_.._enums.c.o -c datafusion-glib/enums.c
      In file included from datafusion-glib/enums.c:23:
      In file included from ../datafusion-glib/datafusion-glib.h:22:
      In file included from ../datafusion-glib/data-frame.h:22:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:25:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/array.h:22:
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-array.h:48:26: error: redefinition of typedef 'GArrowArray' is a C11 feature [-Werror,-Wtypedef-redefinition]
      G_DECLARE_DERIVABLE_TYPE(GArrowArray,
                               ^
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:622:29: note: previous definition is here
      typedef struct _GArrowArray GArrowArray;
                                  ^
      In file included from datafusion-glib/enums.c:23:
      In file included from ../datafusion-glib/datafusion-glib.h:22:
      In file included from ../datafusion-glib/data-frame.h:22:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:25:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/array.h:22:
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-array.h:768:26: error: redefinition of typedef 'GArrowExtensionArray' is a C11 feature [-Werror,-Wtypedef-redefinition]
      G_DECLARE_DERIVABLE_TYPE(GArrowExtensionArray,
                               ^
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:623:38: note: previous definition is here
      typedef struct _GArrowExtensionArray GArrowExtensionArray;
                                           ^
      In file included from datafusion-glib/enums.c:23:
      In file included from ../datafusion-glib/datafusion-glib.h:22:
      In file included from ../datafusion-glib/data-frame.h:22:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:27:
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/chunked-array.h:27:26: error: redefinition of typedef 'GArrowChunkedArray' is a C11 feature [-Werror,-Wtypedef-redefinition]
      G_DECLARE_DERIVABLE_TYPE(GArrowChunkedArray,
                               ^
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/basic-data-type.h:630:36: note: previous definition is here
      typedef struct _GArrowChunkedArray GArrowChunkedArray;
                                         ^
      In file included from datafusion-glib/enums.c:23:
      In file included from ../datafusion-glib/datafusion-glib.h:22:
      In file included from ../datafusion-glib/data-frame.h:22:
      In file included from /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/arrow-glib.h:29:
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/compute.h:370:26: error: redefinition of typedef 'GArrowCastOptions' is a C11 feature [-Werror,-Wtypedef-redefinition]
      G_DECLARE_DERIVABLE_TYPE(GArrowCastOptions,
                               ^
      /usr/local/Cellar/apache-arrow-glib/8.0.0/include/arrow-glib/scalar.h:26:35: note: previous definition is here
      typedef struct _GArrowCastOptions GArrowCastOptions;
                                        ^
      4 errors generated.
      

      Attachments

        Issue Links

          Activity

            People

              kou Kouhei Sutou
              kou Kouhei Sutou
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m