Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

nigpib driver on linux redhat 7.0

I'm trying to install the NI-GPIB package delivered with LabView 6i for linux
To do this I'm using the INSTALL script present in the LabView CD-ROM. I answer all questions that apper on the screen, whe the installation of NI-GPIB begin I get the following message:

WARNING - Your kernel header file version in /usr/include/linux/version.h
is 2.4.0-0.26smp
2.4.0-0.26, but you are running kernel 2.2.16-22.
The driver being built will only run under Linux 2.4.0-0.26smp
2.4.0-0.26.

the system then try to compile the driver and fails with the message:

In file included from ib_linux.c:0:
/usr/include/linux/modversions.h:1:2: #error Modules should never use kernel-headers system headers,
/usr/include/linux/mo
dversions.h:2:2: #error but headers from an appropriate kernel-source

and other related warning

Indeed the kernel-headers installed seems to belong to the 2.4 kernel but the kernel actually is 2.2.16-22 (standard RedHat 7.0 installation)
The header of the same version is not present in RedHat CD and on rmpfind.net

What can I do now?

Thanks

Giovanni Bonanno
0 Kudos
Message 1 of 3
(3,329 Views)
RedHat 7.0 apparently installs one version of the kernel and a different version of the header files causing a general mixup in the install. Furthermore, the beta driver for TNT based GPIB controllers (PCI-GPIB, AT-GPIB/TNT, etc) is NOT supported in kernels 2.4.x. The ENET GPIB driver (v1.1) DOES support 2.4.x but requires the use of a GPIB-ENET controller. If switching to this unit is not an option, the BETA 0.6 driver is compatible with 2.2.x kernels (RedHat 6.2).
Message 2 of 3
(3,329 Views)
I recently had the same problem with the NI-VXI driver. I installed the kernel source RPM for Redhat Linux 7.0 and modified the NI-VXI Makefile to point to the kernel source header files.

There was a comment in the Makefile for the NI-VXI driver:

# If your kernel includes are not in the standard location (/usr/include/linux)
# or the version of the headers in that location is not the same as the version
# current in your kernel, you may wish to set the variable INCDIR.
#INCDIR=-I/usr/src/linux/include
0 Kudos
Message 3 of 3
(3,329 Views)