[dpdk-dev] Error seen while compiling Pktgen-dpdk

Wiles, Keith keith.wiles at intel.com
Sat Feb 28 19:20:06 CET 2015



On 2/28/15, 8:00 AM, "Neil Horman" <nhorman at tuxdriver.com> wrote:

>On Sat, Feb 28, 2015 at 01:06:32PM +0530, Shankari Vaidyalingam wrote:
>> Hi,
>> 
>> I'm facing the below error while executing make on Pktgen-dpdk source.
>> I'm using 2.8 version of pktgen downloaded
>> I have built DPDK binaries and then tried building pktgen-dpdk.
>> RTE_TARGET is set to x86_64-pktgen-linuxapp-gcc and RTE_SDK is set to
>>the
>> directory where dpdk source files are present.
>> DPDK version - 1.7.1
>> Please let me know how to resolve this error.
>> 
>> controller at controller-VirtualBox:~/pktgen-2.8.0$ sudo
>> RTE_SDK=/home/controller/dpdk-1.7.1 make
>> make -C lib
>> make[1]: Entering directory `/home/controller/pktgen-2.8.0/lib'
>> == common
>> == lua
>> == src
>> make[1]: Leaving directory `/home/controller/pktgen-2.8.0/lib'
>> make -C app
>> make[1]: Entering directory `/home/controller/pktgen-2.8.0/app'
>>   CC lpktgenlib.o
>> lpktgenlib.c: In function Œgetf_etheraddr¹:
>> lpktgenlib.c:174:9: error: passing argument 1 of
>>Œcmdline_parse_etheraddr¹
>> from incompatible pointer type [-Werror]
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: expected Œstruct cmdline_parse_token_hdr_t *¹ but argument is of
>>type
>> Œstruct cmdline_etheraddr_t *¹
>> lpktgenlib.c: In function Œgetf_ipaddr¹:
>> lpktgenlib.c:185:6: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_set¹:
>> lpktgenlib.c:233:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œset_seq¹:
>> lpktgenlib.c:290:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:291:3: error: too many arguments to function
>> Œcmdline_parse_etheraddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: declared here
>> lpktgenlib.c:292:3: error: too many arguments to function
>> Œcmdline_parse_etheraddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: declared here
>> lpktgenlib.c:295:7: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c:298:7: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c: In function Œset_seqTable¹:
>> lpktgenlib.c:370:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_icmp¹:
>> lpktgenlib.c:466:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_sendARP¹:
>> lpktgenlib.c:494:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_set_mac¹:
>> lpktgenlib.c:521:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:522:2: error: too many arguments to function
>> Œcmdline_parse_etheraddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_prototype¹:
>> lpktgenlib.c:582:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_set_ip_addr¹:
>> lpktgenlib.c:615:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:619:2: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_set_type¹:
>> lpktgenlib.c:650:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_send_ping4¹:
>> lpktgenlib.c:679:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_pcap¹:
>> lpktgenlib.c:739:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_start¹:
>> lpktgenlib.c:768:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_stop¹:
>> lpktgenlib.c:796:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_prime¹:
>> lpktgenlib.c:845:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_clear¹:
>> lpktgenlib.c:1087:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_reset_config¹:
>> lpktgenlib.c:1172:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_dst_mac¹:
>> lpktgenlib.c:1201:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:1202:2: error: too many arguments to function
>> Œcmdline_parse_etheraddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_src_mac¹:
>> lpktgenlib.c:1232:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:1233:2: error: too many arguments to function
>> Œcmdline_parse_etheraddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_etheraddr.h:75:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_dst_ip¹:
>> lpktgenlib.c:1265:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:1267:2: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_src_ip¹:
>> lpktgenlib.c:1300:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c:1302:2: error: too many arguments to function
>> Œcmdline_parse_ipaddr¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_ipaddr.h:94:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_dst_port¹:
>> lpktgenlib.c:1332:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_src_port¹:
>> lpktgenlib.c:1361:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_vlan_id¹:
>> lpktgenlib.c:1391:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_vlanid¹:
>> lpktgenlib.c:1424:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_vlan¹:
>> lpktgenlib.c:1455:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_mpls_entry¹:
>> lpktgenlib.c:1485:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_mpls¹:
>> lpktgenlib.c:1514:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_qinqids¹:
>> lpktgenlib.c:1544:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_qinq¹:
>> lpktgenlib.c:1579:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_gre_key¹:
>> lpktgenlib.c:1609:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_gre¹:
>> lpktgenlib.c:1638:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_gre_eth¹:
>> lpktgenlib.c:1666:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_pkt_size¹:
>> lpktgenlib.c:1697:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_range¹:
>> lpktgenlib.c:1728:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_process¹:
>> lpktgenlib.c:1802:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_garp¹:
>> lpktgenlib.c:1831:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_blink¹:
>> lpktgenlib.c:1860:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_isSending¹:
>> lpktgenlib.c:1916:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_linkState¹:
>> lpktgenlib.c:1974:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_portSizes¹:
>> lpktgenlib.c:2045:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_pktStats¹:
>> lpktgenlib.c:2114:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_portStats¹:
>> lpktgenlib.c:2189:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_decompile¹:
>> lpktgenlib.c:2325:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_sendPkt¹:
>> lpktgenlib.c:2358:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> lpktgenlib.c: In function Œpktgen_recvPkt¹:
>> lpktgenlib.c:2428:2: error: too many arguments to function
>> Œcmdline_parse_portlist¹
>> 
>>/home/controller/dpdk-1.7.1/x86_64-native-linuxapp-gcc/include/cmdline_pa
>>rse_portlist.h:83:5:
>> note: declared here
>> cc1: all warnings being treated as errors
>> make[1]: *** [lpktgenlib.o] Error 1
>> make[1]: Leaving directory `/home/controller/pktgen-2.8.0/app'
>> make: *** [app] Error 2
>> 
>
>Looks like you ran afoul of commit
>aaa662e75c23c61a1d79bd4d1f9f35b4967c39db.  It
>changed the arguments to all the fuctions you are having compile errrors
>with.
>You need to update pktgen to pass the new argument list properly.

Updated Pktgen-dpdk to build with the new changes, you can pull down the
2.8.3 version
and it should build fine. The new version of Pktgen-dpdk will require the
following patch
to dpdk to support the updated build style
:http://patchwork.dpdk.org/dev/patchwork/patch/3799/
until the patch has been applied.

Let me know if that does not help you as you are on DPDK 1.7.1.

Regards,
++Keith
>
>In the future this will hopefully be less of a problem now that we have
>some
>modicum of ABI compat infrastructure
>Neil
>



More information about the dev mailing list