- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When building the sepdk driver module, I got some errors and the build process failed.
The following is the detailed context:
[root@cn0%debuger src]# ./build-driver
Options in brackets "[ ... ]" indicate default values
that will be used when only the ENTER key is pressed.
C compiler to use: [ /usr/bin/gcc ]
Make command to use: [ /usr/bin/make ]
Kernel source directory: [ /lib/modules/2.6.39.3/build ] /vol6/home/jiangjie/linux-2.6.39.3
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd
rm -f sep3_1.ko sep3_1.ko.unsigned sep3_1-x32_64-2.6.39.3smp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Entering directory `/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/pax'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd
rm -f pax.ko pax.ko.unsigned pax-x32_64-2.6.39.3smp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Leaving directory `/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/pax'
/usr/bin/make -C /vol6/home/jiangjie/linux-2.6.39.3 M=/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src LDDINCDIR=/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/../include LDDINCDIR1=/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/inc modules PWD=/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src
make[1]: Entering directory `/vol6/home/jiangjie/linux-2.6.39.3'
CC
/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.c:2212: error: unknown field ioctl specified in initializer
/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.c:2212: warning: initialization from incompatible pointer type
/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.c:2224: error: unknown field ioctl specified in initializer
/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.c:2236: error: unknown field ioctl specified in initializer
/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.c:2249: error: unknown field ioctl specified in initializer
make[2]: *** [/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src/lwpmudrv.o] Error 1
make[1]: *** [_module_/vol6/lib/intel/vtune_amplifier_xe_2011/sepdk/src] Error 2
make[1]: Leaving directory `/vol6/home/jiangjie/linux-2.6.39.3'
make: *** [default] Error 2
In Linux kernel 2.6.39, the structure "file_operations" doesn't contain "ioctl" field anymore.
Instead, it has been replaced with unlocked_ioctl.
Seems that this problem can be fixed by replacing ioctl with unlocked_ioctl in file lwpmudrv.c.
Does Intel provide new update of Vtune Amplifier XE that works around this problem?
Jie Jiang
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Based on installation message "rm -f sep3_1.ko sep3_1.ko.unsigned sep3_1-x32_64-2.6.39.3smp.ko" - you have to upgrade to latest version Update 4. Please download the package from https://registrationcenter.intel.com/RegCenter/Download.aspx?productid=1384
What is Linux* OS you work on? Please check supported OSs in release notes of the product, under installation_dir/documentation/en
I tested on kernel 2.6.38.7, it works, but not sure for 2.6.39.3 - what is OS vendor name?
Please let me know if you need other assistance.
Regards, Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to build VTUNE driver and when I try to build it, I get the following errors:
:> /opt/intel/vtune_amplifier/sepdk/src$ sudo ./build-driver
Options in brackets "[ ... ]" indicate default values
that will be used when only the ENTER key is pressed.
C compiler to use: [ /usr/bin//gcc ]
Make command to use: [ /usr/bin//make ]
Kernel source directory: [ /lib/modules/4.13.0-32-generic/build ]
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f sep4_1.ko sep4_1.ko.unsigned
rm -f sep4_1*x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/pax'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f pax.ko pax.ko.unsigned pax-x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/pax'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f socperf2_0.ko socperf2_0.ko.unsigned
rm -f socperf2_0*x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
rm -f /opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp/vtss_autoconf.h
rm -f vtsspp.ko vtsspp.ko.unsigned vtsspp-x32_64-4.13.0-32-genericsmp.ko
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
/usr/bin//make -C /lib/modules/4.13.0-32-generic/build M=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src LDDINCDIR=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/../include LDDINCDIR1=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/inc modules PWD=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src -j4
make[2]: Entering directory '/usr/src/linux-headers-4.13.0-32-generic'
CC
CC
CC
CC
CC
CC
CC
CC
LD
Building modules, stage 2.
MODPOST 1 modules
CC /opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/socperf2_0.mod.o
LD
make[2]: Leaving directory '/usr/src/linux-headers-4.13.0-32-generic'
cp socperf2_0.ko socperf2_0-x32_64-4.13.0-32-genericsmp.ko
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
/usr/bin//make -C /lib/modules/4.13.0-32-generic/build M=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src LDDINCDIR=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/../include LDDINCDIR1=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/inc modules PWD=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-32-generic'
***************************************************************
NOTE: NMI Interrupt Mode is set on 4.13.0-32-generic kernel
***************************************************************
CC
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c: In function ‘lwpmudrv_Get_Drv_Setup_Info’:
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c:4380:9: error: ‘x86_hyper’ undeclared (first use in this function)
if (x86_hyper && x86_hyper->name) {
^
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c:4380:9: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:308: recipe for target '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.o' failed
make[2]: *** [/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.o] Error 1
Makefile:1550: recipe for target '_module_/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src' failed
make[1]: *** [_module_/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-32-generic'
Makefile:224: recipe for target 'default' failed
make: *** [default] Error 2
Any help is appreciated.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got similar error on UBUNTU 18.10
C compiler to use: [ /usr/bin/gcc ]
Make command to use: [ /usr/bin/make ]
Kernel source directory: [ /lib/modules/4.13.0-32-generic/build ]
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f sep4_1.ko sep4_1.ko.unsigned
rm -f sep4_1*x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/pax'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f pax.ko pax.ko.unsigned pax-x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/pax'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f socperf2_0.ko socperf2_0.ko.unsigned
rm -f socperf2_0*x32_64-4.13.0-32-genericsmp.ko
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp'
rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno
rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers
rm -rf .tmp_versions
rm -f /opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp/vtss_autoconf.h
rm -f vtsspp.ko vtsspp.ko.unsigned vtsspp-x32_64-4.13.0-32-genericsmp.ko
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/vtsspp'
make[1]: Entering directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
/usr/bin/make -C /lib/modules/4.13.0-32-generic/build M=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src LDDINCDIR=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/../include LDDINCDIR1=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/inc modules PWD=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src -j4
make[2]: Entering directory '/usr/src/linux-headers-4.13.0-32-generic'
CC
CC
CC
CC
CC
CC
CC
CC
LD
Building modules, stage 2.
MODPOST 1 modules
CC /opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src/socperf2_0.mod.o
LD
make[2]: Leaving directory '/usr/src/linux-headers-4.13.0-32-generic'
cp socperf2_0.ko socperf2_0-x32_64-4.13.0-32-genericsmp.ko
make[1]: Leaving directory '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/socperf/src'
/usr/bin/make -C /lib/modules/4.13.0-32-generic/build M=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src LDDINCDIR=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/../include LDDINCDIR1=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/inc modules PWD=/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-32-generic'
***************************************************************
NOTE: NMI Interrupt Mode is set on 4.13.0-32-generic kernel
***************************************************************
CC
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c: In function ‘lwpmudrv_Get_Drv_Setup_Info’:
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c:4380:9: error: ‘x86_hyper’ undeclared (first use in this function); did you mean ‘x86_hyper_type’?
if (x86_hyper && x86_hyper->name) {
^~~~~~~~~
x86_hyper_type
/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.c:4380:9: note: each undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:308: recipe for target '/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.o' failed
make[2]: *** [/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src/lwpmudrv.o] Error 1
Makefile:1550: recipe for target '_module_/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src' failed
make[1]: *** [_module_/opt/intel/vtune_amplifier_2018.1.0.535340/sepdk/src] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-32-generic'
Makefile:224: recipe for target 'default' failed
make: *** [default] Error 2
Please help
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am getting the message above, about x86_hyper undeclared on Ubuntu 16.04
Linux wrkstn-xps-8920 4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Additionally, during VTune HPC and Micro-analysis, VTune locks up resolving symbols.
Please advise,
-Joe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The following patch makes the intel vtune drivers build on Ubuntu's 17.10 4.13 kernel. Note that the kernel version checks are incorrect, since Cannonical has backported some 4.15 changes into their 4.13 kernel.
diff --git a/src/lwpmudrv.c b/src/lwpmudrv.c index 083efdc..c3ebb96 100644 --- a/src/lwpmudrv.c +++ b/src/lwpmudrv.c @@ -4376,7 +4376,29 @@ lwpmudrv_Get_Drv_Setup_Info ( #endif #if defined(CONFIG_HYPERVISOR_GUEST) -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34) +#if LINUX_VERSION_CODE > KERNEL_VERSION(4,13,0) + if (!hypervisor_is_type(X86_HYPER_NATIVE)) { + DRV_SETUP_INFO_vmm_mode(&req_drv_setup_info) = 1; + if (hypervisor_is_type(X86_HYPER_KVM)) { + DRV_SETUP_INFO_vmm_vendor(&req_drv_setup_info) = DRV_VMM_KVM; + DRV_SETUP_INFO_vmm_guest_vm(&req_drv_setup_info) = 1; + KVM_guest_mode = TRUE; + } else if (hypervisor_is_type(X86_HYPER_XEN_PV) || + hypervisor_is_type(X86_HYPER_XEN_HVM)) { + DRV_SETUP_INFO_vmm_vendor(&req_drv_setup_info) = DRV_VMM_XEN; + if (!xen_initial_domain()) { + DRV_SETUP_INFO_vmm_guest_vm(&req_drv_setup_info) = 1; + } + } else if (hypervisor_is_type(X86_HYPER_MS_HYPERV)) { + DRV_SETUP_INFO_vmm_vendor(&req_drv_setup_info) = DRV_VMM_HYPERV; + DRV_SETUP_INFO_vmm_guest_vm(&req_drv_setup_info) = 1; + } else if (hypervisor_is_type(X86_HYPER_VMWARE)) { + DRV_SETUP_INFO_vmm_vendor(&req_drv_setup_info) = DRV_VMM_VMWARE; + } else { + DRV_SETUP_INFO_vmm_vendor(&req_drv_setup_info) = DRV_VMM_UNKNOWN; + } + } +#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,34) if (x86_hyper && x86_hyper->name) { DRV_SETUP_INFO_vmm_mode(&req_drv_setup_info) = 1; if (!strncmp(x86_hyper->name, "KVM", 3)) { diff --git a/src/vtsspp/collector.c b/src/vtsspp/collector.c index c8fde79..64ec3b2 100644 --- a/src/vtsspp/collector.c +++ b/src/vtsspp/collector.c @@ -61,6 +61,9 @@ #include <linux/sched/mm.h> #include <linux/sched/signal.h> #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0) +#include <linux/sched/task_stack.h> +#endif #include <asm/kexec.h> #include <asm/pgtable.h> #include <asm/fixmap.h> /* VSYSCALL_START */
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for reporting this issues guys. I filed an internal ticket so that we make sure the issue is fixed in the upcoming releases.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
UPDATE: Intel® VTune™ Amplifier 2018 Update 2 released and available for download from Intel Registration Center. It includes fixes for the issues described above. If you continue to experience issues after installing this version, please submit a ticket at https://supporttickets.intel.com.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page