Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

How to Install Nikal1.1+NI488.2+NiVisa4.5+PyVisa+NIdaqmxBase on Ubuntu 8.04 (Only for human beings)

We made changes internally to fix that, but unfortunately, the product using the change isn't shipping yet.

Here is the diff, if you'd like to patch your current installation file, which is basically removing the checks.

for /usr/local/natinst/nipal/bin/nipal:

@@ -30,15 +30,6 @@

RETVAL=0
kernelVersion=`uname -r`
-kernelMinor=`echo $kernelVersion | awk -F. '{ print $2 }'`
-if [ "$kernelMinor" -eq 4 ]; then
-   KERNEL_MODULE_EXTENSION=o
-elif [ "$kernelMinor" -eq 6 ]; then
-   KERNEL_MODULE_EXTENSION=ko
-else
-   echo "nipal: $kernelVersion kernel not supported"
-   exit 1
-fi
modulePath=/lib/modules/$kernelVersion/kernel/natinst/nipal
nipalEtc=/etc/natinst/nipal
nipalDir=`cat $nipalEtc/nipal.dir`
@@ -70,9 +61,9 @@ killInstancesOf() {

start() {
    if ! status >/dev/null 2>&1; then
-      if [ ! -f $modulePath/nipalk.$KERNEL_MODULE_EXTENSION ]; then
-         echo "error: $modulePath/nipalk.$KERNEL_MODULE_EXTENSION not found"
-         echo "error: Please compile and install nipalk.$KERNEL_MODULE_EXTENSION by running"
+      if [ ! -f $modulePath/nipalk.ko ]; then
+         echo "error: $modulePath/nipalk.ko not found"
+         echo "error: Please compile and install nipalk.ko by running"
          echo "error:  updateNIDrivers"
          return 1
       fi

And for /usr/local/natinst/nikal/src/nikal/configure:

@@ -330,11 +330,6 @@ $MUTEX_VARIANT $CONFIG_VARIANT $IRQ_REGS
$IOCTL32_VARIANT $VM_OPS_VARIANT $COMPLETION_VARIANT $KZALLOC_VARIANT \
$GENERATED_DIR_VARIANT $CHAINED_SGL_VARIANT $IOREMAP_WC_VARIANT $PGPROT_WC_VARIANT`"

-if [ $kernelMinor -ne 6 ]; then
-   echo "*** ERROR: Building against $kernelVersion kernels is unsupported. ***"
-   exit $statusFail
-fi
-
echo " "
echo "Storing configuration in Makefile.in"
echo "If the values stored are incorrect they can be changed before running make."

And for /usr/local/natinst/nikal/bin/installerUtility.sh:

@@ -245,13 +245,6 @@ nikalInstallationCheck()
    kernelMajor=`echo $kernelVersion | $CUT -d "-" -f 1 | $CUT -d "." -f 1`
    kernelMinor=`echo $kernelVersion | $CUT -d "-" -f 1 | $CUT -d "." -f 2`
    kernelPatchLevel=`echo $kernelVersion | $CUT -d "-" -f 1 | $CUT -d "." -f 3`
-   if [ "$kernelMinor" != "6" ]; then
-      echo "*********************************** ERROR ************************************"
-      echo "*       ERROR: $kernelMajor.$kernelMinor kernels are not supported!          *"
-      echo "*    Running a 2.6.x kernel is required to continue this installation.       *"
-      echo "*********************************** ERROR ************************************"
-      return $statusFail
-   fi

    # find modules directory
    if [ ! -d /lib/modules/$kernelVersion ]; then
0 Kudos
Message 11 of 21
(868 Views)

Thanks Irwan. I have implemented the changes you suggested however I am still getting the same error message.

0 Kudos
Message 12 of 21
(868 Views)

I'm surprised.. I don't know what else I'm missing. try grepping:

cd /usr/local/natinst/

grep -r ERROR.*kernel *

see what other scripts out there still have that check.

0 Kudos
Message 13 of 21
(868 Views)

Thank your irwan for your input. I have double checked to make sure that all kernel version checks have been suppressed and the methods above still produce the same error.

I have installed VM player running Ubuntu 8.10 (i386) with kernel version 2.6 in hopes of getting the software to install in the suggested enviornment, and worry about making changes for a newer kernel later. It is worth mentioning that the i386 system architecture is required to execute the installs of the software that is linked in the above procedure. My results for each of the software packages are as follows:

1) Nikal

          Install sucessful.

          Worth noting that entering nikaliPostInstall returns command not found.

          modprobe nikal returns nothing so I am to assume that nothing indicates that the module is working.

2) NI-488.2

          Install semi-successful.

          modprobe nipalk and modprobe gpibprtk returns command not found.

          modprobe nikal still returns nothing. 

          /etc/init.d/nipal restart return no such file or directory

3) VISA

          Entering ./updateNIDrivers returns NI-KAL sucessfully updated, however missing nipalk.ko, NiViPciK.ko, niorbk.ko, nidimk.ko, NiViPxiK.ko, nipxirmk.ko

          Entering visaconf returns libnipalu.so failed to initialize. Aborted

4) PyVisa

          Install successful

5) NIdaqmxbase

          Entering ./FWUpdate returns libnipalu.so failed to initialize. Aborted

          Entering lsdaq returns libnipalu.so failed to initialize. Aborted

Any thoughts?

0 Kudos
Message 14 of 21
(868 Views)

to verify whether modprobe is working on NI stuff, try:

lsmod | grep ni

modprobe saying nothing usually means it's successful

What do you mean by "install semi-successful" ? details please? console dump? what kind of error did you get, etc ?

I personally haven't tried installing any of our stuff into Ubuntu as it is unsupported distribution currently.

0 Kudos
Message 15 of 21
(868 Views)

My appologies, the following was entered after completing the install procedure for (2) NI-488.2 and running updateNIDrivers:

lab1@ubuntu:~/Desktop$ lsmod | grep ni

nikal                  70088  0

lab1@ubuntu:~/Desktop$ sudo modprobe nikal

lab1@ubuntu:~/Desktop$ sudo modprobe nipalk

FATAL: Module nipalk not found.

lab1@ubuntu:~/Desktop$ sudo modprobe gpibprtk

FATAL: Module gpibprtk not found.

lab1@ubuntu:~/Desktop$ /etc/init.d/nipal restart

error: /lib/modules/2.6.27-7-generic/kernel/natinst/nipal/nipalk.ko not found

error: Please compile and install nipalk.ko by running

error:  updateNIDrivers

lab1@ubuntu:~/Desktop$

The only problem I ran into during the install prior to  calling updateNIDrivers was with nikaliPostInstall. I am not sure if this is a serious issue and the cause of the problem.

lab1@ubuntu:/usr/local/natinst/nikal/bin$ sudo nikaliPostInstall

sudo: nikaliPostInstall: command not found

lab1@ubuntu:/usr/local/natinst/nikal/bin$ ls

installerUtility.sh        nikalKernelInstaller.sh  sortAndStripModules.py

nikaliInstallerUtility.sh  niSystemReport           updateNIDrivers

lab1@ubuntu:/usr/local/natinst/nikal/bin$

0 Kudos
Message 16 of 21
(868 Views)

I know for sure nikaliPostInstall would not be in your PATH, so the command not found doesn't surprise me. I'm pretty sure it's somewhere in the rpm, but don't know where it's actually unpacked to. I've never used alien before.

It looks like none of NI kernel modules (nipalk.ko, NiViPciK.ko, niorbk.ko, nidimk.ko, NiViPxiK.ko, nipxirmk.ko) are installed correctly, thus nothing works. Sorry, I don't know enough about your system nor alien to effectively help troubleshoot this.

0 Kudos
Message 17 of 21
(868 Views)

lab1@ubuntu:/usr/local/natinst/nikal/bin$ sudo nikaliPostInstall

sudo: nikaliPostInstall: command not found

lab1@ubuntu:/usr/local/natinst/nikal/bin$ ls

installerUtility.sh        nikalKernelInstaller.sh  sortAndStripModules.py

nikaliInstallerUtility.sh  niSystemReport           updateNIDrivers

nikaliPostInstall is a function that is defined in the nikaliInstallerUtility.sh shell file.  You have to source that to get the function defined in your environment before you can run it.

0 Kudos
Message 18 of 21
(868 Views)

See my discussion which covers the above procedure in much more detail: https://decibel.ni.com/content/message/37590#37590

0 Kudos
Message 19 of 21
(868 Views)

The "nikaliPostInstall()" function (from /usr/local/natinst/nikal/bin/nikaliInstallerUtility.sh, as reported above) reads:

     nikaliPostInstall()

     {

        if ! /usr/local/bin/updateNIDrivers --no-prompt; then

           return $statusFail

        fi

        return $statusSuccess

     }

It just runs updateNIDrivers for you, which you seem to be doing manually anyhow.

0 Kudos
Message 20 of 21
(868 Views)