Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4941

make: AIX fails with 'Identifier not allowed in cast'; syntax error in include/my_global.h

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Incomplete
    • Affects Version/s: 5.5.33a-galera
    • Fix Version/s: N/A
    • Component/s: OTHER
    • Labels:
      None
    • Environment:
      AIX 5.3 TL07 (5300-07-01-0748) - old to be more backwards compatible;
      IBM XL C/C++ for AIX, V11.1 (5724-X13)
      Version: 11.01.0000.0013

      Description

      after successful cmake, make fails at about 5%.
      As the block with the error is/was made for AIX, perhaps it was developed for gcc rather than vacpp/vac.

      tail of make output:

      [  5%] Building C object cmd-line-utils/readline/CMakeFiles/readline.dir/compat.c.o
      [  5%] Building C object cmd-line-utils/readline/CMakeFiles/readline.dir/savestring.c.o
      Linking C static library libreadline.a
      Target "cmd-line-utils/readline/CMakeFiles/readline.dir/build" is up to date.
      [  5%] Built target readline
      Scanning dependencies of target mytap
      [  5%] Building C object unittest/mytap/CMakeFiles/mytap.dir/tap.c.o
      "/data/prj/mariadb/mariadb-5.5.31/include/my_global.h", line 300.74: 1506-272 (E) Identifier not allowed in cast or sizeof declarations.
      "/data/prj/mariadb/mariadb-5.5.31/include/my_global.h", line 300.76: 1506-046 (S) Syntax error.
      "/data/prj/mariadb/mariadb-5.5.31/unittest/mytap/tap.c", line 352.49: 1506-234 (W) Expecting a new-line character on #ifdef directive.
      make: 1254-004 The error code from the last command is 1.
       
       
      Stop.
      make: 1254-004 The error code from the last command is 2.
       
       
      Stop.
      make: 1254-004 The error code from the last command is 2.
       
       
      Stop.

      ===
      FYI: from include/my_global.h

       +292  /* Go around some bugs in different OS and compilers */
        +293  #ifdef _AIX                     /* By soren@t.dk */
        +294  #define _H_STRINGS
        +295  #define _SYS_STREAM_H
        +296  /* #define _AIX32_CURSES */     /* XXX: this breaks AIX 4.3.3 (others?). */
        +297  #define ulonglong2double(A) my_ulonglong2double(A)
        +298  #define my_off_t2double(A)  my_ulonglong2double(A)
        +299  C_MODE_START
        +300  inline double my_ulonglong2double(unsigned long long A) { return (double A); }
        +301  C_MODE_END
        +302  #endif /* _AIX */
        +303
        +304  #ifdef UNDEF_HAVE_INITGROUPS                    /* For AIX 4.3 */
        +305  #undef HAVE_INITGROUPS
        +306  #endif
        +307
        +308  /* gcc/egcs issues */
        +309
        +310  #if defined(__GNUC) && defined(__EXCEPTIONS)
        +311  #error "Please add -fno-exceptions to CXXFLAGS and reconfigure/recompile"
        +312  #endif

      ===
      No idea how to proceed here - will test suggestions!

        Attachments

        1. aix_make_mariadb-5.5.33a.script
          144 kB
        2. aix_make_with_ignore_mariadb-5.5.33a.script
          105 kB
        3. aix.storage_myisam.diff
          0.6 kB
        4. aix.storage_xtradb.diff
          54 kB
        5. alloca.h
          1 kB
        6. alloca.h
          1 kB
        7. mariadb_aix.patch
          2 kB
        8. nohup.out
          506 kB
        9. nohup.out
          506 kB
        10. nohup.out.bz2
          31 kB

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              MichaelFelt Michael Felt
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved: