Hi Dikshant,

Looks like the custom Makefile log is quite different in passing DPDK CFLAGS 
and LDFLAGS. Also here are couple of surprises for me 

1. Unable to find `make -n` logs

2. presence of g++ is present in each line

3. unable to find include option

4. request was to run `make -n` and cross the relevant libraries are bound 
within the `-Wl,--whole-archive` and `-Wl,--no-whole-archive `. 

5. Unable to find `-Wl,-lpcap` passed for `-Wl,-lrte_pmd_pcap -Wl,-lrte_pdump`

Hint: I normally take up sample like example/l2fwd and work towards to removing 
unwanted libraries while keeping the content and format intact for my custom 
makefile. 

> -----Original Message-----
> From: Dikshant Chitkara <dchitk...@airspan.com>
> Sent: Wednesday, July 29, 2020 2:44 PM
> To: Varghese, Vipin <vipin.vargh...@intel.com>; Stephen Hemminger
> <step...@networkplumber.org>
> Cc: users@dpdk.org; d...@dpdk.org; Amir Ilan <ai...@airspan.com>; Veeresh
> Patil <vpa...@airspan.com>
> Subject: RE: [dpdk-dev] DPDK PDUMP Issue
> 
> Hi Vipin,
> 
> I tried using `-Wl,--whole-archive` and `-Wl,--no-whole-archive `  option with
> my necessary libraries but it does not seem to help as well.
> 
> Below is the makefile log for my app:
> 
> g++ -shared -Wl,--export-dynamic packet_generator.o
> g++ -L/mnt/data/dchitkara/DPDK_2020_01_30_x86/x86_64-native-linux-icc/li
> g++ b -Wl,--whole-archive -Wl,-lrte_mempool_ring -Wl,-lrte_member
> g++ -Wl,-lrte_eventdev -Wl,-lrte_pmd_pcap -Wl,-lrte_pdump
> g++ -Wl,-lrte_bus_vmbus -Wl,-lrte_pci -Wl,-lrte_bus_pci
> g++ -Wl,-lrte_bus_vdev -Wl,-lrte_net -Wl,-lrte_distributor
> g++ -Wl,-lrte_reorder -Wl,-lrte_kni -Wl,-lrte_pipeline -Wl,-lrte_table
> g++ -Wl,-lrte_port -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_jobstats
> g++ -Wl,-lrte_lpm -Wl,-lrte_power -Wl,-lrte_acl -Wl,-lrte_meter
> g++ -Wl,-lrte_sched -Wl,-lm -Wl,-lrt -Wl,-lrte_vhost -Wl,--start-group
> g++ -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lrte_ip_frag -Wl,-lrte_ethdev
> g++ -Wl,-lrte_cryptodev -Wl,-lrte_mempool -Wl,-lrte_ring -Wl,-lrte_eal
> g++ -Wl,-lrte_cmdline -Wl,-lrte_cfgfile -Wl,-lrte_pmd_bond
> g++ -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_pmd_virtio -Wl,-lrte_pmd_cxgbe
> g++ -Wl,-lrte_pmd_enic -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_fm10k
> g++ -Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ring
> g++ -Wl,-lrte_pmd_af_packet -Wl,-lrte_pmd_null -Wl,-lrt -Wl,-lm -Wl,-ldl
> g++ -Wl,--end-group -Wl,--no-whole-archive  -o
> g++ ../../../COMMON/../bin/PACKET_GENERATOR_TEST_MOD.so
> 
> 
> Thanks,
> Dikshant
> 
> Snipped
> 
> > Hi Team,
> >
> > With fix suggest in prev mail thread at testpmd side, PDUMP works with
> > testpmd.
> >
> > However when we try to run our own primary app with PDUMP as a
> > secondary process, PDUMP console comes up, however it does not capture
> any packets.
> >
> > Changes made at primary app side:
> > 1. PDUMP initialised just after rte eal init:
> >
> >   ret_pdump = rte_pdump_init();
> >        if (ret_pdump < 0) {
> >                printf("rte_pdump_init failed\n");
> >        }
> >        else
> >        {
> >                printf("rte_pdump_init success\n");
> >        }
> >
> > 2. Makefile modified to add all relevant files to be linked:
> >
> > LIB_SO     =-L$(DPDK_LIB) -lrte_mbuf -lrte_eal -lnuma -lrte_pmd_pcap -
> > lrte_pdump  -lrte_pmd_i40e -lrte_eal -lrte_ring -lrte_mempool
> > -lrte_cryptodev -lrte_ethdev -lrte_mbuf -lrte_mempool_ring  -lrte_member  -
> lrte_eventdev  -
> > lrte_bus_vmbus   -lrte_pci  -lrte_bus_pci  -lrte_bus_vdev  -lrte_net  -
> > lrte_distributor  -lrte_reorder  -lrte_kni  -lrte_pipeline -lrte_table
> > -lrte_timer  - lrte_hash  -lrte_jobstats  -lrte_lpm -lrte_power
> > -lrte_acl  -lrte_meter  -lrte_sch
> >
> > Even tried to link final DPDK lib so as well:
> > LIB_SO     =-L$(DPDK_LIB) -Wl,--whole-archive -ldpdk -Wl,--no-whole-archive 
> > -
> > L/usr/lib/x86_64-linux-gnu/ -fPIC
> 
> Ok, I think I have seen similar outcomes in custom Makefiles. Can you execute
> with `make -n` with the master Makefile and cross the necessary libraries are
> in bound between `-Wl,--whole-archive` and `-Wl,--no-whole-archive `
> (specically for shared libraries).
> 
> snipped

Reply via email to