Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Need help on error: libnipalu.so failed to initialize

Hi all,

Today I was trying to get my NI-6034E work on a OpenSuse 10.3 workstation. I downloaded nidaqmxbase-3.1.0.iso and installed according to the readme file. I followed the instructions of make kernel source config and make modules. However, once the INSTALL script finished and I rebooted the machine, I found that I can't use the installed software. Whatever binary I call, e.g., lsdaq, I get the same error of :   libnipalu.so failed to initialize. Has anyone met this problem before? I did a Google search and a search in this forum and couldn't find an answer. I'd really appreciate your help!!

Best
Lei
0 Kudos
Message 1 of 16
(8,934 Views)
Hi Lei,

You mentioned that you followed the readme file when you installed DAQmx Base 3.1, but which section did you follow? There are separate installation instructions for OpenSuSE.

When you run updateNIDrivers as root from the console, what do you see?

If you're still having problems, please give me some more information:
  1. Did your card work on your system at any point before this installation?
  2. What changes did you make to your out-of-the-box installation: did you upgrade the kernel or add other packages?
  3. What processor do you have?
  4. Which kernel version are you using? Please provide the output from uname -a.
  5. Which NI-PAL and NI-KAL versions do you have installed?
    • To find the NI-KAL version, look at the file /usr/local/natinst/nikal/src/utility.sh and find the line that says nikalVersion=.
    • To find the NI-PAL version, look in the directory /usr/local/natinst/nipal/lib for the file libnipalu.so.M.m.p. The numbers M.m.p will be the major version number, the minor version number, and the patch level.
Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 2 of 16
(8,916 Views)
Hi Joe,

Thanks a lot for your response!! About two years ago I used another 6034E card on a Suse 9.0 machine using the nidaqmx driver. We recently ordered another 6034E and want to install it on a Suse 10.3 machine. This is my first attempt of installing the driver NI-DAQmx Base 3.1 . I did not upgrade the kernel after installation. Below I'll answer your other questions. I really appreciate your help on this problem!!!

Lei

*** When you run updateNIDrivers as root from the console, what do you see?


Configuring for linux kernel version 2.6.22.17-0.1-default.

********************************* NOTE *********************************
Using kernel headers found in /lib/modules/2.6.22.17-0.1-default/source.
If this does not correspond to the location of the 2.6.22.17-0.1-default 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: 4
Kernel has remap_pfn_range: yes
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: yes
Kernel exports usb_set_configuration(): no
Units of USB_CTRL_GET_TIMEOUT: msec
Kernel has owner member in usb_driver: no
Kernel has put_page_testzero(): yes
Kernel has mutex method: yes
Kernel has kthread: yes
Kernel has config.h: no
Kernel has ioctl32.h: no
IRQ handlers have pt_regs: no
Kernel has work_struct and delayed_work: yes

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.22.17-0.1-default/source SUBDIRS=/usr/local/natinst/nikal/src/objects modules
make[1]: Entering directory `/usr/src/linux-2.6.22.17-0.1'
  CC [M]  /usr/local/natinst/nikal/src/objects/nikal.o
/usr/local/natinst/nikal/src/objects/nikal.c: In function ‘nNIKAL100_reserveInterrupt’:
/usr/local/natinst/nikal/src/objects/nikal.c:4114: warning: ‘deprecated_irq_flag’ is deprecated (declared at include/linux/interrupt.h:66)
/usr/local/natinst/nikal/src/objects/nikal.c:4114: warning: ‘deprecated_irq_flag’ is deprecated (declared at include/linux/interrupt.h:66)
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: GPL-incompatible module nikal.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module nikal.ko uses future GPL-only symbol 'usb_register_driver'
  CC      /usr/local/natinst/nikal/src/objects/nikal.mod.o
  LD [M]  /usr/local/natinst/nikal/src/objects/nikal.ko
make[1]: Leaving directory `/usr/src/linux-2.6.22.17-0.1'
Installing NI-KAL (nikal): Starting NI-KAL failed!
make: *** [install] Error 1

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.


*** Did your card work on your system at any point before this installation?
No.

***
What changes did you make to your out-of-the-box installation: did you upgrade the kernel or add other packages?
No.

***
What processor do you have?
Intel(R) Xeon(R) CPU           E5310  @ 1.60GHz

***
Which kernel version are you using?
Linux hangzhou 2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC i686 i686 i386 GNU/Linux

***
Which NI-PAL and NI-KAL versions do you have installed?
/usr/local/natinst/nikal/src/utility.sh doesn't have any output. libnipalu.so version is libnipalu.so.2.2.0
0 Kudos
Message 3 of 16
(8,904 Views)
A bit more information that may be helpful. I searched for error messages in dmesg and found these:

nikal: no version for "struct_module" found: kernel tainted.
nikal: module license 'Copyright (c) 2002-2007 National Instruments Corporation.  All Rights Reserved.  Any and all use of the copyrighted
materials is subject to the then current terms and conditions of the applicable license agreement, which can be found at <http://www.ni.com
/linux/>.' taints kernel.
Symbol usb_register_driver is being used by a non-GPL module, which will not be allowed in the future
Please see the file Documentation/feature-removal-schedule.txt in the kernel source tree for more details.
Symbol usb_deregister is being used by a non-GPL module, which will not be allowed in the future
Please see the file Documentation/feature-removal-schedule.txt in the kernel source tree for more details.
[nikal] More than 4GB of addressable memory detected.
[nikal] This configuration is not supported.  Check the release notes for more information.
nipalk: Unknown symbol nNIKAL100_unregisterPCIDriver
nipalk: Unknown symbol nNIKAL100_waitForSingleUseEventTimeout
nipalk: Unknown symbol nNIKAL100_ioWrite16
nipalk: Unknown symbol nNIKAL100_unregisterUSBDriver
nipalk: Unknown symbol nNIKAL100_ioRead8
nipalk: Unknown symbol nNIKAL100_usbSetConfiguration
nipalk: Unknown symbol nNIKAL100_acquireSpinLockInterrupt
nipalk: Unknown symbol nNIKAL100_pciConfigRead16
nipalk: Unknown symbol nNIKAL100_usbSubmitURB
nipalk: Unknown symbol nNIKAL100_scheduleDPC
nipalk: Unknown symbol nNIKAL100_registerPCIDriver
nipalk: Unknown symbol nNIKAL100_usbGetDeviceDescriptor
nipalk: Unknown symbol nNIKAL100_destroySemaphore
nipalk: Unknown symbol nNIKAL100_mapPhysicalToKernel
nipalk: Unknown symbol nNIKAL100_relinquishInterrupt
nipalk: Unknown symbol nNIKAL100_memoryRead32
nipalk: Unknown symbol nNIKAL100_createSystemThread
nipalk: Unknown symbol nNIKAL100_memoryRead8
nipalk: Unknown symbol nNIKAL100_releaseSpinLockInterrupt
nipalk: Unknown symbol nNIKAL100_usbGetConfiguration
nipalk: Unknown symbol nNIKAL100_getPageSize
nipalk: Unknown symbol nNIKAL100_pciConfigWrite32
nipalk: Unknown symbol nNIKAL100_sleepTimeout
nipalk: Unknown symbol nNIKAL100_getThreadHandle
nipalk: Unknown symbol nNIKAL100_setPCIDeviceIDTableElement
nipalk: Unknown symbol nNIKAL100_vsnPrintf
nipalk: Unknown symbol nNIKAL100_getTimeOfDay
nipalk: Unknown symbol nNIKAL100_getPhysicalMemorySize
nipalk: Unknown symbol nNIKAL100_destroyPCIDeviceIDTable
nipalk: Unknown symbol nNIKAL100_incrementDriverRefcount
nipalk: Unknown symbol nNIKAL100_acquireSemaphoreZeroTimeout
nipalk: Unknown symbol nNIKAL100_ioRead16
nipalk: Unknown symbol nNIKAL100_replicateInboundIOControlBuffer
nipalk: Unknown symbol nNIKAL100_getTimeOfDayInterval

Is the problem due to I have more than 4GB memory?

0 Kudos
Message 4 of 16
(8,897 Views)
Fearing that over 4GB memory maybe the problem, I removed 2GB memory from my machine and disabled swap. The machine now has exactly 4GB physical memory. However, when I try to run the INSTALL script, I still get the error in dmesg:

[nikal] More than 4GB of addressable memory detected.
[nikal] This configuration is not supported.  Check the release notes for more information.

When I manually install the nikal module, I got the following error and same message as above in dmesg:

# modprobe nikal
FATAL: Error inserting nikal (/lib/modules/2.6.22.17-0.1-default/kernel/natinst/nikal/nikal.ko): Kernel does not have module support
# modprobe nipalk
WARNING: Error inserting nikal (/lib/modules/2.6.22.17-0.1-default/kernel/natinst/nikal/nikal.ko): Kernel does not have module support
FATAL: Error inserting nipalk (/lib/modules/2.6.22.17-0.1-default/kernel/natinst/nipal/nipalk.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Anyone knows what's going on? I've been working with this driver a whole day and still haven't got any clue. Any help will be great!
0 Kudos
Message 5 of 16
(8,889 Views)
Have you tried the this KB - NI-KAL Fails to Load When I Have Greater Than 4GB of RAM? Also, the readme for NI-KAL 1.7 has a section on this. Following those instructions and reinstalling NI-KAL/DAQmx Base should work, but please post back if it doesn't.
 
cheers,
 
Andrew S


Message Edited by stilly32 on 02-21-2008 05:40 PM
Message 6 of 16
(8,886 Views)
Thank you Andrew! Constraining the memory to exactly 4GB solves the problem. (I gave the boot option mem=4096M). Although I'm still not very sure why even my physical memory is just 4GB, the driver can somehow detect that the memory is over 4GB. I'm also wondering if in later release this requirement of below 4GB can be removed. Anyway, I can now load the ni software. Thanks a lot!
0 Kudos
Message 7 of 16
(8,881 Views)
A 32 bit operating system can normally only address 4 GB of physical address space.  They key here is that there are multiple components in your system that require a piece of that physical address space.  These typically include things like the BIOS, PCI devices, and RAM.  If you have 4 GB of RAM then in total you have more than 4 GB of physicaly addressable memory.

Linux of course support PAE (Physical Address Extentions) that allows up to 64 GB of physical address space.  In general this breaks a lot of assumptions in a driver written for a 32 bit operating system, which is why NI drivers currently require you to use the mem=4096M option.  Will we remove this requirement in the future?  Anything is possible, however porting our drivers to 64 bit Linux is probably more likely since it provides the same benefits and is the direction the computer industry is heading.  Of course supporting 64 bit Linux will be based off of customer demand which we will monitor closely.

Shawn Bohrer
National Instruments
Use NI products on Linux? Come join the NI Linux Users Community
Message 8 of 16
(8,870 Views)

is there 64 bit labview linux version?

 

i am using a 64 bit linux version,so if i compile a c file in 64 bit linux operating system, then the .so file is of 64 bit.so can i call the 64 bit .so file 32 bit labview linux version?

0 Kudos
Message 9 of 16
(6,736 Views)

 


@larshana wrote:

is there 64 bit labview linux version?

 

i am using a 64 bit linux version,so if i compile a c file in 64 bit linux operating system, then the .so file is of 64 bit.so can i call the 64 bit .so file 32 bit labview linux version?


 

STOP HIJACKING OTHER PEOPLE'S THREADS. This is like the 8th message you've posted on this. START YOUR OWN THREAD. We do not like board spammers.

0 Kudos
Message 10 of 16
(6,729 Views)