Dear Marco,

May be that my first explanation was not clear enough.

(1) In VPP repo we use cmake + (ninja or gnumake) for compiling VPP
which includes searching for dependencies (different libs like dpdk, openssl, 
uuid).
To compile VPP everything you need is in src/ directory.
If cmake is not able to find some dependencies like DPDK, it will warn
you and disable that compolnent (i.e. DPDK plugin).

(2) Then we have our build environment crafted out of different Makefiles,
which is there mainly to support developers and for our internal packaging.
What those sets of makefiles are doing is:
 - downloading, compiling (and optionally packaging)  dependencies like dpdk, 
ipsecmb, nasm
 - compiling VPP by passing right arguments to (1) so cmake is able to find 
libraries at the right place

If you are working on disto packaging, specially if you are linking against
distro version of libraries like DPDK, there is no sense in using (2).
Just call cmake with right arguments from your .spec file following
by "cmake --build" similar to majority of open source projects.
Simply forget about anything in build-root/ build-data/ or build/
directories. They are all part of (2).

Hope this explains,


> On 29 Jan 2019, at 08:07, Marco Varlese <mvarl...@suse.de> wrote:
> 
> Thanks Damjan. I will try that too.
> 
> A last question: I assume I can keep using the "make -C build-root
> install-packages" if I pull your last patches. Am I right / wrong?
> 
> 
> Thanks,
> Marco
> 
> On 1/28/19 5:57 PM, Damjan Marion via Lists.Fd.Io wrote:
>> 
>> With this change, I'm able to compile VPP out of tarball produced by
>> "make dist".
>> 
>> https://gerrit.fd.io/r/#/c/17125/
>> 
>> 
>>> On 28 Jan 2019, at 13:35, Damjan Marion via Lists.Fd.Io
>>> <dmarion=me....@lists.fd.io <mailto:dmarion=me....@lists.fd.io>> wrote:
>>> 
>>> 
>>> 
>>>> On 28 Jan 2019, at 12:08, Marco Varlese <mvarl...@suse.de
>>>> <mailto:mvarl...@suse.de>> wrote:
>>>> 
>>>> Is there still a way to use the old infrastructure to build the code?
>>> 
>>> No, that doesn't make sense.
>>> 
>>>> 
>>>> Apparently, cmake works when used inside the GIT repo but fails to build
>>>> when using the tarball generated via "make dist" (required indeed for
>>>> downstream consumption).
>>> 
>>> that should be easy fixable....
>>> 
>>>> 
>>>> On 1/26/19 2:22 PM, Damjan Marion via Lists.Fd.Io wrote:
>>>>> 
>>>>> Here it is: https://gerrit.fd.io/r/17094
>>>>> 
>>>>> 
>>>>> $ mkdir build-vpp stage
>>>>> 
>>>>> $ git clone <dpdk git>
>>>>> 
>>>>> $ cd dpdk
>>>>> 
>>>>> $ cat << _EOF_ | patch -p1
>>>>> diff --git a/config/common_base b/config/common_base
>>>>> index d12ae98bc..42d6f53dd 100644
>>>>> --- a/config/common_base
>>>>> +++ b/config/common_base
>>>>> @@ -38,7 +38,7 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n
>>>>>  #
>>>>>  # Compile to share library
>>>>>  #
>>>>> -CONFIG_RTE_BUILD_SHARED_LIB=n
>>>>> +CONFIG_RTE_BUILD_SHARED_LIB=y
>>>>> 
>>>>>  #
>>>>>  # Use newest code breaking previous ABI
>>>>> _EOF_
>>>>> 
>>>>> 
>>>>> $ make -j install T=x86_64-native-linuxapp-gcc DESTDIR=../stage
>>>>> 
>>>>> $ cd ../build-vpp
>>>>> 
>>>>> $ cmake -G Ninja -DCMAKE_PREFIX_PATH:PATH=$PWD/../stage /path/to/vpp/src
>>>>> 
>>>>> $ ninja
>>>>> 
>>>>> $ LD_LIBRARY_PATH=../stage/lib ldd lib/vpp_plugins/dpdk_plugin.so
>>>>> linux-vdso.so.1 (0x00007ffe2a3b7000)
>>>>> librte_cryptodev.so.5.1 => ../stage/lib/librte_cryptodev.so.5.1
>>>>> (0x00007fd5e1fa0000)
>>>>> librte_eal.so.9.1 => ../stage/lib/librte_eal.so.9.1 (0x00007fd5e1ed1000)
>>>>> librte_ethdev.so.11.1 => ../stage/lib/librte_ethdev.so.11.1
>>>>> (0x00007fd5e1e30000)
>>>>> librte_mbuf.so.4.1 => ../stage/lib/librte_mbuf.so.4.1
>>>>> (0x00007fd5e1e28000)
>>>>> librte_mempool.so.5.1 => ../stage/lib/librte_mempool.so.5.1
>>>>> (0x00007fd5e1e1f000)
>>>>> librte_pmd_bond.so.2.1 => ../stage/lib/librte_pmd_bond.so.2.1
>>>>> (0x00007fd5e1dfe000)
>>>>> librte_ring.so.2.1 => ../stage/lib/librte_ring.so.2.1
>>>>> (0x00007fd5e1df9000)
>>>>> librte_sched.so.1.1 => ../stage/lib/librte_sched.so.1.1
>>>>> (0x00007fd5e1ded000)
>>>>> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd5e1be9000)
>>>>> /lib64/ld-linux-x86-64.so.2 (0x00007fd5e211d000)
>>>>> librte_kvargs.so.1.1 => ../stage/lib/librte_kvargs.so.1.1
>>>>> (0x00007fd5e1be4000)
>>>>> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd5e1bdc000)
>>>>> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
>>>>> (0x00007fd5e1bbb000)
>>>>> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd5e1bb1000)
>>>>> libnuma.so.1 => /usr/lib/x86_64-linux-gnu/libnuma.so.1
>>>>> (0x00007fd5e19a6000)
>>>>> librte_cmdline.so.2.1 => ../stage/lib/librte_cmdline.so.2.1
>>>>> (0x00007fd5e199a000)
>>>>> librte_pci.so.1.1 => ../stage/lib/librte_pci.so.1.1 (0x00007fd5e1993000)
>>>>> librte_bus_vdev.so.2.1 => ../stage/lib/librte_bus_vdev.so.2.1
>>>>> (0x00007fd5e198c000)
>>>>> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd5e17ff000)
>>>>> 
>>>>> -- 
>>>>> Damjan
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 25 Jan 2019, at 18:03, Kinsella, Ray <ray.kinse...@intel.com
>>>>>> <mailto:ray.kinse...@intel.com>
>>>>>> <mailto:ray.kinse...@intel.com>> wrote:
>>>>>> 
>>>>>> I tried doing this recently and it barfed.
>>>>>> How did you get it working?
>>>>>> 
>>>>>> Ray K
>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: vpp-dev@lists.fd.io
>>>>>>> <mailto:vpp-dev@lists.fd.io> <mailto:vpp-dev@lists.fd.io>
>>>>>>> [mailto:vpp-dev@lists.fd.io] On Behalf Of Marco
>>>>>>> Varlese
>>>>>>> Sent: Friday 25 January 2019 12:38
>>>>>>> To: Damjan Marion <dmar...@me.com
>>>>>>> <mailto:dmar...@me.com> <mailto:dmar...@me.com>>
>>>>>>> Cc: vpp-dev@lists.fd.io
>>>>>>> <mailto:vpp-dev@lists.fd.io> <mailto:vpp-dev@lists.fd.io>
>>>>>>> Subject: Re: [vpp-dev] How do I get the "dpdk-shared" in VPP ?
>>>>>>> 
>>>>>>> Never mind... I did find the issue. All good ;)
>>>>>>> 
>>>>>>> Thank you Damjan!!!
>>>>>>> 
>>>>>>> On 1/25/19 1:26 PM, Marco Varlese wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 1/25/19 11:14 AM, Damjan Marion wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On 25 Jan 2019, at 10:49, Marco Varlese <mvarl...@suse.de
>>>>>>>>>> <mailto:mvarl...@suse.de>
>>>>>>>>>> <mailto:mvarl...@suse.de>
>>>>>>>>>> <mailto:mvarl...@suse.de>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Damjan,
>>>>>>>>>> 
>>>>>>>>>> On 1/24/19 10:46 PM, Damjan Marion via Lists.Fd.Io wrote:
>>>>>>>>>>> 
>>>>>>>>>>> In theory like any other cmake project:
>>>>>>>>>>> 
>>>>>>>>>>> $ mkdir build
>>>>>>>>>>> $ cd build
>>>>>>>>>>> $ cmake /path/to/vpp/src <opt args> $ make $ make install
>>>>>>>>>> Hmmm, not sure if I explained myself in the right way.
>>>>>>>>>> 
>>>>>>>>>> The problem today is that I cannot find a way to tell VPP _not_ to
>>>>>>>>>> download the dpdk tarball, uncompress it, build it and then link
>>>>>>>>>> against it...
>>>>>>>>> 
>>>>>>>>> That is exactly what I described above....
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> How does the above help in that regard?
>>>>>>>>> 
>>>>>>>>> It helps as cmake doesn't download dpdk or other libs. It is
>>>>>>>>> downloaded by bunch of makefiles outside of src/.
>>>>>>>>> If you don't need such service from those Makefiles, don''t use
>>>>>>>>> them..
>>>>>>>> OK, so I did try your suggestion but in that case the DPDK plugin
>>>>>>>> doesn't get built at all and the build procedure doesn't even get to
>>>>>>>> the point of looking for a DPDK library (whether statically or
>>>>>>>> dynamically linked).
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> In practice probably few lines should be modified in
>>>>>>>>>>> src/plugins/dodkCMakeLists.txt to enable linking with shared libs,
>>>>>>>>>>> as today we do static...
>>>>>>>>>> So the shared-lib support was removed when moving to cmake I
>>>>>>>>>> suppose.
>>>>>>>>>> Was that intentional or just a miss?
>>>>>>>>> 
>>>>>>>>> it was intentional miss :)
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Damjan
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>>>> Links: You receive all messages sent to this group.
>>>>>>>> 
>>>>>>>> View/Reply Online (#12008):
>>>>>>>> https://lists.fd.io/g/vpp-dev/message/12008
>>>>>>>> Mute This Topic: https://lists.fd.io/mt/29529767/675056
>>>>>>>> Group Owner: vpp-dev+ow...@lists.fd.io
>>>>>>>> <mailto:vpp-dev+ow...@lists.fd.io>
>>>>>>>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub
>>>>>>>>  [mvarl...@suse.de <mailto:mvarl...@suse.de>]
>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Marco Varlese, Architect Developer Technologies, SUSE Labs SUSE LINUX
>>>>>>> GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
>>>>>>> HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg
>>>>>> 
>>>>> 
>>>>> -- 
>>>>> Damjan
>>>>> 
>>>>> 
>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>> Links: You receive all messages sent to this group.
>>>>> 
>>>>> View/Reply Online (#12023): https://lists.fd.io/g/vpp-dev/message/12023
>>>>> Mute This Topic: https://lists.fd.io/mt/29529767/675056
>>>>> Group Owner: vpp-dev+ow...@lists.fd.io
>>>>> <mailto:vpp-dev+ow...@lists.fd.io>
>>>>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [mvarl...@suse.de
>>>>> <mailto:mvarl...@suse.de>]
>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>> 
>>>> 
>>>> -- 
>>>> Marco Varlese, Architect Developer Technologies, SUSE Labs
>>>> SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
>>>> HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg
>>> 
>>> -- 
>>> Damjan
>>> 
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> 
>>> View/Reply Online (#12027): https://lists.fd.io/g/vpp-dev/message/12027
>>> Mute This Topic: https://lists.fd.io/mt/29529767/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  [dmar...@me.com
>>> <mailto:dmar...@me.com>]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> 
>> View/Reply Online (#12029): https://lists.fd.io/g/vpp-dev/message/12029
>> Mute This Topic: https://lists.fd.io/mt/29529767/675056
>> Group Owner: vpp-dev+ow...@lists.fd.io
>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [mvarl...@suse.de]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
> 
> -- 
> Marco Varlese, Architect Developer Technologies, SUSE Labs
> SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
> HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg      
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#12033): https://lists.fd.io/g/vpp-dev/message/12033
> Mute This Topic: https://lists.fd.io/mt/29529767/675642
> Group Owner: vpp-dev+ow...@lists.fd.io
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [dmar...@me.com]
> -=-=-=-=-=-=-=-=-=-=-=-

-- 
Damjan

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12037): https://lists.fd.io/g/vpp-dev/message/12037
Mute This Topic: https://lists.fd.io/mt/29529767/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to