Topics

vpp compilation error against glibc2.27

nico
 

Hi,


Since my distrib ( slackware-current) updated the glibc package from 2.26 to 2.27, got this vpp compilation error:

  CC       vppinfra/timer.lo
  CC       tools/vppapigen/lex.o
In file included from /home/vpp/dev/vpp/build-root/../src/vppinfra/linux/mem.c:31:0:
/home/vpp/dev/vpp/build-root/../src/vppinfra/linux/syscall.h:43:1: error: static declaration of ‘memfd_create’ follows non-static declaration
 memfd_create (const char *name, unsigned int flags)
 ^~~~~~~~~~~~
In file included from /usr/include/bits/mman-linux.h:115:0,
                 from /usr/include/bits/mman.h:45,
                 from /usr/include/sys/mman.h:41,
                 from /home/vpp/dev/vpp/build-root/../src/vppinfra/linux/mem.c:22:
/usr/include/bits/mman-shared.h:46:5: note: previous declaration of ‘memfd_create’ was here
 int memfd_create (const char *__name, unsigned int __flags) __THROW;
     ^~~~~~~~~~~~
make[4]: *** [Makefile:6787: vppinfra/linux/mem.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[3]: *** [Makefile:7757: all-recursive] Error 1
make[3]: Leaving directory '/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[2]: *** [Makefile:3967: all] Error 2
make[2]: Leaving directory '/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[1]: *** [Makefile:686: tools-build] Error 2
make[1]: Leaving directory '/home/vpp/dev/vpp/build-root'
make: *** [Makefile:259: /home/vpp/dev/vpp/build-root/.bootstrap.ok] Error 2


Cannot tell if it's more on the VPP or GLIBC side, but though it's worth reporting.

Will try to rollback to glibc2.26


Regards,

Nico

Chris Luke
 

Looks like this syscall has been in the kernel a while, but glibc only added it in 2.27:

http://man7.org/linux/man-pages/man2/memfd_create.2.html
VERSIONS
The memfd_create() system call first appeared in Linux 3.17; glibc
support was added in version 2.27.

I suspect we'll have to rename our function of the same name.

Chris.

-----Original Message-----
From: vpp-dev@... [mailto:vpp-dev@...] On Behalf Of nico
Sent: Sunday, February 11, 2018 5:14
To: vpp-dev@...
Subject: [vpp-dev] vpp compilation error against glibc2.27

Hi,


Since my distrib ( slackware-current) updated the glibc package from
2.26 to 2.27, got this vpp compilation error:

  CC       vppinfra/timer.lo
  CC       tools/vppapigen/lex.o
In file included from
/home/vpp/dev/vpp/build-root/../src/vppinfra/linux/mem.c:31:0:
/home/vpp/dev/vpp/build-root/../src/vppinfra/linux/syscall.h:43:1:
error: static declaration of ‘memfd_create’ follows non-static declaration
 memfd_create (const char *name, unsigned int flags)
 ^~~~~~~~~~~~
In file included from /usr/include/bits/mman-linux.h:115:0,
                 from /usr/include/bits/mman.h:45,
                 from /usr/include/sys/mman.h:41,
                 from
/home/vpp/dev/vpp/build-root/../src/vppinfra/linux/mem.c:22:
/usr/include/bits/mman-shared.h:46:5: note: previous declaration of
‘memfd_create’ was here
 int memfd_create (const char *__name, unsigned int __flags) __THROW;
     ^~~~~~~~~~~~
make[4]: *** [Makefile:6787: vppinfra/linux/mem.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory
'/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[3]: *** [Makefile:7757: all-recursive] Error 1
make[3]: Leaving directory
'/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[2]: *** [Makefile:3967: all] Error 2
make[2]: Leaving directory
'/home/vpp/dev/vpp/build-root/build-tool-native/tools'
make[1]: *** [Makefile:686: tools-build] Error 2
make[1]: Leaving directory '/home/vpp/dev/vpp/build-root'
make: *** [Makefile:259: /home/vpp/dev/vpp/build-root/.bootstrap.ok]
Error 2


Cannot tell if it's more on the VPP or GLIBC side, but though it's worth
reporting.

Will try to rollback to glibc2.26


Regards,

Nico