Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-FGEN install problems on OpenSuse 11.3

I successfully installed DAQmx and NI-SCOPE on OpenSuse 11.3. But the error of "Kernel source in /lib/modules/<kernel version>/source does not appear to be configured for the <kernel version> kernel." appears as I install NI-FGEN 2.4.1.

The kernel source is correctly configured because DAQmx and NI-SCOPE are successfully installed. How can I solve this problem? "README.txt" of NI-FGEN 2.4.1 says that it just supports OpenSuse 10.0. I'm curious why NI doesn't develop NI-FGEN as they develop DAQmx and NI-SCOPE for OpenSuse 11.3.

0 Kudos
Message 1 of 28
(10,228 Views)

As far as I know, that error only comes up from NI-KAL, which is the bottom-most layer of everything else, so it doesn't make sense to me that DAQmx works but FGEN won't. Can you verify that DAQmx still works ? Maybe I'm missing something.

0 Kudos
Message 2 of 28
(4,585 Views)

Some of our older Linux distributions had a bug in the installer that made it use the packaged NI-KAL for kernel checks, rather than the NI-KAL version on the system.  You may be running into that.

I can't remember all the details, but you could unarchive the FGEN distribution and look for a installation check script that is included.  If you replace that with a version that is on the system in the /usr/local/natinst/nikal/bin directory you could see if this is the case.  You would have to unarchive, replace the script, then archive it up again to run the INSTALL script...

Sorry I don't have any more details, I don't have a Linux setup easily accessible right now.

0 Kudos
Message 3 of 28
(4,585 Views)

The command of "nilsdev" works correctly. So I think DAQmx works correctly. FGEN is not installed because the error occurs during installation.

0 Kudos
Message 4 of 28
(4,582 Views)

By the trick that you mentioned, that is, replacement of script of "installerUtility.sh", I installed the fgen2.4.1  on OpenSuse 11.3 successfully.

However, "nilsdev" gives the following response.

NI PXI-5124: "Dev3"

NI PXI-5412: "Dev5" [Failed to Load]

NI PXI-6115: "Dev2"

NI PXI-6115: "Dev1"

0 Kudos
Message 5 of 28
(4,585 Views)

Is there something in your kernel log that might provide hints of what's going on ? what failed to load, etc?    

0 Kudos
Message 6 of 28
(4,585 Views)

At first, "updateNIDrivers" works correctly.

But from the second time, "updateNIDrivers" always fails.

Why does it happen?

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

Kernel has kzalloc: 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 wait_for_completion_interruptible: 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

Kernel supports fault method in vm_operations_struct: yes

Storing configuration in Makefile.in

If the values stored are incorrect they can be changed before running make.

Installing NI-KAL:

NI-KAL successfully updated.

Updating client modules:

  CC   /usr/local/natinst/nikal/src/client/nipalk-interface.o

objcopy: shortsyms.txt: Multiple redefinition of symbol "_ZN22nDSFCommonTrigTypesMap22tDSFCommonTrigTypesMap14tOtherTrigCtrl4readEmRN10nNIMDBG1008tStatus2E"

make[2]: *** [/usr/local/natinst/nikal/src/client/nipalk-processed.o_shipped] Error 1

make[1]: *** [_module_/usr/local/natinst/nikal/src/client] Error 2

make: *** [all] Error 2

ERROR: failed to build nipalk.ko

nipalk.ko failed to update.

  CC   /usr/local/natinst/nikal/src/client/nimxpk-interface.o

objcopy: shortsyms.txt: Multiple redefinition of symbol "_ZN22nDSFCommonTrigTypesMap22tDSFCommonTrigTypesMap14tOtherTrigCtrl4readEmRN10nNIMDBG1008tStatus2E"

make[2]: *** [/usr/local/natinst/nikal/src/client/nimxpk-processed.o_shipped] Error 1

make[1]: *** [_module_/usr/local/natinst/nikal/src/client] Error 2

make: *** [all] Error 2

ERROR: failed to build nimxpk.ko

nimxpk.ko failed to update.

....

all client modules fail with the same error message

0 Kudos
Message 7 of 28
(4,585 Views)

Might be related to recent bug we found in NI-KAL's processmodule.py

Can you try modifying /usr/local/natinst/nikal/src/client/processmodule.py, and apply the following patch ?

    for symbol in exportedSyms:

-      # We can't have symbols longer than 56 characters so add them to

+      # We can't have symbols longer than 55 characters so add them to

       # a dicionary to shorten later

-      if len(symbol) > 56 and symbol not in shorten.get(modname, []):

+      if len(symbol) > 55 and symbol not in shorten.get(modname, []):

          shorten.setdefault(modname, []).append(symbol)

basically, replacing the 56 with 55

After that, reinvoke "updateNIDrivers" again, and see what happens.

Let us know. Thx

0 Kudos
Message 8 of 28
(4,585 Views)

After changing "processmodule.py", that is, 56 -> 55 and after new login, "updateNIDrivers" works well.

But without new login, it reported the same error message.

0 Kudos
Message 9 of 28
(4,585 Views)

It is interesting that changing "processmodule.py" works just once, that is, after the first success of "updateNIDrivers", it reports the same error message "objcopy: shortsyms.txt: Multiple redefinition of symbol "_ZN22nDSFCommonTrigTypesMap22tDSFCommonTrigTypesMap14tOtherTrigCtrl4readEmRN10 nNIMDBG1008tStatus2E".

It seems that the error is caused by a long symbol name, isn't it?

Then how about to shorten the above symbol name?

0 Kudos
Message 10 of 28
(4,585 Views)