Joe McDonnell created KUDU-3475:
-----------------------------------

             Summary: Build on Ubuntu 20 ARM hits errors due to redeclaration 
of vld1q_u8_x4
                 Key: KUDU-3475
                 URL: https://issues.apache.org/jira/browse/KUDU-3475
             Project: Kudu
          Issue Type: Bug
          Components: build
    Affects Versions: 1.17.0
            Reporter: Joe McDonnell


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:
{noformat}
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       | ^~~~~~~~~~~{noformat}
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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to