[dpdk-users] Error when compiling pktgen-dpdk with dpdk-17.02

Wiles, Keith keith.wiles at intel.com
Thu Aug 10 05:35:50 CEST 2017

> On Aug 9, 2017, at 11:52 AM, McCullough, Harrison <harrison_mccullough at labs.att.com> wrote:
> I have been using dpdk version 17.02. A while ago I installed pktgen-dpdk and
> got it working. However, when I recently downloaded it in a different machine
> (a Ubuntu 16.04 VM), pktgen-dpdk failed to build. At first I thought it had
> something to do with the fact that it was in a VM or something different
> about the configuration of this new machine. However, after I rolled back to
> the same commit that I used the first time it built fine.
> <aside>I haven't actually gotten it to work completely because of issues with
> memory and hugepages but the application starts just fine and it looks like
> it's my problem now.</aside>
> When I run make, this is what I  get:
> $ make
> == lib
> == common
>  CC copyright_info.o
>  CC port_config.o
> /home/username/pktgen-dpdk/lib/common/port_config.c: In function 'create_blacklist':
> /home/username/pktgen-dpdk/lib/common/port_config.c:198:24: error: 'RTE_DEVTYPE_BLACKLISTED' undeclared (first use in this function)
>    rte_eal_devargs_add(RTE_DEVTYPE_BLACKLISTED,

Please try the new version pktgen-3.3.9 it has this fix.

>                        ^
> /home/username/pktgen-dpdk/lib/common/port_config.c:198:24: note: each undeclared identifier is reported only once for each function it appears in
> /home/username/pktgen-dpdk/lib/common/port_config.c:208:24: error: 'RTE_DEVTYPE_WHITELISTED' undeclared (first use in this function)
>    rte_eal_devargs_add(RTE_DEVTYPE_WHITELISTED,
>                        ^
> /home/username/dpdk-stable-17.02.1/mk/internal/rte.compile-pre.mk:138: recipe for target 'port_config.o' failed
> make[3]: *** [port_config.o] Error 1
> /home/username/dpdk-stable-17.02.1/mk/rte.extlib.mk:44: recipe for target 'all' failed
> make[2]: *** [all] Error 2
> /home/username/dpdk-stable-17.02.1/mk/rte.extsubdir.mk:46: recipe for target 'common' failed
> make[1]: *** [common] Error 2
> /home/username/dpdk-stable-17.02.1/mk/rte.extsubdir.mk:46: recipe for target 'lib' failed
> make: *** [lib] Error 2
> In the offending file, .../pktgen-dpdk/lib/common/port_config.c, there's a
> line that I assume is checking the version number and using a different name
> depending on which version of DPDK you're using. Unfortunately, it seems to
> be confused as to when that name change took place. I checked 17.02, 17.05,
> and 17.08, and they all seemed to be using RTE_DEVTYPE_BLACKLISTED_PCI
> I changed the two places where it used did this check (one for
> happily compiled most of the files (getting through lib, common, lua, src,
> and cli). However, it got hung up on app with the following error:
> make[2]: *** No rule to make target '/home/harrison/pktgen-dpdk/app/../lib/common/x86_64-native-linuxapp-gcc/libcommon.a'.  Stop.
> /home/harrison/dpdk-stable-17.02.1/mk/rte.extapp.mk:47: recipe for target '/home/harrison/pktgen-dpdk/app/../lib/common/x86_64-native-linuxapp-gcc/libcommon.a' failed
> make[1]: *** [/home/harrison/pktgen-dpdk/app/../lib/common/x86_64-native-linuxapp-gcc/libcommon.a] Error 2
> /home/harrison/dpdk-stable-17.02.1/mk/rte.extsubdir.mk:46: recipe for target 'app' failed
> make: *** [app] Error 2
> I didn't feel like trying to track this any farther, especially because it's
> working with the previous version of pktgen. I'm guessing this is failing
> because I'm trying to use a newer version of pktgen with an older version of
> DPDK, does that seem right? How am I supposed to know which commit works with
> which version of DPDK? Are there tags in the pktgen-dpdk git repository that
> mark it as compatible with certain releases of DPDK?
> This is the sha-1 of the commit where everything works with DPDK 17.02:
> 4a23c7ef444ab25c3efd0acfa43d7cc7c739279a
> This is the sha-1 of the master as it currently stands
> 67eb645cbbef76821d8bfb14d7838e54f14f4b2a


More information about the users mailing list