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

Neil Horman nhorman at tuxdriver.com
Sat Feb 28 15:00:11 CET 2015


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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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_parse_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.  

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