DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] g++: undefined reference to
@ 2014-01-02  9:35 Hamid Ramazani
  2014-01-02 13:19 ` Stefan Baranoff
  0 siblings, 1 reply; 6+ messages in thread
From: Hamid Ramazani @ 2014-01-02  9:35 UTC (permalink / raw)
  To: dev

Hi,

I wanted to write a simple program using class (object oriented). I've
attached my helloClass.cpp and also Makefile. after runnig make I get
below errors.
I think:
1. it is the problem of using c code in c++
2. I've used extern "C" in helloClass.cpp
3. Should I recompile the DPDK from source with gcc -c argument for
compatibility with g++?

Thanks in advance.

g++ -c  helloClass.cpp
-I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
g++ helloClass.o
-I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
-lstdc++
helloClass.o: In function `rte_lcore_id':
helloClass.cpp:(.text+0x7): undefined reference to `per_lcore__lcore_id'
helloClass.o: In function `rte_get_master_lcore':
helloClass.cpp:(.text+0x15): undefined reference to `rte_eal_get_configuration'
helloClass.o: In function `rte_lcore_is_enabled':
helloClass.cpp:(.text+0x2a): undefined reference to `rte_eal_get_configuration'
helloClass.o: In function `HelloClass::HelloClass(int, char**)':
helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20):
undefined reference to `rte_eal_init'
helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b):
undefined reference to `__rte_panic'
helloClass.o: In function `HelloClass::run()':
helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f):
undefined reference to `rte_eal_remote_launch'
helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80):
undefined reference to `rte_eal_mp_wait_lcore'
collect2: ld returned 1 exit status
make: *** [helloClass.o] Error 1


All the Best,
Hamid

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] g++: undefined reference to
  2014-01-02  9:35 [dpdk-dev] g++: undefined reference to Hamid Ramazani
@ 2014-01-02 13:19 ` Stefan Baranoff
  2014-01-02 16:40   ` Hamid Ramazani
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Baranoff @ 2014-01-02 13:19 UTC (permalink / raw)
  To: Hamid Ramazani; +Cc: dev

Hamid,

I do not think your attachments made it through but it looks like you are
not linking the DPDK object files in this line:
g++ helloClass.o
-I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
-lstdc++

There would need to be many more files beyond helloClass.o listed. Try
adding the relevant DPDK object files (I do not have the path off hand but
I believe they are in the "build" folder) and recompiling. The files you
need to add are those built when your build DPDK itself.

This is similar to missing -lpcap if compiling against libpcap but in this
case you need to link against object files, not a shared library.

Good luck!
Stefan

Sent from my smart phone; people don't make typos, Swype does!
On Jan 2, 2014 4:35 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:

> Hi,
>
> I wanted to write a simple program using class (object oriented). I've
> attached my helloClass.cpp and also Makefile. after runnig make I get
> below errors.
> I think:
> 1. it is the problem of using c code in c++
> 2. I've used extern "C" in helloClass.cpp
> 3. Should I recompile the DPDK from source with gcc -c argument for
> compatibility with g++?
>
> Thanks in advance.
>
> g++ -c  helloClass.cpp
> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
> g++ helloClass.o
> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
> -lstdc++
> helloClass.o: In function `rte_lcore_id':
> helloClass.cpp:(.text+0x7): undefined reference to `per_lcore__lcore_id'
> helloClass.o: In function `rte_get_master_lcore':
> helloClass.cpp:(.text+0x15): undefined reference to
> `rte_eal_get_configuration'
> helloClass.o: In function `rte_lcore_is_enabled':
> helloClass.cpp:(.text+0x2a): undefined reference to
> `rte_eal_get_configuration'
> helloClass.o: In function `HelloClass::HelloClass(int, char**)':
> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20):
> undefined reference to `rte_eal_init'
> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b):
> undefined reference to `__rte_panic'
> helloClass.o: In function `HelloClass::run()':
> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f):
> undefined reference to `rte_eal_remote_launch'
> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80):
> undefined reference to `rte_eal_mp_wait_lcore'
> collect2: ld returned 1 exit status
> make: *** [helloClass.o] Error 1
>
>
> All the Best,
> Hamid
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] g++: undefined reference to
  2014-01-02 13:19 ` Stefan Baranoff
@ 2014-01-02 16:40   ` Hamid Ramazani
       [not found]     ` <CAHzKxpZ0c8ryHxh3Nh-PEckKZD8a9XiYGy09ucgv4QjrFBPGbg@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Hamid Ramazani @ 2014-01-02 16:40 UTC (permalink / raw)
  To: Stefan Baranoff; +Cc: dev

[-- Attachment #1: Type: text/plain, Size: 3135 bytes --]

Stefan,

I did:

find `pwd` | egrep "[ao]$" >> liblistWithDuplicates.txt
then opened it and added \ to the end of each line and added those
libraries to my g++ arguments in Makefile after helloClass.o

Now, in output I get two types of errors:
multiple definition of ....
undefined reference to ...

In order to remove duplicate object file names, I wrote a short python
script which is attached,
to create liblistNoDuplicates.txt,
but still I get the same errors.


I'd really appreciate your advice.

All the Best,
Hamid


On 1/2/14, Stefan Baranoff <sbaranoff@gmail.com> wrote:
> Hamid,
>
> I do not think your attachments made it through but it looks like you are
> not linking the DPDK object files in this line:
> g++ helloClass.o
> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
> -lstdc++
>
> There would need to be many more files beyond helloClass.o listed. Try
> adding the relevant DPDK object files (I do not have the path off hand but
> I believe they are in the "build" folder) and recompiling. The files you
> need to add are those built when your build DPDK itself.
>
> This is similar to missing -lpcap if compiling against libpcap but in this
> case you need to link against object files, not a shared library.
>
> Good luck!
> Stefan
>
> Sent from my smart phone; people don't make typos, Swype does!
> On Jan 2, 2014 4:35 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:
>
>> Hi,
>>
>> I wanted to write a simple program using class (object oriented). I've
>> attached my helloClass.cpp and also Makefile. after runnig make I get
>> below errors.
>> I think:
>> 1. it is the problem of using c code in c++
>> 2. I've used extern "C" in helloClass.cpp
>> 3. Should I recompile the DPDK from source with gcc -c argument for
>> compatibility with g++?
>>
>> Thanks in advance.
>>
>> g++ -c  helloClass.cpp
>> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>> g++ helloClass.o
>> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>> -lstdc++
>> helloClass.o: In function `rte_lcore_id':
>> helloClass.cpp:(.text+0x7): undefined reference to `per_lcore__lcore_id'
>> helloClass.o: In function `rte_get_master_lcore':
>> helloClass.cpp:(.text+0x15): undefined reference to
>> `rte_eal_get_configuration'
>> helloClass.o: In function `rte_lcore_is_enabled':
>> helloClass.cpp:(.text+0x2a): undefined reference to
>> `rte_eal_get_configuration'
>> helloClass.o: In function `HelloClass::HelloClass(int, char**)':
>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20):
>> undefined reference to `rte_eal_init'
>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b):
>> undefined reference to `__rte_panic'
>> helloClass.o: In function `HelloClass::run()':
>> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f):
>> undefined reference to `rte_eal_remote_launch'
>> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80):
>> undefined reference to `rte_eal_mp_wait_lcore'
>> collect2: ld returned 1 exit status
>> make: *** [helloClass.o] Error 1
>>
>>
>> All the Best,
>> Hamid
>>
>

[-- Attachment #2: liblistNoDuplicates.txt --]
[-- Type: text/plain, Size: 18476 bytes --]

/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_cmdline.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_ixgbe.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_hash.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/libethdev.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_eal.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_meter.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_mempool.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_e1000.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_kni.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_malloc.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_lpm.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_mbuf.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_timer.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_virtio.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_power.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_sched.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/kmod/rte_kni.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_rdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_string.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_etheraddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_vt100.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_socket.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_num.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_cirbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_ipaddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_portlist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_timer/rte_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_common.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_x540.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_vf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_82599.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_fdir.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_mbx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb_82599.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_82598.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_pf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb_82598.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_lpm/rte_lpm6.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_lpm/rte_lpm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mempool/rte_mempool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_hash/rte_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_hash/rte_fbk_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_power/rte_power.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtqueue.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ring/rte_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_nvm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82543.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_pf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82541.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82571.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82540.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_80003es2lan.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82542.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82575.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/em_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_ich8lan.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/em_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_mac.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_osdep.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_mbx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_vf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_i210.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_manage.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_approx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_sched.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_red.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mbuf/rte_mbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_meter/rte_meter.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ring/rte_eth_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/rte_malloc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/malloc_elem.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/malloc_heap.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_debug.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_lcore.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_whitelist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_hugepage_info.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_alarm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_nonpci_devs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_log.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_cpuflags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_launch.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_errno.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_interrupts.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_tailqs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_log.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_memzone.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_thread.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_hexdump.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_procfs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_net.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.mod.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_param.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_vmdq.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_sysfs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kcompat.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ether/rte_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/scripts/testhost/testhost.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/testpmd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/csumonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/iofwd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/rxonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/parameters.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/txonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/config.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/macfwd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_interrupts.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_etheraddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_num.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_meter.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_ipaddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mempool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memcpy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_string_fns.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cpuflags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memzone.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_per_lcore.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_debug.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_spinlock.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_func_reentrancy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_red.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_timer_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_kni.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_common.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_eal_flags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cycles.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_malloc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_eal_fs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_atomic.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memcpy_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_byteorder.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_power.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_tailq.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mempool_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_version.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_cirbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_lpm6.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_logs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_hash_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/commands.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_rwlock.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mp_secondary.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_string.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_sched.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_lpm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_ring_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_portlist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_errno.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_alarm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_lib.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_prefetch.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_pmd_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/cmdline_test/cmdline_test.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/dump_cfg/main.o

[-- Attachment #3: liblistWithDuplicates.txt --]
[-- Type: text/plain, Size: 22184 bytes --]

/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_cmdline.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_ixgbe.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_hash.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/libethdev.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_eal.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_meter.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_mempool.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_e1000.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_kni.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_malloc.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_lpm.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_mbuf.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_timer.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_virtio.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_power.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_sched.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_pmd_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/kmod/rte_kni.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/librte_cmdline.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_rdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_string.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_etheraddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_vt100.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_socket.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_num.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_cirbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_ipaddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_cmdline/cmdline_parse_portlist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_timer/rte_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_timer/librte_timer.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/librte_pmd_ixgbe.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_common.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_x540.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_vf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_82599.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_fdir.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_mbx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb_82599.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_82598.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_pf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ixgbe/ixgbe_dcb_82598.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_lpm/librte_lpm.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_lpm/rte_lpm6.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_lpm/rte_lpm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mempool/librte_mempool.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mempool/rte_mempool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_hash/librte_hash.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_hash/rte_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_hash/rte_fbk_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_power/rte_power.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_power/librte_power.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtio_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/virtqueue.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_virtio/librte_pmd_virtio.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ring/librte_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ring/rte_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_nvm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82543.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_pf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/librte_pmd_e1000.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82541.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82571.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82540.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_80003es2lan.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82542.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_82575.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/em_rxtx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_ich8lan.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/em_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_mac.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_osdep.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_mbx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_vf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/igb_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_i210.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_manage.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_e1000/e1000_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_approx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_sched.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/rte_red.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_sched/librte_sched.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mbuf/librte_mbuf.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_mbuf/rte_mbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_meter/librte_meter.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_meter/rte_meter.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ring/librte_pmd_ring.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_pmd_ring/rte_eth_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/rte_malloc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/malloc_elem.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/librte_malloc.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_malloc/malloc_heap.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.mod.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/igb_uio/built-in.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_debug.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_lcore.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_whitelist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_hugepage_info.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/librte_eal.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_alarm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_nonpci_devs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_log.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_cpuflags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_launch.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_errno.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_interrupts.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_tailqs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_log.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_memzone.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_thread.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/eal/eal_common_hexdump.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_misc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_procfs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_common.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_nvm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_x540.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_net.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.mod.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_param.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_vmdq.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_sysfs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_82599.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_phy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kni_ethtool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_mac.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/kcompat.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/built-in.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_mbx.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_manage.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_82598.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.ko
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/rte_kni.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/ixgbe_main.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_api.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ether/libethdev.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_ether/rte_ethdev.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_kni/librte_kni.a
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/lib/librte_kni/rte_kni.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/scripts/testhost/testhost.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/testpmd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/cmdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/csumonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/iofwd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/rxonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/parameters.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/txonly.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/config.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test-pmd/macfwd.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_interrupts.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_etheraddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_num.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_meter.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_ipaddr.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mempool.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memcpy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_string_fns.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_hash.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_timer.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cpuflags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memzone.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_per_lcore.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_debug.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_spinlock.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_func_reentrancy.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_red.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_timer_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_kni.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_common.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_eal_flags.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cycles.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_malloc.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_eal_fs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_atomic.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memcpy_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_memory.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_byteorder.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_power.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_pci.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_tailq.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mempool_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_version.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_cirbuf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_lpm6.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_logs.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_hash_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/commands.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_rwlock.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_mp_secondary.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_string.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_sched.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_lpm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_ring_perf.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_portlist.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_errno.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_alarm.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_cmdline_lib.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_prefetch.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/test/test_pmd_ring.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/cmdline_test/cmdline_test.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/cmdline_test/commands.o
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/build/app/dump_cfg/main.o

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] g++: undefined reference to
       [not found]     ` <CAHzKxpZ0c8ryHxh3Nh-PEckKZD8a9XiYGy09ucgv4QjrFBPGbg@mail.gmail.com>
@ 2014-01-03  0:46       ` Stefan Baranoff
  2014-01-03 10:48         ` Hamid Ramazani
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Baranoff @ 2014-01-03  0:46 UTC (permalink / raw)
  To: Hamid Ramazani; +Cc: dev

Hamid,

I apologize for the earlier slight misdirection; I was on my phone and
trying to respond from memory. The actual answer is really to use
-lrte_static_library_name and not referencing the .o files. Sorry!!!

To get this I ran 'make -n' on the 'Hello World' example app (careful,
there's the gcc command and then another "&& echo " with the command again
in there when you run make -n and you really only need the real gcc call,
not the echo). Below is a sample g++ command that works for me just running
against a quick C++ files that does an 'rte_eal_init()' so you may need to
extend it to handle more complex cases.

Note I've stripped out a few pieces that may actually matter and left in
some don't but work for the moment for this (very) simple case. I don't
claim to be a GCC guru so we may encounter random failures down the road
with our approach and are ready to accept that risk until we can get
someone to review the effect of the removed options. Please take the
following commands with a grain of salt. The primary omissions are the
-Wl,-Map and --cref along with stripping out a few warnings
(-Wstrict-prototypes, -Wmissing-prototypes,
-Wold-style-definition, -Wnested-externs).

Please note that near the end but before the -Wl,-L options there is the
reference to my main file "sample.cpp" and the '-o sample' option for my
file 'sample.cpp' that you would replace - this could be broken out better
and I'm sure the default Makefile syntax could be extended to support c++
but I'll leave that to someone else who is better with Make/GCC to
implement properly.

all:
  g++ -m64 -pthread  -march=native -DRTE_MACHINE_CPUFLAG_SSE
-DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSSE3
-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3
 -I/data/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2/examples/helloworld/build/include
-I/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/include
-include
/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/include/rte_config.h
-O3 -W -Wall -Werror -Wmissing-declarations -Wpointer-arith -Wcast-align
-Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings
-Wl,-melf_x86_64 -Wl,-export-dynamic sample.cpp -o sample
-Wl,-L/data/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2/examples/helloworld/build/lib
-Wl,-L/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/lib
 -Wl,-L/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/lib
-Wl,-lrte_kni -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ixgbe -Wl,-lrte_mbuf
-Wl,-lrte_cmdline -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm
-Wl,--start-group -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool
-Wl,-lrte_ring -Wl,-lrte_eal -Wl,-ldl -Wl,--end-group


This is probably complete overkill and should be tailored to your use case
but it is heading in the right direction!

Here's the C++ file I compiled with it (yes, I should use RAII and that
stack and not 'new' -- I know, Java habits die hard):
#include <iostream>
#include <string>
#include <rte_config.h>
#include <rte_eal.h>
#include <stdlib.h>

class Runner
{
  public:
    Runner(){};
    void run(int argc, char** argv)
    {
      std::cout << std::string("Calling rte_eal_init") << std::endl;
      rte_eal_init(argc, argv);
      std::cout << std::string("Called rte_eal_init - done now!") <<
std::endl;
    };
};

int main(int argc, char** argv)
{
  Runner* runner = new Runner();
  runner->run(argc, argv);
  delete runner;
  exit(0);
}


Thanks,
Stefan


On Thu, Jan 2, 2014 at 4:52 PM, Stefan Baranoff <sbaranoff@gmail.com> wrote:

> Hamid,
>
> I have a c++ app that compiles but not with me right now. When I get home
> I'll send you a sample makefile.
>
> Stefan
>
> Sent from my smart phone; people don't make typos, Swype does!
> On Jan 2, 2014 11:40 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:
>
>> Stefan,
>>
>> I did:
>>
>> find `pwd` | egrep "[ao]$" >> liblistWithDuplicates.txt
>> then opened it and added \ to the end of each line and added those
>> libraries to my g++ arguments in Makefile after helloClass.o
>>
>> Now, in output I get two types of errors:
>> multiple definition of ....
>> undefined reference to ...
>>
>> In order to remove duplicate object file names, I wrote a short python
>> script which is attached,
>> to create liblistNoDuplicates.txt,
>> but still I get the same errors.
>>
>>
>> I'd really appreciate your advice.
>>
>> All the Best,
>> Hamid
>>
>>
>> On 1/2/14, Stefan Baranoff <sbaranoff@gmail.com> wrote:
>> > Hamid,
>> >
>> > I do not think your attachments made it through but it looks like you
>> are
>> > not linking the DPDK object files in this line:
>> > g++ helloClass.o
>> > -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>> > -lstdc++
>> >
>> > There would need to be many more files beyond helloClass.o listed. Try
>> > adding the relevant DPDK object files (I do not have the path off hand
>> but
>> > I believe they are in the "build" folder) and recompiling. The files you
>> > need to add are those built when your build DPDK itself.
>> >
>> > This is similar to missing -lpcap if compiling against libpcap but in
>> this
>> > case you need to link against object files, not a shared library.
>> >
>> > Good luck!
>> > Stefan
>> >
>> > Sent from my smart phone; people don't make typos, Swype does!
>> > On Jan 2, 2014 4:35 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:
>> >
>> >> Hi,
>> >>
>> >> I wanted to write a simple program using class (object oriented). I've
>> >> attached my helloClass.cpp and also Makefile. after runnig make I get
>> >> below errors.
>> >> I think:
>> >> 1. it is the problem of using c code in c++
>> >> 2. I've used extern "C" in helloClass.cpp
>> >> 3. Should I recompile the DPDK from source with gcc -c argument for
>> >> compatibility with g++?
>> >>
>> >> Thanks in advance.
>> >>
>> >> g++ -c  helloClass.cpp
>> >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>> >> g++ helloClass.o
>> >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>> >> -lstdc++
>> >> helloClass.o: In function `rte_lcore_id':
>> >> helloClass.cpp:(.text+0x7): undefined reference to
>> `per_lcore__lcore_id'
>> >> helloClass.o: In function `rte_get_master_lcore':
>> >> helloClass.cpp:(.text+0x15): undefined reference to
>> >> `rte_eal_get_configuration'
>> >> helloClass.o: In function `rte_lcore_is_enabled':
>> >> helloClass.cpp:(.text+0x2a): undefined reference to
>> >> `rte_eal_get_configuration'
>> >> helloClass.o: In function `HelloClass::HelloClass(int, char**)':
>> >>
>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20):
>> >> undefined reference to `rte_eal_init'
>> >>
>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b):
>> >> undefined reference to `__rte_panic'
>> >> helloClass.o: In function `HelloClass::run()':
>> >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f):
>> >> undefined reference to `rte_eal_remote_launch'
>> >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80):
>> >> undefined reference to `rte_eal_mp_wait_lcore'
>> >> collect2: ld returned 1 exit status
>> >> make: *** [helloClass.o] Error 1
>> >>
>> >>
>> >> All the Best,
>> >> Hamid
>> >>
>> >
>>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] g++: undefined reference to
  2014-01-03  0:46       ` Stefan Baranoff
@ 2014-01-03 10:48         ` Hamid Ramazani
  2014-01-03 11:07           ` Thomas Monjalon
  0 siblings, 1 reply; 6+ messages in thread
From: Hamid Ramazani @ 2014-01-03 10:48 UTC (permalink / raw)
  To: Stefan Baranoff; +Cc: dev

Hey Stefan,
Thanks a lot for your answer. I followed your instructions, and have
following problem.
Also I'd like to mention that on my system:
echo $RTE_SDK
/home/hamid/dpdk/dpdk-1.5.1r1
and
echo $RTE_TARGET
x86_64-default-linuxapp-gcc


I get following error now:
########################################
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_eal.a(eal_timer.o):
In function `rte_eal_timer_init':
eal_timer.c:(.text+0x42c): undefined reference to `clock_gettime'
eal_timer.c:(.text+0x468): undefined reference to `clock_gettime'
/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib/librte_eal.a(eal_common_nonpci_devs.o):(.data+0x8):
undefined reference to `rte_pmd_ring_init'
collect2: ld returned 1 exit status
make: *** [all] Error 1
########################################


my sample.cpp is like this:


########################################
#include <iostream>
#include <string>
extern "C"{
#include <rte_config.h>
#include <rte_eal.h>
}
#include <stdlib.h>

class Runner
{
    public:
        Runner(){};
        void run(int argc, char** argv)
        {
            std::cout << std::string("Calling rte_eal_init") << std::endl;
            rte_eal_init(argc, argv);
            std::cout << std::string("Called rte_eal_init - done
now!") << std::endl;
        };
};

int main(int argc, char** argv)
{
    Runner* runner = new Runner();
    runner->run(argc, argv);
    delete runner;
    exit(0);
}
########################################

and my Makefile is like this:
all:
	g++ -m64 -pthread  -march=native -DRTE_MACHINE_CPUFLAG_SSE
-DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSSE3
-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3
 -I/home/hamid/dpdk/dpdk-1.5.1r1/examples/sample/build/include
-I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
-include /home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include/rte_config.h
-O3 -W -Wall -Werror -Wmissing-declarations -Wpointer-arith
-Wcast-align -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef
-Wwrite-strings -Wl,-melf_x86_64 -Wl,-export-dynamic sample.cpp -o
sample -Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/examples/sample/build/lib
-Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib
-Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib
-Wl,-lrte_kni -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ixgbe -Wl,-lrte_mbuf
-Wl,-lrte_cmdline -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm
-Wl,--start-group -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool
-Wl,-lrte_ring -Wl,-lrte_eal -Wl,-ldl -Wl,--end-group

########################################

Your advice is much appreciated.
Thanks in advance.
--Hamid


On 1/3/14, Stefan Baranoff <sbaranoff@gmail.com> wrote:
> Hamid,
>
> I apologize for the earlier slight misdirection; I was on my phone and
> trying to respond from memory. The actual answer is really to use
> -lrte_static_library_name and not referencing the .o files. Sorry!!!
>
> To get this I ran 'make -n' on the 'Hello World' example app (careful,
> there's the gcc command and then another "&& echo " with the command again
> in there when you run make -n and you really only need the real gcc call,
> not the echo). Below is a sample g++ command that works for me just running
> against a quick C++ files that does an 'rte_eal_init()' so you may need to
> extend it to handle more complex cases.
>
> Note I've stripped out a few pieces that may actually matter and left in
> some don't but work for the moment for this (very) simple case. I don't
> claim to be a GCC guru so we may encounter random failures down the road
> with our approach and are ready to accept that risk until we can get
> someone to review the effect of the removed options. Please take the
> following commands with a grain of salt. The primary omissions are the
> -Wl,-Map and --cref along with stripping out a few warnings
> (-Wstrict-prototypes, -Wmissing-prototypes,
> -Wold-style-definition, -Wnested-externs).
>
> Please note that near the end but before the -Wl,-L options there is the
> reference to my main file "sample.cpp" and the '-o sample' option for my
> file 'sample.cpp' that you would replace - this could be broken out better
> and I'm sure the default Makefile syntax could be extended to support c++
> but I'll leave that to someone else who is better with Make/GCC to
> implement properly.
>
> all:
>   g++ -m64 -pthread  -march=native -DRTE_MACHINE_CPUFLAG_SSE
> -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSSE3
> -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSSE3
> -I/data/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2/examples/helloworld/build/include
> -I/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/include
> -include
> /home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/include/rte_config.h
> -O3 -W -Wall -Werror -Wmissing-declarations -Wpointer-arith -Wcast-align
> -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings
> -Wl,-melf_x86_64 -Wl,-export-dynamic sample.cpp -o sample
> -Wl,-L/data/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2/examples/helloworld/build/lib
> -Wl,-L/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/lib
> -Wl,-L/home/sbaranoff/DPDKPlayground/dpdk-1.3.1r2//x86_64-default-linuxapp-gcc/lib
> -Wl,-lrte_kni -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ixgbe -Wl,-lrte_mbuf
> -Wl,-lrte_cmdline -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm
> -Wl,--start-group -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool
> -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-ldl -Wl,--end-group
>
>
> This is probably complete overkill and should be tailored to your use case
> but it is heading in the right direction!
>
> Here's the C++ file I compiled with it (yes, I should use RAII and that
> stack and not 'new' -- I know, Java habits die hard):
> #include <iostream>
> #include <string>
> #include <rte_config.h>
> #include <rte_eal.h>
> #include <stdlib.h>
>
> class Runner
> {
>   public:
>     Runner(){};
>     void run(int argc, char** argv)
>     {
>       std::cout << std::string("Calling rte_eal_init") << std::endl;
>       rte_eal_init(argc, argv);
>       std::cout << std::string("Called rte_eal_init - done now!") <<
> std::endl;
>     };
> };
>
> int main(int argc, char** argv)
> {
>   Runner* runner = new Runner();
>   runner->run(argc, argv);
>   delete runner;
>   exit(0);
> }
>
>
> Thanks,
> Stefan
>
>
> On Thu, Jan 2, 2014 at 4:52 PM, Stefan Baranoff <sbaranoff@gmail.com>
> wrote:
>
>> Hamid,
>>
>> I have a c++ app that compiles but not with me right now. When I get home
>> I'll send you a sample makefile.
>>
>> Stefan
>>
>> Sent from my smart phone; people don't make typos, Swype does!
>> On Jan 2, 2014 11:40 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:
>>
>>> Stefan,
>>>
>>> I did:
>>>
>>> find `pwd` | egrep "[ao]$" >> liblistWithDuplicates.txt
>>> then opened it and added \ to the end of each line and added those
>>> libraries to my g++ arguments in Makefile after helloClass.o
>>>
>>> Now, in output I get two types of errors:
>>> multiple definition of ....
>>> undefined reference to ...
>>>
>>> In order to remove duplicate object file names, I wrote a short python
>>> script which is attached,
>>> to create liblistNoDuplicates.txt,
>>> but still I get the same errors.
>>>
>>>
>>> I'd really appreciate your advice.
>>>
>>> All the Best,
>>> Hamid
>>>
>>>
>>> On 1/2/14, Stefan Baranoff <sbaranoff@gmail.com> wrote:
>>> > Hamid,
>>> >
>>> > I do not think your attachments made it through but it looks like you
>>> are
>>> > not linking the DPDK object files in this line:
>>> > g++ helloClass.o
>>> > -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>>> > -lstdc++
>>> >
>>> > There would need to be many more files beyond helloClass.o listed. Try
>>> > adding the relevant DPDK object files (I do not have the path off hand
>>> but
>>> > I believe they are in the "build" folder) and recompiling. The files
>>> > you
>>> > need to add are those built when your build DPDK itself.
>>> >
>>> > This is similar to missing -lpcap if compiling against libpcap but in
>>> this
>>> > case you need to link against object files, not a shared library.
>>> >
>>> > Good luck!
>>> > Stefan
>>> >
>>> > Sent from my smart phone; people don't make typos, Swype does!
>>> > On Jan 2, 2014 4:35 AM, "Hamid Ramazani" <mrramazani@gmail.com> wrote:
>>> >
>>> >> Hi,
>>> >>
>>> >> I wanted to write a simple program using class (object oriented).
>>> >> I've
>>> >> attached my helloClass.cpp and also Makefile. after runnig make I get
>>> >> below errors.
>>> >> I think:
>>> >> 1. it is the problem of using c code in c++
>>> >> 2. I've used extern "C" in helloClass.cpp
>>> >> 3. Should I recompile the DPDK from source with gcc -c argument for
>>> >> compatibility with g++?
>>> >>
>>> >> Thanks in advance.
>>> >>
>>> >> g++ -c  helloClass.cpp
>>> >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>>> >> g++ helloClass.o
>>> >> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
>>> >> -lstdc++
>>> >> helloClass.o: In function `rte_lcore_id':
>>> >> helloClass.cpp:(.text+0x7): undefined reference to
>>> `per_lcore__lcore_id'
>>> >> helloClass.o: In function `rte_get_master_lcore':
>>> >> helloClass.cpp:(.text+0x15): undefined reference to
>>> >> `rte_eal_get_configuration'
>>> >> helloClass.o: In function `rte_lcore_is_enabled':
>>> >> helloClass.cpp:(.text+0x2a): undefined reference to
>>> >> `rte_eal_get_configuration'
>>> >> helloClass.o: In function `HelloClass::HelloClass(int, char**)':
>>> >>
>>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x20):
>>> >> undefined reference to `rte_eal_init'
>>> >>
>>> helloClass.cpp:(.text._ZN10HelloClassC2EiPPc[_ZN10HelloClassC5EiPPc]+0x4b):
>>> >> undefined reference to `__rte_panic'
>>> >> helloClass.o: In function `HelloClass::run()':
>>> >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x3f):
>>> >> undefined reference to `rte_eal_remote_launch'
>>> >> helloClass.cpp:(.text._ZN10HelloClass3runEv[HelloClass::run()]+0x80):
>>> >> undefined reference to `rte_eal_mp_wait_lcore'
>>> >> collect2: ld returned 1 exit status
>>> >> make: *** [helloClass.o] Error 1
>>> >>
>>> >>
>>> >> All the Best,
>>> >> Hamid
>>> >>
>>> >
>>>
>>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] g++: undefined reference to
  2014-01-03 10:48         ` Hamid Ramazani
@ 2014-01-03 11:07           ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2014-01-03 11:07 UTC (permalink / raw)
  To: Hamid Ramazani; +Cc: dev

Hello,

03/01/2014 11:48, Hamid Ramazani :
> eal_timer.c:(.text+0x42c): undefined reference to `clock_gettime'

From "man clock_gettime":
Link with -lrt (only for glibc versions before 2.17).

> 	g++ -m64 -pthread  -march=native -DRTE_MACHINE_CPUFLAG_SSE
> -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSSE3
> -DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SS
> SE3 -I/home/hamid/dpdk/dpdk-1.5.1r1/examples/sample/build/include
> -I/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include
> -include
> /home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/include/rte_conf
> ig.h -O3 -W -Wall -Werror -Wmissing-declarations -Wpointer-arith
> -Wcast-align -Wcast-qual -Wformat-nonliteral -Wformat-security -Wundef
> -Wwrite-strings -Wl,-melf_x86_64 -Wl,-export-dynamic sample.cpp -o
> sample -Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/examples/sample/build/lib
> -Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib
> -Wl,-L/home/hamid/dpdk/dpdk-1.5.1r1/x86_64-default-linuxapp-gcc/lib
> -Wl,-lrte_kni -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ixgbe -Wl,-lrte_mbuf
> -Wl,-lrte_cmdline -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm
> -Wl,--start-group -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool
> -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-ldl -Wl,--end-group

Try CONFIG_RTE_BUILD_COMBINE_LIBS=y and -lintel_dpdk instead of all these 
libraries. You can also remove the warning options if you want.

You can also try to build your Makefile by including files like 
mk/rte.extapp.mk and defining CC=g++.
I don't exactly know what is needed for C++. Please keep us informed.

-- 
Thomas

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-01-03 11:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-02  9:35 [dpdk-dev] g++: undefined reference to Hamid Ramazani
2014-01-02 13:19 ` Stefan Baranoff
2014-01-02 16:40   ` Hamid Ramazani
     [not found]     ` <CAHzKxpZ0c8ryHxh3Nh-PEckKZD8a9XiYGy09ucgv4QjrFBPGbg@mail.gmail.com>
2014-01-03  0:46       ` Stefan Baranoff
2014-01-03 10:48         ` Hamid Ramazani
2014-01-03 11:07           ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).