Re: [vpp-dev] vpp musl integration and CI
Ack. Take a look at .../extras/snap/snapcraft.yaml. I haven't built the vpp snap in a while, but this scheme (or the flatpack / appimage equivalent) finesses the multiple libc problem. There's a 0.0% chance that /bin/date will suddenly break. Been there, done that. D. From: vpp-dev@lists.fd.io On Behalf Of Nathan Moos (nmoos) via lists.fd.io Sent: Thursday, January 21, 2021 3:38 PM To: v...@barachs.net; Benoit Ganne (bganne) ; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] vpp musl integration and CI Hi, As the person who's been submitting most of these patches recently, my interest is not the size of the resulting VPP binary/image, but instead the fact that the embedded systems I'm attempting to build VPP on simply do not use glibc at all -- they use musl as the system libc. I'm much more concerned about the complexities associated with having multiple libcs than I am the size of the package. Nathan _ From: v...@barachs.net <mailto:v...@barachs.net> mailto:v...@barachs.net> > Sent: Thursday, January 21, 2021 12:11 To: Benoit Ganne (bganne) mailto:bga...@cisco.com> >; vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> mailto:vpp-dev@lists.fd.io> > Cc: Nathan Moos (nmoos) mailto:nm...@cisco.com> > Subject: RE: [vpp-dev] vpp musl integration and CI I've been down this path before. s/glibc/musl/ fixes one set of issues, and a small set at that. [Back in the good old days, vpp wasn't even linked against glibc.] Here's a quick library summary: $ ldd /usr/bin/vpp linux-vdso.so.1 (0x7ffef81f2000) libvlibmemory.so.21.06 => /lib/x86_64-linux-gnu/libvlibmemory.so.21.06 (0x7fc41d8c4000) libvnet.so.21.06 => /lib/x86_64-linux-gnu/libvnet.so.21.06 (0x7fc41bedd000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fc41bed7000) libvlib.so.21.06 => /lib/x86_64-linux-gnu/libvlib.so.21.06 (0x7fc41bd4c000) libsvm.so.21.06 => /lib/x86_64-linux-gnu/libsvm.so.21.06 (0x7fc41bd2e000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x7fc41bd23000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fc41bcfe000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x7fc41bcf5000) libvppinfra.so.21.06 => /lib/x86_64-linux-gnu/libvppinfra.so.21.06 (0x7fc41bc81000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7fc41bb32000) libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x7fc41ba9f000) libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x7fc41b7c9000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fc41b5d5000) /lib64/ld-linux-x86-64.so.2 (0x7fc41d9ba000) By the time all is said and done, there's little chance that a vpp alpine image would be less than O(10mb). I'd suggest that folks investigate single-image, one-size-fits-all packaging technology: snap, flatpak, or appimage. FWIW... Dave -Original Message- From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> mailto:vpp-dev@lists.fd.io> > On Behalf Of Benoit Ganne (bganne) via lists.fd.io Sent: Thursday, January 21, 2021 2:08 PM To: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> Cc: Nathan Moos (nmoos) mailto:nm...@cisco.com> > Subject: [vpp-dev] vpp musl integration and CI Hi everyone, There is some on-going work to make VPP works with musl libc instead of glibc: https://gerrit.fd.io/r/q/topic:%22musl%22+(status:open%20OR%20status:merged) The goal is to be able to run VPP on embedded platforms relying on musl. The modifications are overall pretty small, but we'd like to add an integration job using Alpine Linux which does use musl to make sure it will not break in the future. What do you think? Is it something that would be possible in the LF infra? Best ben -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18580): https://lists.fd.io/g/vpp-dev/message/18580 Mute This Topic: https://lists.fd.io/mt/80012247/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] vpp musl integration and CI
Hi, As the person who's been submitting most of these patches recently, my interest is not the size of the resulting VPP binary/image, but instead the fact that the embedded systems I'm attempting to build VPP on simply do not use glibc at all -- they use musl as the system libc. I'm much more concerned about the complexities associated with having multiple libcs than I am the size of the package. Nathan From: v...@barachs.net Sent: Thursday, January 21, 2021 12:11 To: Benoit Ganne (bganne) ; vpp-dev@lists.fd.io Cc: Nathan Moos (nmoos) Subject: RE: [vpp-dev] vpp musl integration and CI I've been down this path before. s/glibc/musl/ fixes one set of issues, and a small set at that. [Back in the good old days, vpp wasn't even linked against glibc.] Here's a quick library summary: $ ldd /usr/bin/vpp linux-vdso.so.1 (0x7ffef81f2000) libvlibmemory.so.21.06 => /lib/x86_64-linux-gnu/libvlibmemory.so.21.06 (0x7fc41d8c4000) libvnet.so.21.06 => /lib/x86_64-linux-gnu/libvnet.so.21.06 (0x7fc41bedd000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fc41bed7000) libvlib.so.21.06 => /lib/x86_64-linux-gnu/libvlib.so.21.06 (0x7fc41bd4c000) libsvm.so.21.06 => /lib/x86_64-linux-gnu/libsvm.so.21.06 (0x7fc41bd2e000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x7fc41bd23000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fc41bcfe000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x7fc41bcf5000) libvppinfra.so.21.06 => /lib/x86_64-linux-gnu/libvppinfra.so.21.06 (0x7fc41bc81000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7fc41bb32000) libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x7fc41ba9f000) libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x7fc41b7c9000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fc41b5d5000) /lib64/ld-linux-x86-64.so.2 (0x7fc41d9ba000) By the time all is said and done, there's little chance that a vpp alpine image would be less than O(10mb). I'd suggest that folks investigate single-image, one-size-fits-all packaging technology: snap, flatpak, or appimage. FWIW... Dave -Original Message- From: vpp-dev@lists.fd.io On Behalf Of Benoit Ganne (bganne) via lists.fd.io Sent: Thursday, January 21, 2021 2:08 PM To: vpp-dev@lists.fd.io Cc: Nathan Moos (nmoos) Subject: [vpp-dev] vpp musl integration and CI Hi everyone, There is some on-going work to make VPP works with musl libc instead of glibc: https://gerrit.fd.io/r/q/topic:%22musl%22+(status:open%20OR%20status:merged) The goal is to be able to run VPP on embedded platforms relying on musl. The modifications are overall pretty small, but we'd like to add an integration job using Alpine Linux which does use musl to make sure it will not break in the future. What do you think? Is it something that would be possible in the LF infra? Best ben -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18579): https://lists.fd.io/g/vpp-dev/message/18579 Mute This Topic: https://lists.fd.io/mt/80012247/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] vpp musl integration and CI
Dave, Any chance we could get vpp down to a single statically linked binary? That's roughly the way things are trending with Go... and it has a lot of very very nice advantages in a containerized Cloud Native world. Ed On Thu, Jan 21, 2021 at 2:11 PM Dave Barach wrote: > I've been down this path before. > > s/glibc/musl/ fixes one set of issues, and a small set at that. [Back in > the > good old days, vpp wasn't even linked against glibc.] > > Here's a quick library summary: > > $ ldd /usr/bin/vpp > linux-vdso.so.1 (0x7ffef81f2000) > libvlibmemory.so.21.06 => > /lib/x86_64-linux-gnu/libvlibmemory.so.21.06 (0x7fc41d8c4000) > libvnet.so.21.06 => /lib/x86_64-linux-gnu/libvnet.so.21.06 > (0x7fc41bedd000) > libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fc41bed7000) > libvlib.so.21.06 => /lib/x86_64-linux-gnu/libvlib.so.21.06 > (0x7fc41bd4c000) > libsvm.so.21.06 => /lib/x86_64-linux-gnu/libsvm.so.21.06 > (0x7fc41bd2e000) > librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x7fc41bd23000) > libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 > (0x7fc41bcfe000) > libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 > (0x7fc41bcf5000) > libvppinfra.so.21.06 => /lib/x86_64-linux-gnu/libvppinfra.so.21.06 > (0x7fc41bc81000) > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7fc41bb32000) > libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 > (0x7fc41ba9f000) > libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 > (0x7fc41b7c9000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fc41b5d5000) > /lib64/ld-linux-x86-64.so.2 (0x7fc41d9ba000) > > By the time all is said and done, there's little chance that a vpp alpine > image would be less than O(10mb). > > I'd suggest that folks investigate single-image, one-size-fits-all > packaging > technology: snap, flatpak, or appimage. > > FWIW... Dave > > -Original Message- > From: vpp-dev@lists.fd.io On Behalf Of Benoit Ganne > (bganne) via lists.fd.io > Sent: Thursday, January 21, 2021 2:08 PM > To: vpp-dev@lists.fd.io > Cc: Nathan Moos (nmoos) > Subject: [vpp-dev] vpp musl integration and CI > > Hi everyone, > > There is some on-going work to make VPP works with musl libc instead of > glibc: > > https://gerrit.fd.io/r/q/topic:%22musl%22+(status:open%20OR%20status:merged) > The goal is to be able to run VPP on embedded platforms relying on musl. > The modifications are overall pretty small, but we'd like to add an > integration job using Alpine Linux which does use musl to make sure it will > not break in the future. > What do you think? Is it something that would be possible in the LF infra? > > Best > ben > > > > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18577): https://lists.fd.io/g/vpp-dev/message/18577 Mute This Topic: https://lists.fd.io/mt/80012247/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] vpp musl integration and CI
I've been down this path before. s/glibc/musl/ fixes one set of issues, and a small set at that. [Back in the good old days, vpp wasn't even linked against glibc.] Here's a quick library summary: $ ldd /usr/bin/vpp linux-vdso.so.1 (0x7ffef81f2000) libvlibmemory.so.21.06 => /lib/x86_64-linux-gnu/libvlibmemory.so.21.06 (0x7fc41d8c4000) libvnet.so.21.06 => /lib/x86_64-linux-gnu/libvnet.so.21.06 (0x7fc41bedd000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x7fc41bed7000) libvlib.so.21.06 => /lib/x86_64-linux-gnu/libvlib.so.21.06 (0x7fc41bd4c000) libsvm.so.21.06 => /lib/x86_64-linux-gnu/libsvm.so.21.06 (0x7fc41bd2e000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x7fc41bd23000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fc41bcfe000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x7fc41bcf5000) libvppinfra.so.21.06 => /lib/x86_64-linux-gnu/libvppinfra.so.21.06 (0x7fc41bc81000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7fc41bb32000) libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x7fc41ba9f000) libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x7fc41b7c9000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7fc41b5d5000) /lib64/ld-linux-x86-64.so.2 (0x7fc41d9ba000) By the time all is said and done, there's little chance that a vpp alpine image would be less than O(10mb). I'd suggest that folks investigate single-image, one-size-fits-all packaging technology: snap, flatpak, or appimage. FWIW... Dave -Original Message- From: vpp-dev@lists.fd.io On Behalf Of Benoit Ganne (bganne) via lists.fd.io Sent: Thursday, January 21, 2021 2:08 PM To: vpp-dev@lists.fd.io Cc: Nathan Moos (nmoos) Subject: [vpp-dev] vpp musl integration and CI Hi everyone, There is some on-going work to make VPP works with musl libc instead of glibc: https://gerrit.fd.io/r/q/topic:%22musl%22+(status:open%20OR%20status:merged) The goal is to be able to run VPP on embedded platforms relying on musl. The modifications are overall pretty small, but we'd like to add an integration job using Alpine Linux which does use musl to make sure it will not break in the future. What do you think? Is it something that would be possible in the LF infra? Best ben -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18576): https://lists.fd.io/g/vpp-dev/message/18576 Mute This Topic: https://lists.fd.io/mt/80012247/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[vpp-dev] vpp musl integration and CI
Hi everyone, There is some on-going work to make VPP works with musl libc instead of glibc: https://gerrit.fd.io/r/q/topic:%22musl%22+(status:open%20OR%20status:merged) The goal is to be able to run VPP on embedded platforms relying on musl. The modifications are overall pretty small, but we'd like to add an integration job using Alpine Linux which does use musl to make sure it will not break in the future. What do you think? Is it something that would be possible in the LF infra? Best ben -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#18575): https://lists.fd.io/g/vpp-dev/message/18575 Mute This Topic: https://lists.fd.io/mt/80012247/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-