Samodzielna kompilacja LinNWT

Spis treści

Od czasu uruchomienia w lutym br. "budżetowo-kieszonkowej" wersji NWT7" na stronie Andreasa (DL4JAL) pojawiła się nowa wersja (4.11.10 - 28.03.2016) oprogramowania sterującego NWT7. 

Drobna korekta :? : Andreas ze swej strony usunął już materiały dotyczące NWT7. Na szczęście entuzjaści tego rozwiązania (Hackespace Bremen eV) umieścili na swej stronie (zzipowany) pliczek, który zawiera wszystko co trzeba !
Szukaj go na końcu artykułu poświeconego NWT. :)

Andreas zamieszczając źródła zwraca uwagę, by ich kompilację przeprowadzić we własnym zakresie. Jego archiwum zawiera również opis kompilacji. Dotychczas nie uruchamiałem Qt4. Postanowiłem jednak spróbować. Niniejszy opis dotyczy dystrybucji Ubuntu 16.04LTS. I dedykowany jest tym, którzy nie mają dużego doświadczenia.

Obecność "tego co potrzeba" (niezbędnych do kompilacji odpowiednich bibliotek środowiska Qt4) można sprawdzić wydając w oknie terminala polecenie:

user@XYZ:~$ qmake -v

- zwróć uwagę na wielkość liter! Jeśli uzyskasz następujący komunikat:

qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
user@XYZ:~$

Oznacza to, że musisz doinstalować wymagane komponenty systemu. Bez obaw. Nie jest to trudne.

Jeśli jednak uzyskasz (tu: Ubuntu 16.04LTS) komunikat o treści:

QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
user@XYZ:~$

wskazuje że masz wszystko co potrzeba i możesz przystąpić do kompilacji. Pomijając instalację składników Qt.


Wwołanie okna terminala w Ubuntu 16.04LTS...O ile nie używasz środowiska KDE to może się zdarzyć, że biblioteki qt4, niezbędne do prawidłowej kompilacji programu LinNWT trzeba doinstalować "ręcznie".

Korzystając z dystrybucji Ubuntu 16.04LTS jest to stosunkowo proste. Wystarczy dodać do systemu metapakiet o nazwie: qt4-defalt. Dodać można na kilka sposobów (np. apt-get, aptitude, synaptic, itp.). Należy pamiętać, że w innych dystrybucjach nie tylko instalator, ale i nazwa pakietu(-ów) może być inna.

Preferuję pierwszą z przedstawionych metod instalacji. Za pomocą apt-get. Należy w oknie terminala wywołać komendę (i zatwierdzić poprzez wciśnięcie klawisza Enter - CR):

user@XYZ:~$ sudo apt-get install qt4-default (CR)
[sudo]Podaj hasło użytkownika user: ******** (CR)

Po podania hasła użytkownika (tu przykładowo: user) inicjuje instalację odpowiednich pakietów. Poprawność instalacji można spradzić wydając w oknie terminala wcześniej podaną komendę:

user@XYZ:~$ qmake -v (CR)
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
user@XYZ:~$

"Zaplecze" (upraszczając: zestaw niezbędnych bibliotek) mamy więc przygotowane. Można przystąpić do kompilacji (wygenerowania) odpowiedniego programu zarządzającego naszym NWT7.


Pobranie plików źródłowych


Kompilacja

 

  • Przejdź do katalogu zawierającego pliki źródłowe (w przykładzie: /media/Pobrane/nwt/DL4JAL/linnwt4_V4_11_10):

    user@XYZ:~$ cd /<Twoja_sciezka>/linnwt4_V4_11_10 (CR)
    user@XYZ:~$

  • Następnie wydaj (rozdzielone średnikiem, nie dwukropkiem) komendy związane z generacją (niezbędnych) plików i kompilacją plików źródłowych:

    user@XYZ:/media/<Twoja_sciezka>/linnwt4_V4_11_10$ qmake; make (CR)
    g++ -m64 -Wl,-O1 -o linnwt configfile.o firmwidget.o main.o
    mainwindow.o nwt7linux.o optiondlg.o fmarkedlg.o widgetwobbeln.o
    wkmanager.o sondedlg.o profildlg.o lin_modem.o moc_firmwidget.o
    moc_mainwindow.o moc_nwt7linux.o moc_optiondlg.o moc_fmarkedlg.o
    moc_widgetwobbeln.o moc_wkmanager.o moc_sondedlg.o moc_profildlg.o
    moc_lin_modem.o qrc_icon.o -L/usr/lib/x86_64-linux-gnu -lQt3Support
    -lQtGui -lQtCore -lpthread
    user@XYZ:/media/Pobrane/nwt/DL4JAL/linnwt4_V4_11_10$

    Tekst kursywą (g++...) to komunikat jaki winien ukazać się na ekranie w trakcie kompilacji.

    Uruchomienie pliku linnwtW katalogu plików źródłowych pojawi plik wynikowy (wykonywalny program) o nazwie: linnwt.

  • W zasadzie to wszystko. Jeśli chcesz sprawdzić czy wygenerowany program działa prawidłowo powinno wystarczyć podłączenie NWT7 do komputera, włączenie jego zasilania i wydanie w oknie terminala następującej komendy (będąc w katalogu plików źródłowych, w którym znajduje się plik wynikowy linnwt):

    user@XYZ: $ ./linnwt (CR)
    (nazwa pliku koniecznie poprzedzona kropką i ukośnikiem)

    W efekcie na ekranie winny ukazać się okna programu LinNWT.


Finał (wieńczy dzieło)

Może tak się zdarzyć, że mimo prawidłowej kompilacji nie będzie... komunikacji z NWT. Sygnalizuje to czerwony napis "Offline" (zamiast zielonego "Online", w wersji polskiej "Wył" zamiast "Praca"). Najczęściej nie jest to wynik błędnego działania przyrządu czy też programu. Jak temu zaradzić opisałem w artykule: "Gdy port LinNWT na ttyUSB0 milczy...".

Zakładam jednak, że komunikacja jest, program prawidłowo steruje urządzeniem. Pozostał jednak "ostatni szlif".

Chcemy osiągnąć dla cele program winien:

    • być dostępny dla wszystkich (uprawnionych) użytkowników komputera,
    • w miarę możliwości działać "w wersji polskiej".

Spełnienie obu powyższych warunków nie jest zbyt trudne. W tym celu należy:

  • plik wynikowy skopiować do odpowiedniego katalogu (za pomocą komendy wywołanej w oknie terminala):

    user@XYZ:~$ sudo cp linnwt /usr/local/bin (CR)

  • Finał wieńczy dzieło...By program zawierał (niestety: większość, nie wszystkie) opisy w języku polskim program należy wywołać z odpowiednim parametrem (nazwa pliku "polonizacji", tak jak przedstawiono poniżej):

    user@XYZ:~$ linnwt /ścieżka*/app_pl.qm (CR)
    *ścieżka do miejsca, gdzie znajduje się plik polonizacji)

I tak oto uzyskano dla efekty: skorzystanie z nowszej wersji programu i bliższe poznanie użytkowanego systemu. Nie był to więc czas zmarnowany.

Zapraszam również do innych artykułów zamieszczonych w dziale: Warsztat krótkofalowca.

//