Po pierwsze w systemie musimy mieć narzędzie rpm.
# emerge -D rpm
Po drugie musimy wiedzieć jak podmontować plik iso:
mount -o loop /ścieżka/do/obrazu/iso /miejsce/montowania
Jeśli opcja -o loop zwraca błędy i nie wiesz skąd one się biorą,
przestań czytać howto w tym miejscu. Naucz się konfigurować i kompilować
jądro oraz ładować moduły. Jeśli udało Ci się pomyślnie podmontować obrazy iso, czytaj dalej.
[uwagi przed instalacją ]
Problem - począwszy od jądra 2.6.17 stopniowej zmianie mianie ulegała
struktura plików nagłówkowych jądra. wyparował np.:
- /usr/include/linux/config.h
Plik
- /usr/include/linux/version.h
zmienił zawartość. Jego część została przeniesiona do:
- /usr/src/linux/include/linux/utsrelease.h
Wobec tego musimy dopisać jego zawartość do linux/version.h komendą:
# cat /usr/src/linux/include/linux/utsrelease.h >> /usr/src/linux/include/linux/version.h
UWAGA!!! zastąpienie znaku ">>" znakiem ">" spowoduje nadpisanie zawartości
pliku linux/version.h plikiem linux/utsrelease.h; A tego nie chcemy.
[koniec uwag]
Zaczynamy. Od sprawdzenia pracującej wersji jądra. Komenda
# uname -r
Potem sprawdzamy, czy faktycznie pliki nagłówkowe jądra obecne w systemie odpowiadają aktualnie
pracującemu jądru. Kolejnym krokiem będzie próba instalacji NI-KAL v 1.6 .
Pierwsze podejście polega na wyeliminowaniu
błędów oryginalnego skryptu instalacyjnego. Jeśli zrobiliśmy wszystko co
zapisałem w sekcji uwagi, powinno przejść w miarę gładko.
Tworzymy pusty plik /etc/init.d/gpibenumsvcwrapper
z atrybutami rwx dla właściciela (root) i r-x dla pozostałych:
# touch /etc/init.d/gpibenumsvcwrapper
# chmod 0755 /etc/init.d/gpibenumsvcwrapper
I próbujemy zainstalować NI-KAL komendą w katalogu gdzie mamy instalkę NI-KAL
# bash ./INSTALL
Sprawdzamy, czy skrypt zwraca błędy i czy faktycznie zainstalował NI-KAL
w katalogu /usr/local/natinst/nikal. Jeśli w katalogu znajdują się podkatalogi
bin, etc i src to wszystko w porządku. Jak się nie udało, to zajmiemy się tym
za chwilkę. U mnie nie udało się za pierwszym razem....
Pamiętaj! skrypt instalacyjny nie może zwracać żadnego błędu w
stylu niezgodności katalogu żródeł jądra z obecnie pracującym.
Instalujemy LabView. Jeśli wystąpił jakiś błąd, musimy wyekstrahować wszystkie
rpm-y i musimy pobawić się w ręczną instalację. Komendy:
# rpm -i -v nazwa_pakietu - posłuży nam do określenia niespełnionych
zależności. Nie przejmujemy się zależnościami w stylu /bin/sh i /usr/local.
Jeśli w niespełnionych zależnościach wystąpi jakaś nazwa pakietu, który
właśnie wyekstrahowaliśmy, to oznacza, że wymieniony pakiet należy
zainstalować wcześniej.
Problemy z zależnościami generalnie omijamy dodając opcję --nodeps:
# rpm -i -v --nodeps nazwa_pakietu
Po naszych zabiegach LabView musi się odpalać.
Po instalacj LabView instalujemy oprogramowanie NI-VISA v 4.2
W tym celu tworzymy na wszelki wypadek katalogi:
- /usr/local/vxipnp
- /usr/local/natinst/.nicore
- /usr/local/natinst/nispy
- /usr/local/natinst/cvirte
- /usr/local/natinst/nipal
- /usr/local/natinst/nikal
Przykładowo tworzymy katalog /usr/local/vxipnp komendą
# mkdir /usr/local/vxipnp
Instalujemy kolejno:
-- nikal
1. Wydajemy polecenie rpm -i --nodeps --force -vv nikali-1.6.0-f0.i386.rpm
2. Wchodzimy do /usr/local/natinst/nikal/src
3. Uruchamiamy ./configure
4. Uruchamiamy make
4a. Jeśli kompilator beczy, że 'pciDriver' has no member 'enable_wake',
to edytujemy plik nikal.c, odnajdujemy linię 2696 i wykomentowywujemy.
Linia po wykomentowaniu powinna brzmieć:
//pciDriver->enable_wake = NULL;
I ponownie uruchamiamy make.
5. Wydajemy komendę ./install.sh, następnie lsmod |egrep nikal
5a. Opcjonalne (jeśli komenda ./install beczała o braku pliku nikal.dir) tworzymy katalog /etc/natinst/nikal/ i kopiujemy do niego plik nikal.dir
przykładowo
# mkdir /etc/natinst/nikal/
# cp ../etc/nikal.dir /etc/natinst/nikal/
Voila!! mamy NI-KAL
-- nipal
Wydajemy komendę rpm -i --nodeps --force -vv nipali-2.1.0-f1.i386.rpm
Sprawdzamy czy mamy modul nipalk.ko komenda:
# ls /lib/modules/<wersja jądra>/kernel/natinst/
Jeśli wsród wyświetlonych plików brak nipalk.ko, wykonujemy poniższe polecenia:
# cd /usr/local/natinst/nipal/bin
# ./palModuleMgr.sh -i -c -t"kernelDriver" -s"boot" ../src/objects/nipalk-unversioned.o
Skrypt powinien wywalić kilka warningow, że brak zależnosci dla modułu
nipalk. nipalk zalezy od nikal. U mnie tak się składa, że nikal ładuje się
pierwszy.
-- niorb
Wydajemy komendę rpm -i --nodeps --force -vv niorbi-1.7.0-f0.i386.rpm
-- nicvirte (komendy jak wyżej)
-- nispy (komendy jak wyżej)
-- nivisa (jw)
-- nivisaserver (jw)
-- nivisa-devel (jw)
-- nivisa-config (jw)
Voila! Mamy NI-VISA
Kolejnym punktem będzie instalacja NI-488.2 ver. 2.5
U mnie przebiegła gładziutko. Ściągnąłem iso ze strony NI, podmontowałem,
a z pliku NI4882-2.5.1f0.tar.gz wyekstrahowałem wszystkie rpmy. Jeśli
poprzednio zaintalowaliście NI-KAL, NI-PAL, NI-Spy i labview*-rte-*.rpm
to interesuje Was tylko ni4882*.i386.rpm. Komendą
# rpm -i -v ni4882*.rpm
sprawdzamy niespełnione zależności i jeżeli nie ma wśród nich pakietów
rpm, to używamy opcji --nodeps do instalacji (patrz komendy podane wyżej).
Teraz przyszła pora na gwóźdź programu: instalacja DAQmxv2.1
-- nidaqmxbase-board-support
-- nidaqmxbase-common - niespełniona zależność labview80-rte
-- nidaqmxbase-cinterface - niespełniona zależność labview80-rte
-- nidaqmxbase-labview82-VIs
-- nidaqmxbase-usb-support
Uwagi końcowe: mało zaawansowanym użytkownikom instalacja moze sprawić problemy.Ale tacy z reguły nie używają Gentoo. Ten post to pierwsza przymiarka do napisania howto LabView/DAQmx w Linuksie Gentoo. Sądzę, że może się przydać Debianowcom i Slackwareowcom.
Problem na jaki natrafiłem, a którego jeszcze nie rozwiązałem, to brak w DAQmx niektórych postaci bloczków polimorficznych.
Uwagi i problemy na jakie napotkacie zgłaszajcie proszę na forum lub na adres barthoosh(at)wp(dot)pl . Pozdrawiam