Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-VISA issue in LabVIEW Linux

I installed LabVIEW Full Version 8.6 of Linux and gave it a quick test with
current code developed under Windows platform. It works very well except the
VISA part: when I tried to create the visa resource name or open a VI with VISA
name control, this action closed all current VI windows and quit LabVIEW
automatically.

The Redhat version is: Red Hat Enterprise Linux WS release 4 (Nahant Update 4)
2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux

The default installed programs version are: NI-VISA Development 4.4.0 and NI-488.2
Distribution version 2.5.1f0 for Linux/x86 32-bit.

This error came during installation:

error: /lib/modules/2.6.9-42.ELsmp/kernel/natinst/nipal/nipalk.ko not found
error: Please compile and install nipalk.ko by running
error:  updateNIDrivers


Then I followed the advice and run updateNIDrivers, I got another error as follows:

[root@picolt02 Working]# updateNIDrivers

Configuring for linux kernel version 2.6.9-42.ELsmp.

********************************* NOTE *********************************
Using kernel headers found in /lib/modules/2.6.9-42.ELsmp/source.
If this does not correspond to the location of the 2.6.9-42.ELsmp headers,
then define KERNELHEADERS in your environment to point to the location
of the kernel headers, define KERNELTARGET as the version of the
kernel for which to compile, and then rerun ./configure.
********************************* NOTE *********************************

Kernel has reparent_to_init(): no
Number of arguments for do_munmap(): 3
pte_offset function: pte_offset_kernel()
Levels in page table: 3
Kernel has remap_pfn_range: no
Number of arguments for remap_page_range(): 5
USB altsetting name: cur_altsetting
Kernel has usb_get_intf(): yes
Kernel has intf_cache member in usb_host_config: yes
Kernel has ep[] members in usb_device: no
Kernel exports usb_set_configuration(): no
Units of USB_CTRL_GET_TIMEOUT: sec
Kernel has owner member in usb_driver: yes
Kernel has put_page_testzero(): yes
Kernel has mutex method: yes
Kernel has kthread: yes
Kernel has config.h: yes
Kernel has ioctl32.h: yes
IRQ handlers have pt_regs: yes
Kernel has work_struct and delayed_work: no

Storing configuration in Makefile.in
If the values stored are incorrect they can be changed before running make.

Uninstalling NI-KAL (nikal): done
/bin/rm -rf objects
Updating NI-KAL:
 NI-KAL update failed.

/bin/cp nikal.c objects/nikal.c
/bin/cp nikal.h objects/nikal.h
make -C /lib/modules/2.6.9-42.ELsmp/source SUBDIRS=/usr/local/natinst/nikal/src/ objects modules
make[1]: Entering directory `/usr/src/kernels/2.6.9-42.EL-smp-i686'
  CC [M]  /usr/local/natinst/nikal/src/objects/nikal.o
cc1: error: invalid option `multiple'
cc1: error: invalid option `string'
cc1: warning: unknown register name: r2
make[2]: *** [/usr/local/natinst/nikal/src/objects/nikal.o] Error 1
make[1]: *** [_module_/usr/local/natinst/nikal/src/objects] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.9-42.EL-smp-i686'
make: *** [objects/nikal.ko] Error 2

ERROR: make of nikal kernel module failed, not installing kernel module.
   updateNIDrivers should be called again after fixing the problem.
   Logging failure...
   Include the file /tmp/niSystemReport.out.gz when contacting
   National Instruments for support.

 

 

niSystemReport file is attached here. I found this poster with the similar issue:
http://forums.ni.com/ni/board/message?board.id=250&message.id=34181

Followed donatoaz's method, the latest version of NI-KAL(nikal18.iso),
NI-VISA(NI-VISA-4.4.0.iso) and NI488.2(NI4882-2.5.4b1.tar.gz) were downloaded
from NI website. Firstly I uninstalled all old drivers, and then installed
three drivers in above order according to the README file. However, the same error
of "nipalk.ko not found" happened again.

Does anyone has any ideas of these issues? Many thanks in advance. 

 

Regards,

Jean 

0 Kudos
Message 1 of 11
(7,186 Views)

Jean--

 

So it sounds like NI-KAL failed to load as we are seeing in the errors.  I have found another discussion forum that highlights some reasons for this issue.  I am curious if you are experiencing this issue due to symptom #3 in that forum post.  How much RAM do you have in this system?  If you are over 4GB refer to this KnowledgeBase.

 

Cheers!

 

--
Tyler C

0 Kudos
Message 2 of 11
(7,150 Views)

Jean,

 

The NI-KAL kernel module is failing to compile, and the error message honestly doesn't make any sense to me.

 


cc1: error: invalid option `multiple'
cc1: error: invalid option `string'
cc1: warning: unknown register name: r2


So it appears the compiler is passed the options "multiple" and "string".  I'm not sure where those are coming from.  Can you try running the following as root and posting the output:

 

cd /usr/local/natinst/nikal/src

make clean

make V=1

 

That should let us see what is passed to the compiler and then maybe those mysterious options will make sense.

 

Shawn Bohrer

National Instruments

 

Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 3 of 11
(7,139 Views)

Tyler,

 

Thanks, I read this article, my system has 2GB ram. Is this fine for NI-KAL installation?

 

Jean 

0 Kudos
Message 4 of 11
(7,120 Views)

Shawn:

 

Thanks for you reply. I tried running these code and got the following results. Do you have any idea about this? 

 

[root@picolt02 Working]# cd /usr/local/natinst/nikal/src
[root@picolt02 src]# ls
clientKalInterface.c  generateExportC.sh  kalInterface.h  nikal.c  README
clientKalInterface.h  install.sh          Makefile        nikal.h  uninstall.sh
configure             kalInterface.c      Makefile.in     objects  utility.sh
[root@picolt02 src]# make clean
/bin/rm -rf objects
[root@picolt02 src]# make V=1
/bin/cp nikal.c objects/nikal.c
/bin/cp nikal.h objects/nikal.h
make -C /lib/modules/2.6.9-42.ELsmp/source SUBDIRS=/usr/local/natinst/nikal/src/objects modules
make[1]: Entering directory `/usr/src/kernels/2.6.9-42.EL-smp-i686'
mkdir -p /usr/local/natinst/nikal/src/objects/.tmp_versions
make -f scripts/Makefile.build obj=/usr/local/natinst/nikal/src/objects
  /usr/bin/gcc -Wp,-MD,/usr/local/natinst/nikal/src/objects/.nikal.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude  -Iarch/ppc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -fomit-frame-pointer -g -Wdeclaration-after-statement -Iarch/ppc -msoft-float -pipe -ffixed-r2 -mmultiple -mstring  -DnNIKAL100_kPTEOffsetKernel -DnNIKAL100_kFiveParameterRemapPageRange -DnNIKAL100_kCurrentAlternateSetting -DnNIKAL100_kUSBReferenceCountFunctions -DnNIKAL100_kUSBInterfaceCacheMember -DnNIKAL130_kUSBOwnerMember -DnNIKAL100_kPutPageTestzero -DnNIKAL150_kMutexMethod -DnNIKAL150_kKthread -DnNIKAL160_kConfig -DnNIKAL160_kIRQRegs -DnNIKAL170_kIoctl32 -DnNIKAL100_kTargetName="\"nikal.ko\"" -DMODULE -DKBUILD_BASENAME=nikal -DKBUILD_MODNAME=nikal -c -o /usr/local/natinst/nikal/src/objects/.tmp_nikal.o /usr/local/natinst/nikal/src/objects/nikal.c
cc1: error: invalid option `multiple'
cc1: error: invalid option `string'
cc1: warning: unknown register name: r2
make[2]: *** [/usr/local/natinst/nikal/src/objects/nikal.o] Error 1
make[1]: *** [_module_/usr/local/natinst/nikal/src/objects] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.9-42.EL-smp-i686'
make: *** [objects/nikal.ko] Error 2


Jean
0 Kudos
Message 5 of 11
(7,119 Views)

btw: here is my system memory size:

 

[root@picolt02 Working]# free -m
             total       used       free     shared    buffers     cached
Mem:          2024        669       1354          0         52        420
-/+ buffers/cache:        197       1827
Swap:         1983          0       1983
[root@picolt02 Working]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0      0 1387516  53528 430072    0    0     9     3  503    42  0  0 99  0

0 Kudos
Message 6 of 11
(7,115 Views)

Jeanney wrote:
  /usr/bin/gcc -Wp,-MD,/usr/local/natinst/nikal/src/objects/.nikal.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude  -Iarch/ppc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -fomit-frame-pointer -g -Wdeclaration-after-statement -Iarch/ppc -msoft-float -pipe -ffixed-r2 -mmultiple -mstring 

Well, this is interesting not only are "-ffixed-r2 -mmultiple -mstring" passed to the compiler, but there is also "-Iarch/ppc".  The kernel build system is adding these compiler flags, which means that the kernel source on your system thinks it is configured for a PPC.  The info from your niSystemReport looks normal, and you are obviously on an Intel x86 processor.  So I guess my questions are:

 

1. Do you have any idea why the kernel source on your system thinks it is configured for a PPC machine?  Maybe you mounted or copied kernel source from an older Mac or other PPC machine?

2. How did you install the kernel headers/source.  On RHEL all you need to do is install the kernel-devel rpm.  Can you tell me the output of:

 

rpm -qa | grep kernel

 

Thanks,

Shawn Bohrer

National Instruments
Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 7 of 11
(7,102 Views)

Shawn,

 

I just ran the command and get this output:

 

[root@picolt02 Working]# rpm -qa | grep kernel
kernel-2.6.9-42.EL
kernel-devel-2.6.9-42.EL
kernel-smp-devel-2.6.9-42.EL
kernel-smp-2.6.9-42.EL
kernel-hugemem-devel-2.6.9-42.EL
kernel-ib-1.0-1
kernel-utils-2.4-13.1.83


At the top of my head, I don't know the system configuration problem between PPC and X86 in this machine because it was installed by our IT support. I'll check the kernel installation and let you know ASAP. 

 

Many thanks for your help and time. 

 

Regards,

Jean 

 

0 Kudos
Message 8 of 11
(7,056 Views)

Shawn,

 

I just got to know the kernel in this machine was not installed in a standard fashion. I'll reinstall the system and LabVIEW to see if it works. I'll keep you posted about this issue.

 

Thanks a lot,

Jean

0 Kudos
Message 9 of 11
(7,044 Views)

Hi,

 

The NI VISA works very well after reinstalling the Linux and LabVIEW Linux 8.6. It's the reason of kernel configuration. Thank you very much!

 

Regards,

Jean

0 Kudos
Message 10 of 11
(7,007 Views)