* [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).