> On 31 Oct 2019, at 21:41, Christian Hopps <cho...@chopps.org> wrote: > >> >> On Oct 31, 2019, at 4:03 PM, Damjan Marion via Lists.Fd.Io >> <dmarion=me....@lists.fd.io> wrote: >> >> >> Let me clarify a bit more, as i can see that this still may be confusing: >> >> 1) VPP is using cmake to build binaries and packages, all cmake related >> stuff is in src/. >> >> 2) there is build-root/Makefile and files in build-data/* which are part of >> old build system called ebuild >> - ebuild is very complex set of make scripts which have similar >> functionality like buildroot, it was able to build kernel, toolchain , >> userspace tools and libraries >> - today we don't use much of ebuild, it is just used to run VPP cmake >> prioject in the right directory with he right set of command line arguments >> >> 3) Other Makefiles >> - top level makefile >> - external deps makefiles in build/external/ > >> >> My comment bellow is that only 1) is really needed to build VPP, people can >> decide to use own build system like buildroot or yocto and invoke >> cmake directly, and completely ignore 2) and 3). In such case selected build >> system also needs to take care for dependencies like DPDK. > > FWIW, (3) includes "build/external/patches/" which patch the standard > distributions to add extra functionality. These patches could/will presumably > eventually be upstreamed, but it's pretty useful for getting work done in the > meantime.
Not sure how is this related to this discussion, but to address your concerns i just submitted changes to remove 2 out of 3 patches. 3rd one is related to quickly library, and I will do my best to encourage authors to upstream that :) > >> ebuild 2) have excellent cross compilation support for building target >> images when those images contain everything from kernel and libraries to vpp >> but it is not appropriate tool for creating distribution packages, i.e. >> creating Centos ARM rpms on Ubuntu x86 machine. That is the reason why i >> tried to see if we can use docker instead to be able to build cross-arch, >> cross-distro or cross-distro-version (or all 3 together) packages. >> While my patch is incomplete, it looks to me like this approach will work. >> >> My patch does native compilation only if TARGET_QUAD is equal to HOST_QUAD, >> where QUAD is: >> - distro name (ubuntu, centos) >> - distro version (18.04, 7.3) >> - arch (x86_64, aarch64, ...) >> - platform (generic, thunderx, ….) >> >> it also support multiple build_types (release, debug, gcov, … ) >> >> At this point it is just early draft, but it shows some basic mechanics used >> to produce both native and cross packages. >> >> >>> On 31 Oct 2019, at 20:32, Damjan Marion via Lists.Fd.Io >>> <dmarion=me....@lists.fd.io> wrote: >>> >>> I have similar scheme on my mind, where you can have platform specific mk >>> files loaded…. >>> >>>> On 31 Oct 2019, at 20:23, Nitin Saxena <nsax...@marvell.com> wrote: >>>> >>>> Hi, >>>> >>>>>> cmake /path/to/vpp/src [your favorite xcompile args] cmake —build . >>>> Instead of having a shell script to pass cmake commands, I really liked >>>> the idea of passing vpp_cmake_args from build-data/platforms/*.mk >>>> (https://gerrit.fd.io/r/#/c/vpp/+/21035/23/build-data/platforms/native.mk@42). >>>> Any comment of taking those changes? >>>> >>>> Thanks, >>>> Nitin >>>> >>>>> -----Original Message----- >>>>> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan >>>>> Marion via Lists.Fd.Io >>>>> Sent: Friday, November 1, 2019 12:15 AM >>>>> To: Christian Hopps <cho...@chopps.org> >>>>> Cc: vpp-dev@lists.fd.io >>>>> Subject: [EXT] Re: [vpp-dev] cross-compilation support >>>>> >>>>> External Email >>>>> >>>>> ---------------------------------------------------------------------- >>>>> >>>>> Nobody requires you to use docker, you are free to pass right arguments >>>>> straight to the cmake. >>>>> >>>>> All the stuff in build-data, build-root, build/ is optional, and it is >>>>> there to help >>>>> developers to stage workspace and create packages but VPP can be built as >>>>> simple as: >>>>> >>>>> mkdir build >>>>> cd build >>>>> cmake /path/to/vpp/src [your favorite xcompile args] cmake —build . >>>>> >>>>> >>>>> >>>>>> On 31 Oct 2019, at 19:39, Christian Hopps <cho...@chopps.org> wrote: >>>>>> >>>>>> I mean to call out the use of docker/qemu. In order to allow for this the >>>>> user has to have extra privileges. >>>>>> >>>>>> As I mentioned, locally we use docker for building, I like it, it's a >>>>>> nice tool; >>>>> however, my personal opinion is that it seems wrong to require docker >>>>> and/or qemu for compiling an open source project. >>>>>> >>>>>> Important in holding this opinion is that it's seems possible to make >>>>>> this >>>>> work w/o docker/qemu/root, I think someone just has to find the time to >>>>> make an acceptable to the project working patch. >>>>>> >>>>>> I asked internally and it seems that our changes to support x-compile do >>>>> not go as far as producing debian/ubuntu packages, so they aren't ready >>>>> for >>>>> upstreaming, unfortunately. >>>>>> >>>>>> Thanks, >>>>>> Chris. >>>>>> >>>>>>> On Oct 31, 2019, at 2:23 PM, Damjan Marion <dmar...@me.com> wrote: >>>>>>> >>>>>>> >>>>>>> That is just copy paste from Ben’s command line. >>>>>>> >>>>>>> As. i wrote, this is just about presenting the concept... >>>>>>> >>>>>>>> On 31 Oct 2019, at 18:39, Christian Hopps <cho...@chopps.org> wrote: >>>>>>>> >>>>>>>> Requiring root privileges for building software is pretty atypical and >>>>> limiting, even for x-compiling. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Chris. >>>>>>>> >>>>>>>>> On Oct 31, 2019, at 12:45 PM, Damjan Marion via Lists.Fd.Io >>>>> <dmarion=me....@lists.fd.io> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> So what people think about following approach for cross-compilation: >>>>>>>>> >>>>>>>>> Patch: >>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.fd.io_r >>>>>>>>> _c_vpp_- >>>>> 2B_23153&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO >>>>>>>>> >>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n_ >>>>>>>>> oePUFrlQ&s=Lk5OD0CVQuGPdj-h0TfK-m8NMJj0Zci0EhjBcQxYn2E&e= >>>>>>>>> >>>>>>>>> At the moment this is just to show idea, so it works only for >>>>>>>>> x86-to-x86 and between ubuntu versions only but it can be easily >>>>> extended to scenarios like build vpp packages for AArch64 centos7 on >>>>> ubuntu x86 host. >>>>>>>>> >>>>>>>>> export CROSS_DISTRO_NAME=ubuntu >>>>>>>>> exprot CROSS_DISTRO_VER=18.04 >>>>>>>>> export CROSS_ARCH=x86_64 >>>>>>>>> export CROSS_TARGET=release >>>>>>>>> >>>>>>>>> $ make cross-env-init >>>>>>>>> >>>>>>>>> this is executed once, it creates docker container named "vpp-dev-env- >>>>> ubuntu-18.04-x86_64”, install all dependencies including DPDK and other >>>>> libs” >>>>>>>>> >>>>>>>>> $ make cross-env-update >>>>>>>>> >>>>>>>>> updates cross-env to latest packages and ext-deps >>>>>>>>> >>>>>>>>> $ make cross-shell >>>>>>>>> >>>>>>>>> starts shell inside cross-env >>>>>>>>> >>>>>>>>> $ make cross-package >>>>>>>>> >>>>>>>>> builds VPP and creates packages: >>>>>>>>> >>>>>>>>> ls -la build/ubuntu-18.04-x86_64-release total 11716 >>>>>>>>> drwxr-xr-x 3 root root 4096 Oct 31 17:30 . >>>>>>>>> drwxrwxr-x 4 damarion damarion 4096 Oct 31 17:36 .. >>>>>>>>> drwxr-xr-x 22 root root 4096 Oct 31 17:30 build >>>>>>>>> -rw-r--r-- 1 root root 190124 Oct 31 17:30 >>>>>>>>> libvppinfra_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 145056 Oct 31 17:30 >>>>>>>>> libvppinfra-dev_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 23140 Oct 31 17:30 >>>>>>>>> python3-vpp-api_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 8815 Oct 31 17:30 >>>>>>>>> vpp_20.01-rc0~555- >>>>> g7f980bcfe_amd64.buildinfo >>>>>>>>> -rw-r--r-- 1 root root 4147 Oct 31 17:30 >>>>>>>>> vpp_20.01-rc0~555- >>>>> g7f980bcfe_amd64.changes >>>>>>>>> -rw-r--r-- 1 root root 3674024 Oct 31 17:30 >>>>>>>>> vpp_20.01-rc0~555- >>>>> g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 23104 Oct 31 17:30 >>>>>>>>> vpp-api-python_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 719712 Oct 31 17:30 >>>>>>>>> vpp-dbg_20.01-rc0~555- >>>>> g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 915744 Oct 31 17:30 >>>>>>>>> vpp-dev_20.01-rc0~555- >>>>> g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 3113820 Oct 31 17:30 >>>>>>>>> vpp-plugin-core_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> -rw-r--r-- 1 root root 3144784 Oct 31 17:30 >>>>>>>>> vpp-plugin-dpdk_20.01- >>>>> rc0~555-g7f980bcfe_amd64.deb >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=- >>>>>>>>> Links: You receive all messages sent to this group. >>>>>>>>> >>>>>>>>> View/Reply Online (#14428): >>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_g_ >>>>>>>>> vpp- >>>>> 2Ddev_message_14428&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7ji >>>>> b >>>>>>>>> >>>>> YAtA5YOvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeD >>>>> RXZev-Z >>>>>>>>> VMwh0n_oePUFrlQ&s=iBMmIxh4KnS1Ig6WteL2- >>>>> 14ET0OV4oviKkohF5pvnKI&e= >>>>>>>>> Mute This Topic: >>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_mt >>>>>>>>> >>>>> _40199795_1826170&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibY >>>>> AtA5Y >>>>>>>>> >>>>> OvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n >>>>>>>>> _oePUFrlQ&s=MfbIY3-EEVgV9eXT0IgUFliXj2yF4LQ5C8SDZWKqEIA&e= >>>>>>>>> Group Owner: vpp-dev+ow...@lists.fd.io >>>>>>>>> Unsubscribe: https://urldefense.proofpoint.com/v2/url?u=https- >>>>> 3A__lists.fd.io_g_vpp- >>>>> 2Ddev_unsub&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO >>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n_oePUFrlQ&s=WBlsVcHNJGCJ9xYyS9QwicssF0GaRcoS8m- >>>>> 2KINBAQ0&e= [cho...@chopps.org] >>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=- >>>>>>>> >>>>>>> >>>>>> >>>>>> -=-=-=-=-=-=-=-=-=-=-=- >>>>>> Links: You receive all messages sent to this group. >>>>>> >>>>>> View/Reply Online (#14434): >>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_g_vpp >>>>>> - >>>>> 2Ddev_message_14434&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7ji >>>>> bYAtA5Y >>>>>> >>>>> OvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n_oe >>>>>> PUFrlQ&s=oJ64M8FgFtN93xTTErLxt85eClgNdxMohhu2Fk8vCuU&e= >>>>>> Mute This Topic: >>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_mt_40 >>>>>> >>>>> 199795_675642&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5Y >>>>> OvfL3Ik >>>>>> GduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n_oePUFrlQ& >>>>>> s=Yrx16m5FpMJvTAPtftp7qv-ZWXW8XvQxTpFyAblkNJc&e= >>>>>> Group Owner: vpp-dev+ow...@lists.fd.io >>>>>> Unsubscribe: https://urldefense.proofpoint.com/v2/url?u=https- >>>>> 3A__lists.fd.io_g_vpp- >>>>> 2Ddev_unsub&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO >>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev- >>>>> ZVMwh0n_oePUFrlQ&s=WBlsVcHNJGCJ9xYyS9QwicssF0GaRcoS8m- >>>>> 2KINBAQ0&e= [dmar...@me.com] >>>>>> -=-=-=-=-=-=-=-=-=-=-=- >>>> >>> >>> -=-=-=-=-=-=-=-=-=-=-=- >>> Links: You receive all messages sent to this group. >>> >>> View/Reply Online (#14440): https://lists.fd.io/g/vpp-dev/message/14440 >>> Mute This Topic: https://lists.fd.io/mt/40237995/675642 >>> Group Owner: vpp-dev+ow...@lists.fd.io >>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [dmar...@me.com] >>> -=-=-=-=-=-=-=-=-=-=-=- >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> >> View/Reply Online (#14441): https://lists.fd.io/g/vpp-dev/message/14441 >> <https://lists.fd.io/g/vpp-dev/message/14441> >> Mute This Topic: https://lists.fd.io/mt/40243741/1826170 >> <https://lists.fd.io/mt/40243741/1826170> >> Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io> >> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub >> <https://lists.fd.io/g/vpp-dev/unsub> [cho...@chopps.org >> <mailto:cho...@chopps.org>] >> -=-=-=-=-=-=-=-=-=-=-=- > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > > View/Reply Online (#14443): https://lists.fd.io/g/vpp-dev/message/14443 > <https://lists.fd.io/g/vpp-dev/message/14443> > Mute This Topic: https://lists.fd.io/mt/40243741/675642 > <https://lists.fd.io/mt/40243741/675642> > Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io> > Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub > <https://lists.fd.io/g/vpp-dev/unsub> [dmar...@me.com > <mailto:dmar...@me.com>] > -=-=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14444): https://lists.fd.io/g/vpp-dev/message/14444 Mute This Topic: https://lists.fd.io/mt/40243741/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-