EDV:LabVIEW-auf-debian/LabVIEW-9.0

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽

LabVIEW 9.0 (Fall 2009)

als Beispiel hier eine Installation von LabVIEW Version 9.0 (Herbst 2009).

deb-Pakete bauen

Zunächst braucht man die rpm-Pakete von der Installations-CD. Am besten kopiert man sich die Dateien der CD in ein temporäres Verzeichnis. Dann die Dateien in deb umwandeln:

 for f in *.rpm ; do alien -c $f ; done
 cd NI-VISA
 tar -xvzf nivisa-4.5.1f0.tar.gz
 for f in `find . -name "*.i386.rpm"` ; do alien -c $f ; done

und vielleicht NI 488

cd ../NI-488
tar -xvzf NI4882-2.5.1f0.tar.gz
for f in rpms/*.i386.rpm ; do alien -c $f ; done

Dazu muss natürlich 'alien' installiert sein.

... oder vom AFS holen ...

diese deb-Pakete finden sich bereits im AFS unter

/afs/kip.uni-heidelberg.de/software/Linux/LabVIEW/LabVIEW-9.0-fall_2009/debian

deb-Pakete installieren

dpkg -i labview-2009-appbuild_9.0.0-2_i386.deb \
 labview-2009-core_9.0.0-2_i386.deb \
 labview-2009-desktop_9.0.0-2_i386.deb \
 labview-2009-examples_9.0.0-2_i386.deb \
 labview-2009-help_9.0.0-2_i386.deb \
 labview-2009-pro_9.0.0-2_i386.deb \
 labview-2009-rte_9.0.0-2_i386.deb \
 labview-2009-ref_9.0.0-2_i386.deb

Die Programme wurden jetzt nach /usr/local/natinst installiert.

Damit der Befehl 'labview' für alle zur Verfügung steht:

ln -s /usr/local/natinst/LabVIEW-9.0/labview /usr/local/bin/

Meist braucht man noch VISA:

cd NI-VISA
dpkg -i nivisa_4.5.1-1_i386.deb

GPIB - Treiber

eventuell möchten Sie jetzt noch die NI488 (GPIB) - Treiber installieren

Pakete installieren (Version kann sich unterscheiden):

dpkg --install labview80-rte_8.0.1-2_i386.deb
dpkg --install ni4882i_2.5.1-1_i386.deb
dpkg --install nikali_1.4.0-1_i386.deb
dpkg --install nipali_1.11.0-1_i386.deb
dpkg --install nispyi_2.4.0-1_i386.deb

Note: alle Dateien werden unter /usr/local/natinst installiert, LabView nutzt aber auch /usr/local/lib/ und /etc/natinst

Zur Installation brauchen wir ein paar symbolische Links:

ln -s /usr/local/natinst/ni4882/etc /etc/natinst/ni4882
ln -s /usr/local/natinst/nikal/etc /etc/natinst/nikal
ln -s /usr/local/natinst/nipal/etc /etc/natinst/nipal
ln -s /usr/local/natinst/nispy/etc /etc/natinst/nispy 

Dateien anlegen die vom Installer gesucht werden:

echo "/usr/local/natinst/nikal" > /etc/natinst/nikal/nikal.dir
echo "/usr/local/natinst/ni4882" > /etc/natinst/ni4882/ni4882.dir
echo "/usr/local/natinst/nipal" > /etc/natinst/nipal/nipal.dir
echo "/usr/local/natinst/nispy" > /etc/natinst/nispy/nispy.dir

Weitere Links:

ln -s /usr/local/natinst/nipal/bin/palModuleMgr.sh /usr/local/bin
ln -s /usr/local/natinst/nipal/bin/readInfFiles /usr/local/bin
ln -s /usr/local/natinst/nipal/bin/nipalps /usr/local/bin
ln -s /usr/local/natinst/nipal/sbin/nipalsm /usr/local/sbin

Nun müssen verschiedene Skripte aufgerufen werden, das normalerweise INSTALL.sh machen würde:

Unter Ubuntu muss die Shell gewechselt werden. Ubuntu nutzt die dash Shell, eine optimierte Variante der Bash. Das hat zur Folge das verschiedene Shell-Skripte nicht richtig ablaufen. Deshalb:

ln -sf /bin/bash /bin/sh    -> rückgängig mit ln -sf /bin/dash /bin/sh

Normalerweise würde ein Aufruf von /usr/local/bin/updateNIDrivers alle Module dem Kernel entsprechend versionieren und starten.

Das funktioniert auch mit nipalk und gpibprtk, jedoch leider nicht mit dem nikal Modul. Die Version 1.100F vom August 2009 ist aber soweit anpassbar das es funktioniert. Diese Version ist im AFS unter /afs/kip/software/Linux/LabVIEW/GPIB/NIKAL1100F.zip zu finden.

Das ISO Image mounten, Beispiel:

mount -t iso9660 "PFAD"/NIKAL1100F.iso /mnt -o loop

INSTALL.sh aufrufen:

/mnt/INSTALL.sh

deb Pakete bauen und installieren:

alien -c /mnt/rpms/*.rpm
dpkg -i /mnt/rpms/*.deb

In das Verzeichnis /usr/local/natinst/nikal/src wechseln

Datei configure editieren und folgende Zeile hiermit ersetzen:

pte_offset_kernel=`$GREP -d skip pte_offset_kernel $pte_offset_kernel_path | $GREP -wc pte_offset_kernel`

Datei utility.sh editieren und in Zeile 321 und 323 beide Tests von 0 auf auf 1 setzen.

updateNIDrivers aufrufen !

nipalk, gpibprtk anpassen und weitere Vorraussetzungen erfüllen:

palModuleMgr.sh -i -o linux:dir=nipal -t kernelDriver -s demand -c -f /usr/local/natinst/nipal/src/objects/nipalk-unversioned.o
palModuleMgr.sh -i -o linux:dir=ni4882 -t kernelDriver -s boot -c -f /usr/local/natinst/ni4882/src/objects/gpibprtk-unversioned.o
palModuleMgr.sh -i -t userDaemon -s boot -c -f /usr/local/natinst/ni4882/lib/libgpibenumsvc.so.2.5.1
ln -sf /usr/local/natinst/ni4882/etc/ni488.inf /usr/local/natinst/nipal/etc/inf/ni488.inf

nipal Starten:

/etc/init.d/nipal start


Gegebenenfalls nochmals updateNIDrivers aufrufen und neustarten.

Weitere Links:

cd /usr/local/lib
ln -s /usr/local/lib/LabVIEW-8.0/liblvrt.so.8.0.1 liblvrt.so.8.0.1
ln -s liblvrt.so.8.0.1 liblvrt.so.8
ln -s /usr/local/natinst/ni4882/lib/libgpibapi.so.2.5.1 libgpibapi.so.2.5.1
ln -s /usr/local/natinst/ni4882/lib/libgpibconf.so.2.5.1 libgpibconf.so.2.5.1
ln -s /usr/local/natinst/ni4882/lib/libgpibenumsvc.so.2.5.1 libgpibenumsvc.so.2.5.1
ln -s /usr/local/natinst/ni4882/lib/liblvgpibconf.so.2.5.1 liblvgpibconf.so.2.5.1
ln -s libgpibconf.so.2.5.1 libgpibconf.so.2
ln -s libgpibapi.so.2.5.1 libgpibapi.so.2

Console Ausgaben

# for f in *.rpm ; do alien -c $f ; done
labview85-appbuild_8.5-2_i386.deb generated
labview85-core_8.5-2_i386.deb generated
labview85-desktop_8.5-2_i386.deb generated
labview85-examples_8.5-2_i386.deb generated
labview85-help_8.5-2_i386.deb generated
labview85-pro_8.5-2_i386.deb generated
labview85-ref_8.5-2_i386.deb generated
labview85-rte_8.5-2_i386.deb generated
labview85-vxi_8.5-2_i386.deb generated
labview-rte-aal_1.1-2_i386.deb generated
niexfinder-base_1.0-9_i386.deb generated
chmod: Zugriff auf „niexfinder-labview85-1.0/./usr/local/natinst/share/example“ nicht möglich: No such file or directory
chmod: Zugriff auf „finder“ nicht möglich: No such file or directory
niexfinder-labview85_1.0-9_i386.deb generated
niwebpipeline20-dep_2.0-6_i386.deb generated

# cd NI-VISA-4.2
# for f in `find . -name "*.rpm"` ; do alien -c $f ; done
nirpci_3.4.0-1_i386.deb generated
labview82-rte_8.2.1-3_i386.deb generated
nivisa-config_4.2.0-1_i386.deb generated
nivisa_4.2.0-1_i386.deb generated
nivisaserver_4.2.0-1_i386.deb generated
nivisa-devel_4.2.0-1_i386.deb generated
niorbi_1.7.0-1_i386.deb generated
nispyi_2.5.1-1_i386.deb generated
nipxirmi_1.6.0-1_i386.deb generated
nicvirte_8.0-7_i386.deb generated
nikali_1.6.0-1_i386.deb generated
nidimi_1.7.0-1_i386.deb generated
nipali_2.1.0-1_i386.deb generated

# cd ../NI-488-2.5.1
# tar -xvzf NI4882-2.5.1f0.tar.gz
rpms/
rpms/ni4882i-2.5.1-f0.i386.rpm
rpms/nispyi-2.4.0-f0.i386.rpm
rpms/labview80-rte-8.0.1-1.i386.rpm
rpms/nikali-1.4.0-f0.i386.rpm
rpms/nipali-1.11.0-f0.i386.rpm
bin/
bin/rpm2cpio
bin/README.gpl
bin/rpmq
bin/rpm
bin/installerUtility.sh
bin/cpio

# for f in `ls -1 rpms/*.rpm` ; do alien -c $f ; done
labview80-rte_8.0.1-2_i386.deb generated
ni4882i_2.5.1-1_i386.deb generated
nikali_1.4.0-1_i386.deb generated
nipali_1.11.0-1_i386.deb generated
nispyi_2.4.0-1_i386.deb generated

# dpkg -i labview85-appbuild_8.5-2_i386.deb \
 labview85-core_8.5-2_i386.deb \
 labview85-desktop_8.5-2_i386.deb \
 labview85-examples_8.5-2_i386.deb \
 labview85-help_8.5-2_i386.deb \
 labview85-pro_8.5-2_i386.deb \
 labview85-rte_8.5-2_i386.deb \
 labview85-ref_8.5-2_i386.deb
Wähle vormals abgewähltes Paket labview85-appbuild.
(Lese Datenbank ... 166397 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke labview85-appbuild (aus labview85-appbuild_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-core.
Entpacke labview85-core (aus labview85-core_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-desktop.
Entpacke labview85-desktop (aus labview85-desktop_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-examples.
Entpacke labview85-examples (aus labview85-examples_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-help.
Entpacke labview85-help (aus labview85-help_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-pro.
Entpacke labview85-pro (aus labview85-pro_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-rte.
Entpacke labview85-rte (aus labview85-rte_8.5-2_i386.deb) ...
Wähle vormals abgewähltes Paket labview85-ref.
Entpacke labview85-ref (aus labview85-ref_8.5-2_i386.deb) ...
Richte labview85-appbuild ein (8.5-2) ...

Richte labview85-core ein (8.5-2) ...

Richte labview85-desktop ein (8.5-2) ...
Richte labview85-examples ein (8.5-2) ...
Richte labview85-help ein (8.5-2) ...
Richte labview85-pro ein (8.5-2) ...
Richte labview85-rte ein (8.5-2) ...
rm: Entfernen von „/etc/natinst/share“ nicht möglich: Is a directory

Richte labview85-ref ein (8.5-2) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place

# ln -s /usr/local/natinst/LabVIEW-8.5/labview /usr/local/bin/
# dpkg -i nivisa_4.2.0-1_i386.deb \
  nikali_1.6.0-1_i386.deb \
  nipali_2.1.0-1_i386.deb
Wähle vormals abgewähltes Paket nivisa.
(Lese Datenbank ... 188312 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke nivisa (aus nivisa_4.2.0-1_i386.deb) ...
Wähle vormals abgewähltes Paket nikali.
Entpacke nikali (aus nikali_1.6.0-1_i386.deb) ...
Wähle vormals abgewähltes Paket nipali.
Entpacke nipali (aus nipali_2.1.0-1_i386.deb) ...
Richte nivisa ein (4.2.0-1) ...
rm: Entfernen von „/etc/natinst/share“ nicht möglich: Is a directory
cat: /etc/natinst/share/share.dir: No such file or directory

Richte nikali ein (1.6.0-1) ...

Richte nipali ein (2.1.0-1) ...
rm: Entfernen von „/etc/natinst/share“ nicht möglich: Is a directory
cat: /etc/natinst/share/share.dir: No such file or directory
/var/lib/dpkg/info/nipali.postinst: 156: Syntax error: Bad for loop variable
dpkg: Fehler beim Bearbeiten von nipali (--install):
Unterprozess post-installation script gab den Fehlerwert 2 zurück
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
Fehler traten auf beim Bearbeiten von:
 nipali
# alien nipal/nipali-2.1.0-f1.i386.rpm
# dpkg -i nipali_2.1.0-1_i386.deb

# cd ../NI-488-2.5.1/
# dpkg -i ni4882i_2.5.1-1_i386.deb
(Lese Datenbank ... 189270 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereiten zum Ersetzen von ni4882i 2.5.1-1 (durch ni4882i_2.5.1-1_i386.deb) ...
Entpacke Ersatz für ni4882i ...
Richte ni4882i ein (2.5.1-1) ...
rm: Entfernen von „/etc/natinst/share“ nicht möglich: Is a directory
cat: /etc/natinst/share/share.dir: No such file or directory
cat: /etc/natinst/share/share.dir: No such file or directory

Processing triggers for libc6 ...
ldconfig deferred processing now taking place