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

Vector search fails to compile on s390x

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 11.7.0
    • 11.7.1
    • Vector search
    • None
    • s390x (all distros)

    Description

      https://buildbot.mariadb.org/#/builders/327/builds/23658/steps/5/logs/stdio

      In file included from /home/buildbot/s390x-rhel-8/build/include/my_byteorder.h:49,
                       from /home/buildbot/s390x-rhel-8/build/include/my_global.h:1042,
                       from /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.h:20,
                       from /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc:23:
      /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc: In member function ‘virtual String* Item_func_vec_fromtext::val_str(String*)’:
      /home/buildbot/s390x-rhel-8/build/include/big_endian.h:19:53: error: incompatible types in assignment of ‘uchar’ {aka ‘unsigned char’} to ‘char [4]’
       #define float4store(T,A) do { *(T)= ((uchar *) &A)[3];\
                                                           ^
      /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc:182:9: note: in expansion of macro ‘float4store’
               float4store(&f_bin, f);
               ^~~~~~~~~~~
      /home/buildbot/s390x-rhel-8/build/include/big_endian.h:20:63: error: incompatible types in assignment of ‘char’ to ‘char [4]’
                                     *((T)+1)=(char) ((uchar *) &A)[2];\
                                                                     ^
      /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc:182:9: note: in expansion of macro ‘float4store’
               float4store(&f_bin, f);
               ^~~~~~~~~~~
      /home/buildbot/s390x-rhel-8/build/include/big_endian.h:21:63: error: incompatible types in assignment of ‘char’ to ‘char [4]’
                                     *((T)+2)=(char) ((uchar *) &A)[1];\
                                                                     ^
      /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc:182:9: note: in expansion of macro ‘float4store’
               float4store(&f_bin, f);
               ^~~~~~~~~~~
      /home/buildbot/s390x-rhel-8/build/include/big_endian.h:22:63: error: incompatible types in assignment of ‘char’ to ‘char [4]’
                                     *((T)+3)=(char) ((uchar *) &A)[0]; } while(0)
                                                                     ^
      /home/buildbot/s390x-rhel-8/build/sql/item_vectorfunc.cc:182:9: note: in expansion of macro ‘float4store’
               float4store(&f_bin, f);
               ^~~~~~~~~~~
      make[2]: *** [sql/CMakeFiles/sql.dir/build.make:344: sql/CMakeFiles/sql.dir/item_vectorfunc.cc.o] Error 1
      make[2]: *** Waiting for unfinished jobs....
      

      Attachments

        Issue Links

          Activity

            It should also be noted that unlike most ISA or ABI today, s390x uses the big endian byte order. POWER and ARM support both byte orders, but probably all GNU/Linux distributions for them today are little endian. Notably, IBM AIX runs on POWER in big endian mode.

            marko Marko Mäkelä added a comment - It should also be noted that unlike most ISA or ABI today, s390x uses the big endian byte order. POWER and ARM support both byte orders, but probably all GNU/Linux distributions for them today are little endian. Notably, IBM AIX runs on POWER in big endian mode.

            People

              serg Sergei Golubchik
              danblack Daniel Black
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.