Hi Vipin,

Here is full log with include option and build with make -n option from master 
makefile as well:

make[2]: Entering directory 
`/mnt/data/dchitkara/PHY5G/Prototype/NR_5G_SIM/Tests/COMMON/PACKET_GENERATOR'
echo ./packet_generator.cc  -msse4.1  -I../../../COMMON/Sys_API/Math_API/  
-I../../../COMMON/Sys_API/Math_API/  -I../../../COMMON/Sys_API/Module_API/    
-I../../../COMMON/Sys_API/common_intel/ 
echo packet_generator.o
test -d  || mkdir -p  
g++  -msse4.1  -I../../../COMMON/Sys_API/Math_API/  
-I../../../COMMON/Sys_API/Math_API/  -I../../../COMMON/Sys_API/Module_API -I./ 
-DTIME_DATE=\"DATE:29/07/20_TIME:09:57:19\" 
-DMOD_NAME=\"PACKET_GENERATOR_TEST_MOD\"  -DARCH_X86 
-I/mnt/data/dchitkara/DPDK_2020_01_30_x86/x86_64-native-linux-icc/include -I 
-DAS_INFRA_NULL=0 -DEMULATOR_MODE  -DINTEL -std=c++11  -D_4x4_ -O3 -g -DDEBUG   
-fPIC -c ./packet_generator.cc
echo 
/usr/local/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/pstl/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/tbb/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/tbb/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/ipp/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/mkl/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/ipp/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/mkl/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/pstl/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/tbb/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/tbb/include:/opt/intel/system_studio_2019/compilers_and_libraries_2019.2.187/linux/daal/include
echo packet_generator.o 
test -d ../../../COMMON/../bin || mkdir -p ../../../COMMON/../bin 
g++ -shared -Wl,--export-dynamic packet_generator.o  
-L/mnt/data/dchitkara/DPDK_2020_01_30_x86/x86_64-native-linux-icc/lib 
-Wl,--whole-archive -Wl,-lrte_mempool_ring -Wl,-lrte_member -Wl,-lrte_eventdev 
-Wl,-lpcap -Wl,-lrte_pmd_pcap -Wl,-lrte_pdump -Wl,-lrte_bus_vmbus -Wl,-lrte_pci 
-Wl,-lrte_bus_pci -Wl,-lrte_bus_vdev -Wl,-lrte_net -Wl,-lrte_distributor 
-Wl,-lrte_reorder -Wl,-lrte_kni -Wl,-lrte_pipeline -Wl,-lrte_table 
-Wl,-lrte_port -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_jobstats -Wl,-lrte_lpm 
-Wl,-lrte_power -Wl,-lrte_acl -Wl,-lrte_meter -Wl,-lrte_sched -Wl,-lm -Wl,-lrt 
-Wl,-lrte_vhost -Wl,--start-group -Wl,-lrte_kvargs -Wl,-lrte_mbuf 
-Wl,-lrte_ip_frag -Wl,-lrte_ethdev -Wl,-lrte_cryptodev -Wl,-lrte_mempool 
-Wl,-lrte_ring -Wl,-lrte_eal -Wl,-lrte_cmdline -Wl,-lrte_cfgfile 
-Wl,-lrte_pmd_bond -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_pmd_virtio 
-Wl,-lrte_pmd_cxgbe -Wl,-lrte_pmd_enic -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_fm10k 
-Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ring 
-Wl,-lrte_pmd_af_packet -Wl,-lrte_pmd_null -Wl,-lrt -Wl,-lm -Wl,-ldl 
-Wl,--end-group -Wl,--no-whole-archive  -o 
../../../COMMON/../bin/PACKET_GENERATOR_TEST_MOD.so
make[2]: Leaving directory 
`/mnt/data/dchitkara/PHY5G/Prototype/NR_5G_SIM/Tests/COMMON/PACKET_GENERATOR'

Please have a note that module we are running is just one part of our CPP 
project treated as a separate test module.

Thanks,
Dikshant

-----Original Message-----
From: Varghese, Vipin <vipin.vargh...@intel.com> 
Sent: 29 July 2020 15:21
To: Dikshant Chitkara <dchitk...@airspan.com>; Stephen Hemminger 
<step...@networkplumber.org>
Cc: us...@dpdk.org; dev@dpdk.org; Amir Ilan <ai...@airspan.com>; Veeresh Patil 
<vpa...@airspan.com>
Subject: RE: [dpdk-dev] DPDK PDUMP Issue

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: us...@dpdk.org; dev@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/
> g++ li 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 
> g++ -Wl,-ldl -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