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

IBM AIX: make stops at 57%, no error message.

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 10.0.17, 10.0.18, 10.0.21
    • Fix Version/s: None
    • Component/s: Compiling
    • Labels:
      None
    • Environment:
      AIX: 6100-08-01-1245
      Compiler: XLC/XLC++ 13.1.0.1
      cmake version 3.3.1

      Description

      build sript:

      #!/usr/bin/ksh
      
      sh BUILD/cleanup
      find /usr/local/src/mariadb-10.0.17 -name CMakeFiles -exec rm -rf {} \;
      find /usr/local/src/mariadb-10.0.17 -name CMakeCache.txt -exec rm -rf {} \;
      
      export LIBPATH="/usr/local/mariadb/dev:/usr/lib:/lib"
      export PATH="$PATH"
      export  OBJECT_MODE=64
      export CC="/opt/IBM/xlC/13.1.0/bin/xlc_r"
      export CFLAGS="-q64 -qsmp -qmaxmem=-1 -qlanglvl=extended:extc89:extc99 -qcpluscmt -DNDEBUG -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O2 -qnoipa -I/opt/freeware/include -L/opt/freeware/lib64 -L/opt/freeware/lib -bmaxdata:0x80000000 -b64 -blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -bnoipath -bexpall -b64 -ma -w"
      export CXX="/opt/IBM/xlC/13.1.0/bin/xlC_r"
      export CXXFLAGS=$CFLAGS
      export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bnoipath"
      
      cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCONNECT_WITH_LIBXML2=OFF -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" -DCMAKE_C_COMPILER="/opt/IBM/xlC/13.1.0/bin/xlc_r" -DCMAKE_CXX_COMPILER="/opt/IBM/xlC/13.1.0/bin/xlC_r" -DXTRADB_OK=1 -DWITH_SSL=bundled -DWITH_ZLIB=bundled
      
      gmake
      

      leads to:

      ...
      [ 54%] Building C object storage/maria/CMakeFiles/aria.dir/ma_pagecrc.c.o
      [ 54%] Building C object storage/maria/CMakeFiles/aria.dir/ma_recovery_util.c.o
      [ 55%] Building C object storage/maria/CMakeFiles/aria.dir/ma_servicethread.c.o
      [ 55%] Building C object storage/maria/CMakeFiles/aria.dir/ma_norec.c.o
      Linking CXX static library libaria.a
      [ 55%] Built target aria
      Scanning dependencies of target sql
      [ 55%] Building C object sql/CMakeFiles/sql.dir/__/sql-common/client.c.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/compat56.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/derror.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/des_key_file.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/discover.cc.o
      [ 55%] Building C object sql/CMakeFiles/sql.dir/__/libmysql/errmsg.c.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/field.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/field_conv.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/filesort_utils.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/filesort.cc.o
      [ 55%] Building CXX object sql/CMakeFiles/sql.dir/gstream.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/sha2.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/signal_handler.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/handler.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/hostname.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/init.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_buff.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_cmpfunc.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_create.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_func.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_row.cc.o
      [ 56%] Building CXX object sql/CMakeFiles/sql.dir/item_strfunc.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/item_subselect.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/item_sum.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/item_timefunc.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/key.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/log.cc.o
      [ 57%] Building CXX object sql/CMakeFiles/sql.dir/lock.cc.o
      

      nothing from here on, stuck in infinty loop.
      i know aix is not on the list of "supported" operating systems, but mariadb would be nice to have anyway.

      any hints?

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            serg Sergei Golubchik added a comment -

            Two thoughts:

            1. run gmake VERBOSE=1 you'll have a better insight at what command is running at the moment
            2. mroonga engine has one file (expr.c) that has a series of nested switch statements generated with macros, and all that expands into a huge switch. Old gcc fails to compile it. Newer gcc works, but with a warning that some optimizations are disabled. And either way it takes a long time to compile and needs a lot of memory.
            Show
            serg Sergei Golubchik added a comment - Two thoughts: run gmake VERBOSE=1 you'll have a better insight at what command is running at the moment mroonga engine has one file (expr.c) that has a series of nested switch statements generated with macros, and all that expands into a huge switch. Old gcc fails to compile it. Newer gcc works, but with a warning that some optimizations are disabled. And either way it takes a long time to compile and needs a lot of memory.
            Hide
            johnnyrotten73 Chris added a comment -

            Output with gmake verbosity set ->

            Building CXX object sql/CMakeFiles/sql.dir/lock.cc.o
            cd /usr/local/src/mariadb-10.0.18/sql && /opt/IBM/xlC/13.1.0/bin/xlC_r  -+ -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER -q64 -qsmp -qmaxmem=-1 -qlanglvl=extended:extc89:extc99 -qcpluscmt -DNDEBUG -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O2 -qnoipa -I/opt/freeware/include -L/opt/freeware/lib64 -L/opt/freeware/lib -bmaxdata:0x80000000 -b64 -blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -bnoipath -bexpall -b64 -ma -w -qthreaded -qhalt=e -qstaticinline -g -DDBUG_OFF -I/usr/local/src/mariadb-10.0.18/include -I/usr/local/src/mariadb-10.0.18/sql -I/usr/local/src/mariadb-10.0.18/pcre -I/usr/local/src/mariadb-10.0.18/zlib -I/usr/local/src/mariadb-10.0.18/extra/yassl/include -I/usr/local/src/mariadb-10.0.18/extra/yassl/taocrypt/include    -DHAVE_YASSL -DYASSL_PREFIX -DHAVE_OPENSSL -DMULTI_THREADED -o CMakeFiles/sql.dir/lock.cc.o -c /usr/local/src/mariadb-10.0.18/sql/lock.cc
            
            Show
            johnnyrotten73 Chris added a comment - Output with gmake verbosity set -> Building CXX object sql/CMakeFiles/sql.dir/lock.cc.o cd /usr/local/src/mariadb-10.0.18/sql && /opt/IBM/xlC/13.1.0/bin/xlC_r -+ -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER -q64 -qsmp -qmaxmem=-1 -qlanglvl=extended:extc89:extc99 -qcpluscmt -DNDEBUG -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O2 -qnoipa -I/opt/freeware/include -L/opt/freeware/lib64 -L/opt/freeware/lib -bmaxdata:0x80000000 -b64 -blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -bnoipath -bexpall -b64 -ma -w -qthreaded -qhalt=e -qstaticinline -g -DDBUG_OFF -I/usr/local/src/mariadb-10.0.18/include -I/usr/local/src/mariadb-10.0.18/sql -I/usr/local/src/mariadb-10.0.18/pcre -I/usr/local/src/mariadb-10.0.18/zlib -I/usr/local/src/mariadb-10.0.18/extra/yassl/include -I/usr/local/src/mariadb-10.0.18/extra/yassl/taocrypt/include -DHAVE_YASSL -DYASSL_PREFIX -DHAVE_OPENSSL -DMULTI_THREADED -o CMakeFiles/sql.dir/lock.cc.o -c /usr/local/src/mariadb-10.0.18/sql/lock.cc
            Hide
            johnnyrotten73 Chris added a comment - - edited

            switched from xlc to gcc to rule out xlc incompatibilities with gccisms.

            #!/usr/bin/ksh
            
            sh BUILD/cleanup
            find /usr/local/src/mariadb-10.0.18 -name CMakeFiles -exec rm -rf {} \;
            find /usr/local/src/mariadb-10.0.18 -name CMakeCache.txt -exec rm -rf {} \;
            
            export LIBPATH="/usr/local/mariadb/dev:/usr/lib:/lib"
            export PATH="$PATH"
            export OBJECT_MODE=64
            export CC="/usr/bin/gcc"
            export CFLAGS="-maix64 -mfull-toc -pthread -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51  -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -w"
            export CXX="/usr/bin/g++"
            export CXXFLAGS=$CFLAGS
            export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bnoipath"
            
            cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCONNECT_WITH_LIBXML2=OFF -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++" -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_EXTRA_CHARSETS=complex -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=ON -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_TOKUDB_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF
            
            #-DXTRADB_OK=1 -DWITHOUT_XTRADB_STORAGE_ENGINE=1
            
            #gmake VERBOSE=1
            gmake
            

            compiles sql.dir/lock.cc without a hitch, but brings up a new more serious showstopper.

            usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp: In member function 'TABDEF* OEMDEF::GetXdef(PGLOBAL)':
            /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:472:3: error: 'Dl_info' was not declared in this scope
               Dl_info dl_info;
               ^
            /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:472:11: error: expected ';' before 'dl_info'
               Dl_info dl_info;
                       ^
            /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:475:30: error: 'dl_info' was not declared in this scope
               if (dladdr(&connect_hton, &dl_info)) {
                                          ^
            /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:475:37: error: 'dladdr' was not declared in this scope
               if (dladdr(&connect_hton, &dl_info)) {
                                                 ^
            /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:476:35: error: 'RTLD_NOLOAD' was not declared in this scope
                 if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) {
            
            }
            
            
            const char *error = NULL;
              Dl_info dl_info;
            
              // The OEM lib must retrieve exported CONNECT variables
              if (dladdr(&connect_hton, &dl_info)) {
                if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) {
                  error = dlerror();
                  sprintf(g->Message, "dlopen failed: %s, OEM not supported", SVP(error));
                  return NULL;
                  } // endif dlopen
            
            

            di_info is not present on aix. nice to see windows defined at first placed and one else for everything else. so no aix module load support, which looks like a dead end to me.

            Show
            johnnyrotten73 Chris added a comment - - edited switched from xlc to gcc to rule out xlc incompatibilities with gccisms. #!/usr/bin/ksh sh BUILD/cleanup find /usr/local/src/mariadb-10.0.18 -name CMakeFiles -exec rm -rf {} \; find /usr/local/src/mariadb-10.0.18 -name CMakeCache.txt -exec rm -rf {} \; export LIBPATH= "/usr/local/mariadb/dev:/usr/lib:/lib" export PATH= "$PATH" export OBJECT_MODE=64 export CC= "/usr/bin/gcc" export CFLAGS= "-maix64 -mfull-toc -pthread -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -w" export CXX= "/usr/bin/g++" export CXXFLAGS=$CFLAGS export LDFLAGS= "-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bnoipath" cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCONNECT_WITH_LIBXML2=OFF -DCMAKE_C_FLAGS= "$CFLAGS" -DCMAKE_CXX_FLAGS= "$CFLAGS" -DCMAKE_EXE_LINKER_FLAGS= "$LDFLAGS" -DCMAKE_SHARED_LINKER_FLAGS= "$LDFLAGS" -DCMAKE_C_COMPILER= "/usr/bin/gcc" -DCMAKE_CXX_COMPILER= "/usr/bin/g++" -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_EXTRA_CHARSETS=complex -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=ON -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_PBXT_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_TOKUDB_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=OFF #-DXTRADB_OK=1 -DWITHOUT_XTRADB_STORAGE_ENGINE=1 #gmake VERBOSE=1 gmake compiles sql.dir/lock.cc without a hitch, but brings up a new more serious showstopper. usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp: In member function 'TABDEF* OEMDEF::GetXdef(PGLOBAL)': /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:472:3: error: 'Dl_info' was not declared in this scope Dl_info dl_info; ^ /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:472:11: error: expected ';' before 'dl_info' Dl_info dl_info; ^ /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:475:30: error: 'dl_info' was not declared in this scope if (dladdr(&connect_hton, &dl_info)) { ^ /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:475:37: error: 'dladdr' was not declared in this scope if (dladdr(&connect_hton, &dl_info)) { ^ /usr/local/src/mariadb-10.0.18/storage/connect/reldef.cpp:476:35: error: 'RTLD_NOLOAD' was not declared in this scope if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) { } const char *error = NULL; Dl_info dl_info; // The OEM lib must retrieve exported CONNECT variables if (dladdr(&connect_hton, &dl_info)) { if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) { error = dlerror(); sprintf(g->Message, "dlopen failed: %s, OEM not supported" , SVP(error)); return NULL; } // endif dlopen di_info is not present on aix. nice to see windows defined at first placed and one else for everything else. so no aix module load support, which looks like a dead end to me.
            Hide
            johnnyrotten73 Chris added a comment -

            commented out some useless crap code in reldef.cpp.

            /*
              Dl_info dl_info;
            
              // The OEM lib must retrieve exported CONNECT variables
              if (dladdr(&connect_hton, &dl_info)) {
                if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) {
                  error = dlerror();
                  sprintf(g->Message, "dlopen failed: %s, OEM not supported", SVP(error));
                  return NULL;
                  } // endif dlopen
            
              } else {
                error = dlerror();
                sprintf(g->Message, "dladdr failed: %s, OEM not supported", SVP(error));
                return NULL;
              } // endif dladdr
            */
            

            compile was succesful and tests passed. not sure what these means in a real usage scenario.

            
            root@aixbuildhost61: /usr/local/src/mariadb-10.0.18 # gmake test
            Running tests...
            Test project /usr/local/src/mariadb-10.0.18
                  Start  1: pcre_test
             1/46 Test  #1: pcre_test ........................   Passed    6.16 sec
                  Start  2: pcre_grep_test
             2/46 Test  #2: pcre_grep_test ...................   Passed    1.65 sec
                  Start  3: strings
             3/46 Test  #3: strings ..........................   Passed    0.31 sec
                  Start  4: simple
             4/46 Test  #4: simple ...........................   Passed    0.35 sec
                  Start  5: skip
             5/46 Test  #5: skip .............................   Passed    0.00 sec
                  Start  6: todo
             6/46 Test  #6: todo .............................   Passed    0.00 sec
                  Start  7: skip_all
             7/46 Test  #7: skip_all .........................   Passed    0.04 sec
                  Start  8: no_plan
             8/46 Test  #8: no_plan ..........................   Passed    0.01 sec
                  Start  9: bitmap
             9/46 Test  #9: bitmap ...........................   Passed    0.23 sec
                  Start 10: base64
            10/46 Test #10: base64 ...........................   Passed    0.17 sec
                  Start 11: my_vsnprintf
            11/46 Test #11: my_vsnprintf .....................   Passed    0.01 sec
                  Start 12: my_atomic
            12/46 Test #12: my_atomic ........................   Passed    0.11 sec
                  Start 13: my_rdtsc
            13/46 Test #13: my_rdtsc .........................   Passed    0.14 sec
                  Start 14: lf
            14/46 Test #14: lf ...............................   Passed    0.15 sec
                  Start 15: my_malloc
            15/46 Test #15: my_malloc ........................   Passed    0.01 sec
                  Start 16: ma_dyncol
            16/46 Test #16: ma_dyncol ........................   Passed    0.02 sec
                  Start 17: my_decimal
            17/46 Test #17: my_decimal .......................   Passed    0.01 sec
                  Start 18: my_apc
            18/46 Test #18: my_apc ...........................   Passed    7.81 sec
                  Start 19: explain_filename
            19/46 Test #19: explain_filename .................   Passed    0.21 sec
                  Start 20: ma_control_file
            20/46 Test #20: ma_control_file ..................   Passed    0.08 sec
                  Start 21: trnman
            21/46 Test #21: trnman ...........................   Passed    0.27 sec
                  Start 22: ma_test_loghandler
            22/46 Test #22: ma_test_loghandler ...............   Passed    3.45 sec
                  Start 23: ma_test_loghandler_multigroup
            23/46 Test #23: ma_test_loghandler_multigroup ....   Passed    0.01 sec
                  Start 24: ma_test_loghandler_multithread
            24/46 Test #24: ma_test_loghandler_multithread ...   Passed    2.18 sec
                  Start 25: ma_test_loghandler_pagecache
            25/46 Test #25: ma_test_loghandler_pagecache .....   Passed    0.04 sec
                  Start 26: ma_test_loghandler_long
            26/46 Test #26: ma_test_loghandler_long ..........   Passed    0.70 sec
                  Start 27: ma_test_loghandler_noflush
            27/46 Test #27: ma_test_loghandler_noflush .......   Passed    0.04 sec
                  Start 28: ma_test_loghandler_first_lsn
            28/46 Test #28: ma_test_loghandler_first_lsn .....   Passed    0.04 sec
                  Start 29: ma_test_loghandler_max_lsn
            29/46 Test #29: ma_test_loghandler_max_lsn .......   Passed    0.45 sec
                  Start 30: ma_test_loghandler_purge
            30/46 Test #30: ma_test_loghandler_purge .........   Passed    0.53 sec
                  Start 31: ma_test_loghandler_readonly
            31/46 Test #31: ma_test_loghandler_readonly ......   Passed    0.07 sec
                  Start 32: ma_test_loghandler_nologs
            32/46 Test #32: ma_test_loghandler_nologs ........   Passed    0.35 sec
                  Start 33: ma_pagecache_single_1k
            33/46 Test #33: ma_pagecache_single_1k ...........   Passed    0.64 sec
                  Start 34: ma_pagecache_single_8k
            34/46 Test #34: ma_pagecache_single_8k ...........   Passed    0.01 sec
                  Start 35: ma_pagecache_single_64k
            35/46 Test #35: ma_pagecache_single_64k ..........   Passed    0.01 sec
                  Start 36: ma_pagecache_consist_1k
            36/46 Test #36: ma_pagecache_consist_1k ..........   Passed    0.01 sec
                  Start 37: ma_pagecache_consist_64k
            37/46 Test #37: ma_pagecache_consist_64k .........   Passed    0.01 sec
                  Start 38: ma_pagecache_consist_1kHC
            38/46 Test #38: ma_pagecache_consist_1kHC ........   Passed    0.01 sec
                  Start 39: ma_pagecache_consist_64kHC
            39/46 Test #39: ma_pagecache_consist_64kHC .......   Passed    0.01 sec
                  Start 40: ma_pagecache_consist_1kRD
            40/46 Test #40: ma_pagecache_consist_1kRD ........   Passed    0.24 sec
                  Start 41: ma_pagecache_consist_64kRD
            41/46 Test #41: ma_pagecache_consist_64kRD .......   Passed   13.51 sec
                  Start 42: ma_pagecache_consist_1kWR
            42/46 Test #42: ma_pagecache_consist_1kWR ........   Passed    0.56 sec
                  Start 43: ma_pagecache_consist_64kWR
            43/46 Test #43: ma_pagecache_consist_64kWR .......   Passed   15.31 sec
                  Start 44: ma_pagecache_rwconsist_1k
            44/46 Test #44: ma_pagecache_rwconsist_1k ........   Passed    0.01 sec
                  Start 45: ma_pagecache_rwconsist2_1k
            45/46 Test #45: ma_pagecache_rwconsist2_1k .......   Passed    0.01 sec
                  Start 46: dbug
            46/46 Test #46: dbug .............................   Passed    0.05 sec
            
            100% tests passed, 0 tests failed out of 46
            
            Total Test time (real) =  57.22 sec
            
            
            
            Show
            johnnyrotten73 Chris added a comment - commented out some useless crap code in reldef.cpp. /* Dl_info dl_info; // The OEM lib must retrieve exported CONNECT variables if (dladdr(&connect_hton, &dl_info)) { if (dlopen(dl_info.dli_fname, RTLD_NOLOAD | RTLD_NOW | RTLD_GLOBAL) == 0) { error = dlerror(); sprintf(g->Message, "dlopen failed: %s, OEM not supported" , SVP(error)); return NULL; } // endif dlopen } else { error = dlerror(); sprintf(g->Message, "dladdr failed: %s, OEM not supported" , SVP(error)); return NULL; } // endif dladdr */ compile was succesful and tests passed. not sure what these means in a real usage scenario. root@aixbuildhost61: /usr/local/src/mariadb-10.0.18 # gmake test Running tests... Test project /usr/local/src/mariadb-10.0.18 Start 1: pcre_test 1/46 Test #1: pcre_test ........................ Passed 6.16 sec Start 2: pcre_grep_test 2/46 Test #2: pcre_grep_test ................... Passed 1.65 sec Start 3: strings 3/46 Test #3: strings .......................... Passed 0.31 sec Start 4: simple 4/46 Test #4: simple ........................... Passed 0.35 sec Start 5: skip 5/46 Test #5: skip ............................. Passed 0.00 sec Start 6: todo 6/46 Test #6: todo ............................. Passed 0.00 sec Start 7: skip_all 7/46 Test #7: skip_all ......................... Passed 0.04 sec Start 8: no_plan 8/46 Test #8: no_plan .......................... Passed 0.01 sec Start 9: bitmap 9/46 Test #9: bitmap ........................... Passed 0.23 sec Start 10: base64 10/46 Test #10: base64 ........................... Passed 0.17 sec Start 11: my_vsnprintf 11/46 Test #11: my_vsnprintf ..................... Passed 0.01 sec Start 12: my_atomic 12/46 Test #12: my_atomic ........................ Passed 0.11 sec Start 13: my_rdtsc 13/46 Test #13: my_rdtsc ......................... Passed 0.14 sec Start 14: lf 14/46 Test #14: lf ............................... Passed 0.15 sec Start 15: my_malloc 15/46 Test #15: my_malloc ........................ Passed 0.01 sec Start 16: ma_dyncol 16/46 Test #16: ma_dyncol ........................ Passed 0.02 sec Start 17: my_decimal 17/46 Test #17: my_decimal ....................... Passed 0.01 sec Start 18: my_apc 18/46 Test #18: my_apc ........................... Passed 7.81 sec Start 19: explain_filename 19/46 Test #19: explain_filename ................. Passed 0.21 sec Start 20: ma_control_file 20/46 Test #20: ma_control_file .................. Passed 0.08 sec Start 21: trnman 21/46 Test #21: trnman ........................... Passed 0.27 sec Start 22: ma_test_loghandler 22/46 Test #22: ma_test_loghandler ............... Passed 3.45 sec Start 23: ma_test_loghandler_multigroup 23/46 Test #23: ma_test_loghandler_multigroup .... Passed 0.01 sec Start 24: ma_test_loghandler_multithread 24/46 Test #24: ma_test_loghandler_multithread ... Passed 2.18 sec Start 25: ma_test_loghandler_pagecache 25/46 Test #25: ma_test_loghandler_pagecache ..... Passed 0.04 sec Start 26: ma_test_loghandler_long 26/46 Test #26: ma_test_loghandler_long .......... Passed 0.70 sec Start 27: ma_test_loghandler_noflush 27/46 Test #27: ma_test_loghandler_noflush ....... Passed 0.04 sec Start 28: ma_test_loghandler_first_lsn 28/46 Test #28: ma_test_loghandler_first_lsn ..... Passed 0.04 sec Start 29: ma_test_loghandler_max_lsn 29/46 Test #29: ma_test_loghandler_max_lsn ....... Passed 0.45 sec Start 30: ma_test_loghandler_purge 30/46 Test #30: ma_test_loghandler_purge ......... Passed 0.53 sec Start 31: ma_test_loghandler_readonly 31/46 Test #31: ma_test_loghandler_readonly ...... Passed 0.07 sec Start 32: ma_test_loghandler_nologs 32/46 Test #32: ma_test_loghandler_nologs ........ Passed 0.35 sec Start 33: ma_pagecache_single_1k 33/46 Test #33: ma_pagecache_single_1k ........... Passed 0.64 sec Start 34: ma_pagecache_single_8k 34/46 Test #34: ma_pagecache_single_8k ........... Passed 0.01 sec Start 35: ma_pagecache_single_64k 35/46 Test #35: ma_pagecache_single_64k .......... Passed 0.01 sec Start 36: ma_pagecache_consist_1k 36/46 Test #36: ma_pagecache_consist_1k .......... Passed 0.01 sec Start 37: ma_pagecache_consist_64k 37/46 Test #37: ma_pagecache_consist_64k ......... Passed 0.01 sec Start 38: ma_pagecache_consist_1kHC 38/46 Test #38: ma_pagecache_consist_1kHC ........ Passed 0.01 sec Start 39: ma_pagecache_consist_64kHC 39/46 Test #39: ma_pagecache_consist_64kHC ....... Passed 0.01 sec Start 40: ma_pagecache_consist_1kRD 40/46 Test #40: ma_pagecache_consist_1kRD ........ Passed 0.24 sec Start 41: ma_pagecache_consist_64kRD 41/46 Test #41: ma_pagecache_consist_64kRD ....... Passed 13.51 sec Start 42: ma_pagecache_consist_1kWR 42/46 Test #42: ma_pagecache_consist_1kWR ........ Passed 0.56 sec Start 43: ma_pagecache_consist_64kWR 43/46 Test #43: ma_pagecache_consist_64kWR ....... Passed 15.31 sec Start 44: ma_pagecache_rwconsist_1k 44/46 Test #44: ma_pagecache_rwconsist_1k ........ Passed 0.01 sec Start 45: ma_pagecache_rwconsist2_1k 45/46 Test #45: ma_pagecache_rwconsist2_1k ....... Passed 0.01 sec Start 46: dbug 46/46 Test #46: dbug ............................. Passed 0.05 sec 100% tests passed, 0 tests failed out of 46 Total Test time (real) = 57.22 sec
            Hide
            johnnyrotten73 Chris added a comment -

            In summary it can be said, that a compile with ibm's xlc/xlC will not work for reasons unknown (maybe a bug in the ibm compiler or shitty code inside mariadb).

            using th gnu compiler produces a working distribution.

            root@aixbuildhost61: /usr/local/src/mariadb-10.0.18 # gcc -v
            Using built-in specs.
            COLLECT_GCC=gcc
            COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.8.2/lto-wrapper
            Target: powerpc-ibm-aix6.1.0.0
            Configured with: ../gcc-4.8.2/configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --enable-version-specific-runtime-libs --disable-nls --enable-decimal-float=dpd --host=powerpc-ibm-aix6.1.0.0
            Thread model: aix
            gcc version 4.8.2 (GCC)

            gcc-cpp-4.8.2-1
            libgcc-4.8.2-1
            gcc-c++-4.8.2-1
            gcc-4.8.2-1

            i used this build script:

            
            #!/usr/bin/ksh
            
            sh BUILD/cleanup
            find /usr/local/src/mariadb-10.0.18 -name CMakeFiles -exec rm -rf {} \;
            find /usr/local/src/mariadb-10.0.18 -name CMakeCache.txt -exec rm -rf {} \;
            
            export LIBPATH="/usr/local/mariadb/dev:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib"
            export PATH="$PATH"
            export OBJECT_MODE=64
            export CC="/usr/bin/gcc"
            export CFLAGS="-maix64 -mfull-toc -pthread -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51  -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bexpfull -Wl,-bnoipath -Wl,-bbigtoc -w"
            export CXX="/usr/bin/g++"
            export CXXFLAGS=$CFLAGS
            export LDFLAGS="-Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bexpfull -Wl,-bnoipath -Wl,-bbigtoc"
            
            cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCONNECT_WITH_LIBXML2=OFF -DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CFLAGS" -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++" -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_EXTRA_CHARSETS=complex -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=ON -DWITH_JEMALLOC=NO -DWITH_PCRE=bundled -DWITH_UNIT_TESTS=OFF
            
            #-DXTRADB_OK=1 -DWITHOUT_XTRADB_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_TOKUDB_STORAGE_ENGINE=1
            
            gmake VERBOSE=1
            #gmake
            
            

            maybe this whole stuff will be helpfull for some other aix builders.

            Show
            johnnyrotten73 Chris added a comment - In summary it can be said, that a compile with ibm's xlc/xlC will not work for reasons unknown (maybe a bug in the ibm compiler or shitty code inside mariadb). using th gnu compiler produces a working distribution. root@aixbuildhost61: /usr/local/src/mariadb-10.0.18 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/4.8.2/lto-wrapper Target: powerpc-ibm-aix6.1.0.0 Configured with: ../gcc-4.8.2/configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --enable-version-specific-runtime-libs --disable-nls --enable-decimal-float=dpd --host=powerpc-ibm-aix6.1.0.0 Thread model: aix gcc version 4.8.2 (GCC) gcc-cpp-4.8.2-1 libgcc-4.8.2-1 gcc-c++-4.8.2-1 gcc-4.8.2-1 i used this build script: #!/usr/bin/ksh sh BUILD/cleanup find /usr/local/src/mariadb-10.0.18 -name CMakeFiles -exec rm -rf {} \; find /usr/local/src/mariadb-10.0.18 -name CMakeCache.txt -exec rm -rf {} \; export LIBPATH= "/usr/local/mariadb/dev:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib" export PATH= "$PATH" export OBJECT_MODE=64 export CC= "/usr/bin/gcc" export CFLAGS= "-maix64 -mfull-toc -pthread -DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_AIX52 -D_AIX53 -D_AIX61 -D_AIX71 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include -Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bexpfull -Wl,-bnoipath -Wl,-bbigtoc -w" export CXX= "/usr/bin/g++" export CXXFLAGS=$CFLAGS export LDFLAGS= "-Wl,-blibpath:/usr/local/mariadb/dev:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -Wl,-b64 -Wl,-bexpall -Wl,-bexpfull -Wl,-bnoipath -Wl,-bbigtoc" cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DCONNECT_WITH_LIBXML2=OFF -DCMAKE_C_FLAGS= "$CFLAGS" -DCMAKE_CXX_FLAGS= "$CFLAGS" -DCMAKE_EXE_LINKER_FLAGS= "$LDFLAGS" -DCMAKE_SHARED_LINKER_FLAGS= "$LDFLAGS" -DCMAKE_C_COMPILER= "/usr/bin/gcc" -DCMAKE_CXX_COMPILER= "/usr/bin/g++" -DWITH_SSL=bundled -DWITH_ZLIB=bundled -DWITH_EXTRA_CHARSETS=complex -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=ON -DWITH_JEMALLOC=NO -DWITH_PCRE=bundled -DWITH_UNIT_TESTS=OFF #-DXTRADB_OK=1 -DWITHOUT_XTRADB_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_TOKUDB_STORAGE_ENGINE=1 gmake VERBOSE=1 #gmake maybe this whole stuff will be helpfull for some other aix builders.
            Hide
            johnnyrotten73 Chris added a comment -

            this bug still exists in 10.0.21

            make still stops at sql/CMakeFiles/sql.dir/lock.cc.o

            Show
            johnnyrotten73 Chris added a comment - this bug still exists in 10.0.21 make still stops at sql/CMakeFiles/sql.dir/lock.cc.o
            Hide
            johnnyrotten73 Chris added a comment -

            i found out what the problem is. by removing the "-qsmp" option from CFLAGS the build continues. seems the mariadb code does not work well with this option.

            Show
            johnnyrotten73 Chris added a comment - i found out what the problem is. by removing the "-qsmp" option from CFLAGS the build continues. seems the mariadb code does not work well with this option.

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                johnnyrotten73 Chris
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: