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> 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] On Behalf Of Marco
>> Varlese
>> Sent: Friday 25 January 2019 12:38
>> To: Damjan Marion <dmar...@me.com>
>> Cc: 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>> 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
>>> 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
> 

-- 
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/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