Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3475

Build on Ubuntu 20 ARM hits errors due to redeclaration of vld1q_u8_x4

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.17.0
    • 1.17.0
    • build
    • None

    Description

      When building on an Ubunu 20 ARM machine, it now uses GCC 9.4, which includes a definition of vld1q_u8_x4. The build fails with messages like this:

      20:28:53 In file included from /home/ubuntu/kudu/src/kudu/util/group_varint-inl.h:25,
      20:28:53                  from /home/ubuntu/kudu/src/kudu/util/group_varint.cc:18:
      20:28:53 /home/ubuntu/kudu/src/kudu/util/sse2neon.h:184:27: error: ‘uint8x16x4_t vld1q_u8_x4(const uint8_t*)’ redeclared inline without ‘gnu_inline’ attribute
      20:28:53   184 | FORCE_INLINE uint8x16x4_t vld1q_u8_x4(const uint8_t *p) {
      20:28:53       |                           ^~~~~~~~~~~
      20:28:53 In file included from /home/ubuntu/kudu/src/kudu/util/sse2neon.h:66,
      20:28:53                  from /home/ubuntu/kudu/src/kudu/util/group_varint-inl.h:25,
      20:28:53                  from /home/ubuntu/kudu/src/kudu/util/group_varint.cc:18:
      20:28:53 /usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:18122:1: note: ‘uint8x16x4_t vld1q_u8_x4(const uint8_t*)’ previously defined here
      20:28:53 18122 | vld1q_u8_x4 (const uint8_t *__a)
      20:28:53       | ^~~~~~~~~~~

      There have been major changes in the logic of sse2neon.h over the past couple years. The code uses a different name to avoid collisions and it has more sophisticated version checks.

      See these commits: https://github.com/DLTcollab/sse2neon/commit/e96c9818e25f019629a6b96f62382d42179eab3c

      https://github.com/DLTcollab/sse2neon/commit/26011f2ca7f22fd2b93b85fa84a2465ffc489710

      One possible fix is to update sse2neon to a more recent version.

      Attachments

        Issue Links

          Activity

            People

              joemcdonnell Joe McDonnell
              joemcdonnell Joe McDonnell
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: