DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] how to compile kernel drivers only
@ 2015-07-30 12:17 Montorsi, Francesco
  2015-07-30 12:23 ` Thomas Monjalon
  0 siblings, 1 reply; 4+ messages in thread
From: Montorsi, Francesco @ 2015-07-30 12:17 UTC (permalink / raw)
  To: dev

Hi all,

I'm trying to compile DPDK kernel drivers (i.e., igb_uio.ko and kni.ko if I got it right) only on a certain machine.
On that machine, I'm not interested in anything else. how can I tweak .config file to achieve it?

I have tried to set all options to =n, except for:

CONFIG_RTE_LIBRTE_EAL=y
CONFIG_RTE_LIBRTE_EAL_LINUXAPP=y
CONFIG_RTE_EAL_IGB_UIO=y
CONFIG_RTE_EAL_VFIO=y
CONFIG_RTE_LIBRTE_KNI=y

But then I get a compile error about app/dump_cfg:

== Build app/dump_cfg
  CC main.o
  LD dump_cfg
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_common_log.o): In function `rte_eal_common_log_init':
eal_common_log.c:(.text+0x1b0): undefined reference to `rte_mempool_create'
eal_common_log.c:(.text+0x1fe): undefined reference to `rte_mempool_lookup'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_pci_uio.o): In function `pci_uio_map_resource':
eal_pci_uio.c:(.text+0x4dd): undefined reference to `rte_zmalloc'
eal_pci_uio.c:(.text+0x873): undefined reference to `rte_malloc'
eal_pci_uio.c:(.text+0x9bf): undefined reference to `rte_malloc'
eal_pci_uio.c:(.text+0xb0a): undefined reference to `rte_malloc'
eal_pci_uio.c:(.text+0xc55): undefined reference to `rte_malloc'
eal_pci_uio.c:(.text+0xda6): undefined reference to `rte_malloc'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_pci_uio.o):eal_pci_uio.c:(.text+0xf00): more undefined references to `rte_malloc' follow
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_pci_uio.o): In function `pci_uio_map_resource':
eal_pci_uio.c:(.text+0x10e4): undefined reference to `rte_free'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_interrupts.o): In function `rte_intr_callback_unregister':
eal_interrupts.c:(.text+0x7b6): undefined reference to `rte_free'
eal_interrupts.c:(.text+0x7f2): undefined reference to `rte_free'
eal_interrupts.c:(.text+0x84c): undefined reference to `rte_free'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_interrupts.o): In function `rte_intr_callback_register':
eal_interrupts.c:(.text+0x8fb): undefined reference to `rte_zmalloc'
eal_interrupts.c:(.text+0x96f): undefined reference to `rte_zmalloc'
eal_interrupts.c:(.text+0xac4): undefined reference to `rte_free'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_alarm.o): In function `rte_eal_alarm_cancel':
eal_alarm.c:(.text+0xa4): undefined reference to `rte_free'
eal_alarm.c:(.text+0x128): undefined reference to `rte_free'
eal_alarm.c:(.text+0x156): undefined reference to `rte_free'
eal_alarm.c:(.text+0x1d3): undefined reference to `rte_free'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_alarm.o): In function `rte_eal_alarm_set':
eal_alarm.c:(.text+0x31e): undefined reference to `rte_zmalloc'
dpdk/dpdk-2.0.0/x86_64-native-linuxapp-gcc/lib/librte_eal.a(eal_alarm.o): In function `eal_alarm_callback':
eal_alarm.c:(.text+0x59e): undefined reference to `rte_free'


How can I avoid building any app like dump_cfg?

Thanks!
Francesco

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

* Re: [dpdk-dev] how to compile kernel drivers only
  2015-07-30 12:17 [dpdk-dev] how to compile kernel drivers only Montorsi, Francesco
@ 2015-07-30 12:23 ` Thomas Monjalon
  2015-07-30 12:48   ` Montorsi, Francesco
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Monjalon @ 2015-07-30 12:23 UTC (permalink / raw)
  To: Montorsi, Francesco; +Cc: dev

2015-07-30 12:17, Montorsi, Francesco:
> How can I avoid building any app like dump_cfg?

In app/Makefile, you'll find the options to disable:
	DIRS-$(CONFIG_RTE_APP_TEST) += test
	DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl                                                                        
	DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
	DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
	DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
	DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += proc_info

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

* Re: [dpdk-dev] how to compile kernel drivers only
  2015-07-30 12:23 ` Thomas Monjalon
@ 2015-07-30 12:48   ` Montorsi, Francesco
  2015-07-30 13:41     ` Thomas Monjalon
  0 siblings, 1 reply; 4+ messages in thread
From: Montorsi, Francesco @ 2015-07-30 12:48 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

Hi Thomas,
Thanks for your reply.

My problem is that I have in app/Makefile:

DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += dump_cfg

So that I should put 

CONFIG_RTE_LIBRTE_EAL_LINUXAPP=n

To disable dump_cfg application build. However, If I do so, the kernel drivers are not built at all and make just says:

make T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc EXTRA_LDFLAGS="" --directory=dpdk-2.0.0 all
make[1]: Entering directory `/home/hammer/share/CSA-Hamachi-Sprint/HW-Accel/drivers/dpdk/dpdk-2.0.0'
== Build lib
== Build lib/librte_compat
  SYMLINK-FILE include/rte_compat.h
== Build lib/librte_eal
== Build app
Build complete

So that 
CONFIG_RTE_LIBRTE_EAL_LINUXAPP=y
Seems to be a pre-requisite of kernel drivers... or am I missing something?

Thanks,
Francesco

-----Original Message-----
From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] 
Sent: giovedì 30 luglio 2015 14:23
To: Montorsi, Francesco
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] how to compile kernel drivers only

2015-07-30 12:17, Montorsi, Francesco:
> How can I avoid building any app like dump_cfg?

In app/Makefile, you'll find the options to disable:
	DIRS-$(CONFIG_RTE_APP_TEST) += test
	DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl                                                                        
	DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
	DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
	DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
	DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += proc_info

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

* Re: [dpdk-dev] how to compile kernel drivers only
  2015-07-30 12:48   ` Montorsi, Francesco
@ 2015-07-30 13:41     ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2015-07-30 13:41 UTC (permalink / raw)
  To: Montorsi, Francesco; +Cc: dev

Francesco, please reply below (easier to follow the thread).

2015-07-30 12:48, Montorsi, Francesco:
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] 
> > 2015-07-30 12:17, Montorsi, Francesco:
> > > How can I avoid building any app like dump_cfg?
> > 
> > In app/Makefile, you'll find the options to disable:
> > 	DIRS-$(CONFIG_RTE_APP_TEST) += test
> > 	DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
> > 	DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
> > 	DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
> > 	DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_test
> > 	DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += proc_info
> 
> My problem is that I have in app/Makefile:
> 
> DIRS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += dump_cfg
> 
> So that I should put 
> 
> CONFIG_RTE_LIBRTE_EAL_LINUXAPP=n
> 
> To disable dump_cfg application build. However, If I do so, the kernel drivers are not built at all and make just says:
> 
> make T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc EXTRA_LDFLAGS="" --directory=dpdk-2.0.0 all
> make[1]: Entering directory `/home/hammer/share/CSA-Hamachi-Sprint/HW-Accel/drivers/dpdk/dpdk-2.0.0'
> == Build lib
> == Build lib/librte_compat
>   SYMLINK-FILE include/rte_compat.h
> == Build lib/librte_eal
> == Build app
> Build complete
> 
> So that 
> CONFIG_RTE_LIBRTE_EAL_LINUXAPP=y
> Seems to be a pre-requisite of kernel drivers... or am I missing something?

You're right. You cannot build only kernel drivers.
You are welcome to add a new config option to enable/disable apps.

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

end of thread, other threads:[~2015-07-30 13:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-30 12:17 [dpdk-dev] how to compile kernel drivers only Montorsi, Francesco
2015-07-30 12:23 ` Thomas Monjalon
2015-07-30 12:48   ` Montorsi, Francesco
2015-07-30 13:41     ` 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).