> On Aug 9, 2017, at 11:52 AM, McCullough, Harrison > <[email protected]> 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 > instead of RTE_DEVTYPE_BLACKLISTED. > > I changed the two places where it used did this check (one for > RTE_DEVTYPE_BLACKLISTED_PCI and one for RTE_DEVTYPE_WHITELISTED_PCI), and it > 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 Regards, Keith
