Noutăţi 2010.10.27

Trebuie să ştergerm cel puţin fişierele cu extensia ccf din directorul Program Files qtContgen, dar putem şterge tot directorul.
Instalăm aplicaţia qtContgen-2.2.0-install.exe.
Neapărat facem o salvare a bazelor de date cu ajutorul lui mysql administrator.
Pornim aplicaţia, intrăm ca root.
Actualizăm bazele de date cu butonul actualizare toate bazele de date din Config - management baze de date (butonul are două turnuri şi o săgeată în sus).
Repornim aplicaţia şi am terminat cu instalarea.

Aplicaţia este compilată cu qt 4.7.0 şi din această cauză instalatorul windows conţine mai multe dll-uri. Mărimea este cam dublă faţă de beta3.
Am şters plugin-urile compilate din sursă. Deci descriu aici cum se pot compila plugin-urile şi aplicaţia sub windows şi linux, precum şi crearea instalatorului windows..

Windows

Linux

Noutăţi

În primul rând trebuie să vă atrag atenţia, ca cele scrise de mai jos funcţionează numai cu versiunea 5.1 a serverului mysql. Prin urmare trebuie să salvaţi datele cu mysql administrator, să instalaţi versiunea 5.1 a serverului mysql şi să reîncărcaţi datele salvate.

Dacă faceţi o instalare nouă şi nu aveţi acces la un server mysql:

Instalaţi mysql server 5.1 descărcat de pe site-ul www.mysql.com. La configurare utilizati următoarele opţiuni:

Alegeţi detailed configuration

Dacă aveţi un singur calculator alegeţi prima opţiune. Dacă aveţi un server care rulează şi alte aplicaţii pe lângă serverul mysql alegeţi a doua opţiune, iar dacă aveţi norocul să dispuneţi de un calculator care va rula exclusiv serverul mysql alegeţi a treia opţiune.

Este foarte important să NU activaţi opţiunea Enable Strict Mode

Alegeţi opţiunea multilingualism pentru a putea folosi diacritice.

Setaţi o parolă pentru root.
Activaţi opţiunea Enable root access from remote machines numai dacă vreţi să vă conectaţi la bazele de date ca root de la altă maşină decât cea pe care rulaţi serverul mysql. Trebuie să menţionez că este un obicei să zicem nu ce mai înţelept să rulaţi aplicaţia ca root. Creaţi un utilizator obişnuit şi intraţi ca root numai pentru administrarea bazelor de date.

(Doar o menţiune. Utilizatorul obişnuit nu vrea să folosească instrumente exterioare unei aplicaţii - mai ales nu cele din linia de comandă. Prin urmare am introdus nişte opţiuni de administrare a bazelor de date folosite de aplicaţie)

Puteţi instala acum qtContgen-2.2.0-beta3-install.exe (pe vista sau windows 7 alegeţi Administrator mode pentru rularea instalatorului)

Suntem gata. Aplicaţia poate fi pornită din meniul principal, sau poate fi copiată pe desktop sau pe panel.

La prima execuţie introduceţi root, daţi parola, în detalii introduceţi la host adresa ip al calculatorului pe care rulaţi serverul mysql şi apăsaţi OK:

Apare o menţiune ca baza de date contgen nu se găseşte pe server. Apăsaţi Yes pentru creare.

Acuma puteţi crea baze de date pentru firmele dvs. Trebuie să daţi numele bazei de date şi denumirea firmei. Puteţi crea atâtea baze de date câte doriţi.

Cu asta am terminat.

ATENŢIE!, aplicaţie este încă în faza beta, deci salvaţi datele dvs cu ajutorul lui mysql administrator înainte de a face actualizarea lor.

Dacă aveţi deja baze de date funcţionale, intraţi cu root, şi din meniul Opţiuni alegeţi Managementul bazelor de date. În partea stângă a ferestrei aveţi patru butoane cu simbol de baze de date. Cel cu plus crează baze de date noi - similar cu butonul de plus verde din dialogul de intrare - ce cu o săgeată în sus actualizează baza de date curentă de pe listă. Cel cu două simboluri de baze de date şi o săgeată în sus actualizează toate bazele de date, inclusiv contgen, iar ultimul actualizează baza de date contgen. În fiecare caz veţi primi un mesaj dacă baza de date are deja versiunea actuală.

Important. Trebuie să ieşiţi şi să reintraţi în aplicaţie după update.

În partea dreaptă a ferestrei puteţi da drepturi de acces pentru utilizatorii - creaţi prealabil cu Opţiuni - Management utilizatori - pentru baza de date actuală de pe listă.

Documentaţia precedentă

Aplicaţia este client-server şi multiplatformă. Asta înseamnă pe de o parte ca sunt despărţite aplicaţia, cu care utilizatorul devine în contact – partea de cliente – şi gestionarea bazei de date, executat în acest caz de serverul mysql – partea de server. Pe de altă parte, atât aplicaţia, cât şi serverul mysql pot fi instalate pe mai multe platforme (deocamdată windows şi linux). Deci putem avea server windows, staţie de lucru linux, sau vice versa. În cazul unui server şi mai multe staţii de lucru, funcţionează orice combinaţie a acestora din punct de vedere al sistemelor de operare instalate. Din acest motiv discutăm separat instalarea pe windows şi linux.

Instalarea bazelor de date

  • Dacă nu avem un server mysql funcţional pe reţeaua noastră, trebuie să descărcăm community server de pe www.mysql.com. Descărcăm instalatorul pentru windows, dacă avem windows pe server, respectiv instalăm pachetul mysql-server din distrubiţia noastră de linux.

  • Pentru uşurarea creării bazelor de date şi a utilizatorilor descărcom mysql gui tools care conţine mysql administrator şi mysql query browser. În linux instalăm pachetele mysql-admin şi mysql-query-browser.

  • Când instalăm serverul mysql sub windows, putem alege instalare totală sau obişnuită. Dacă vrem să compilăm aplicaţia din sursă sub windows vom alege instalare totală. Sub linux instalăm pachetul libmysqlclient15.dev. Sub windows după instalare vom configura serverul. Alegem utf8 pentru codare, alegem parolă pentru root. Dacă avem posibilitatea de a lucra fizic pe server, alegem opţiunea ca root să se poată conecta numai de la localhost. Aşa este mai sigur. Nu avem nevoie de mysql bin directory în path.

  • Dacă am instalat serverul 5.0, trebuie să schimbăm valoarea variabilei sql-mode din my.ini în MYSQL40, şi să repornim serverul mysql din control panel, administration tools services, sau mai simplu repornim calculatorul. Fişierul my.ini se găseşte în Program Files, Mysql Server 50.

  • Dacă am ajuns până aici, trebuie să avem un server mysql funcţional. Ne vom conecta la acest server folosind mysql administrator ca utilizator root. Alegem opţiunea restore backup, după care în linux schimbăm calea implicită la calea, unde am extras sursa aplicaţiei şi intrăm în directorul sql. În windows folosim butonul open backup file. Deschidem fişierul contgen.sql, alegem utf8 pentru codare şi în final apăsăm butonul Restore Backup. Repetăm metoda pentru contgen_update_20080714.sql. Cu asta am creat baza de date contgen.

  • Trebuie să creem câte o bază de date pentru fiecare firmă pentru care vrem să ţinem evidenţa contabilă cu ajutorul aplicaţiei. E bine să facem o listă cu aceste firme, şi să scriem în dreptul fiecărei firme o nume de bază de date, care e bine să nu conţină caractere speciale, diacritice, şi în special să nu conţină spaţii. De exemplu dacă avem a firmă Mic Comerţ SRL, baza de date pentru această firmă va fi de exemplu mic-comert. Ne conectăm la serverul mysql cu mysql administrator ca utilizator root, alegem opţiunea catalogs, şi în partea de stânga jos a ferestrei în partea de Schemata apăsăm butonul din dreapta de pe mouse. Alegem opţiunea create schema şi introducem numele de bază de date ales – în exemplul nostru mic-comerţ. Baza de date creată va apare pe lista din Schemata. Alegem acum opţiunea restore backup, deschidem fişierul empty_company.sql, alegem codare utf8. În combo-ul de la opţiunea restore selected tables in: alegem baza de date nou creată – în exemplul nostru mic-comerţ şi în final apăsăm butonul restore backup.

  • Repetăm procedura descrisă mai sus pentru fiecare firmă. Trebuie să introducem datele de pe lista mai sus menţionată în tabela companies din baza de date contgen. Ne conectăm la serverul mysql de data asta cu mysql query browser ca utilizator root. În linia default schema introducem contgen. Alegem tabela companies, dăm double click pe el, şi astfel sus apare comanda select * from companies. Executăm comanda cu butonul Execute. Apare astfel un tabel în partea de mijloc. Apăsăm butonul Edit din partea de jos, introducem numele de baze de date de pe listă în coloana company_directory, respectiv numele de firme reale în dreptul fiecărei nume de baze de date în coloana company_name. Coloana id_company va fi introdus automat de mysql. Apăsăm butonul apply changes. Controlăm datele introduse executând încă odată comanda select * from companies. După care putem ieşi din query browser.

  • Mai avem de creat utilizatorii aplicaţiei. Ne conectăm de server cu mysql administrator ca root. Alegem opţiunea User Administration, apăsăm butonul new user, introducem numele şi parola pentru utilizator şi apăsăm butonul apply changes. După care alegem tab-ul shema privileges, şi acordăm toate drepturile pentru utilizator la toate bazele de date care utilizatorul respectiv trebuie să le folosească (butonul <<). Apăsăm butonul apply changes şi putem ieşi din mysql aministratorl

  • Toate aceste proceduri pot fi executate cu clientul de linie de comandă mysql. Descrierea pentru această metodă se găseşte mai jos, în instrucţiunile de utilizare mai vechi.

Instalarea sub windows

  • După ce am creat bazele de date şi utilizatorii, ne mai rămâne un singul pas, instalarea aplicaţiei folosind qtContgen-2.0.0-install.exe.

  • Dacă vrem să instalăm aplicaţia din sursă sub windows, vom avea nevoie de următoarele:

  • Trebuie să creem fişierul libmysql.a, pentru mingw. Intrăm în c:/mysql/lib/opt şi executăm:

      • reimp -d libmysql.lib

      • dlltool -k -d LIBMYSQL.def -D libmysql.dll -l libmysql.a

  • Mai trebuie să compilăm plugin-ul mysql pentru qt. Intrăm în c:/qt/4.0.0/src/plugins/sqldrivers/mysql şi executăm:

      • qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+= C:\mysql\lib\opt\libmysql.a" mysql.pro

      • make

  • În final despachetăm fişierul cu codul sursa al aplicaţiei într-un director liber ales şi executăm de acolo:

      • qmake

      • make

      • make install

Instalarea sub linux

  • Având în vedere diferenţele distribuţiilor linux, vom relata numai instalarea din sursă. Vom avea nevoie de câteva lucruri:

      • Descărcăm ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.0.tar.bz2 . Despachetăm în directorul home al utilizatorului nostru. Din directorul unde am despacketat executăm comenzile ./configure make su parolă root make install. Acest procedeu va dura cel puţin câteva ore. Pentru compilare avem nevoie de pachetul xorg.dev, sau pachetul corescpondent din distribuţia linux aleasă.

      • Vom avea nevoie şi de pachetul libmysqlclient15.dev.

      • În final avem nevoie de codul sursă al aplicaţiei.

  • Dacă am ajuns până aici, mai trebuie să creem un symlink pentru qmake din qt.4.4.0 în /usr/local/bin cu comanda – ca utilizator root:

      • ln -s /usr/local/Trolltech/Qt-4.4.0/bin/qmake /usr/local/bin/qmake-qt4

  • Trebuie să compilăm pluginul mysql pentru qt. Intrăm în directorul unde am despachetat sursa qt, intrăm în src/plugins/sqldrivers/mysql şi executăm comenzile:

      • qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro

      • make

      • su parolă root make install

  • Dacă distribuţia noastră conţine pachete pentru qt 4.4.0 putem sări peste paşii de mai sus. Însă eu m-am întâlnit cu astfel de pachete până acuma numai în distribuţia debian testing (lenny).

  • În final despachetăm sursa aplicaţiei într-un director liber ales din home-ul utilizatorului nostru şi executăm de acolo comenzile:

      • qmake-qt4

      • make

      • su root-jelszó make install

Instrucţiuni de instalare mai vechi.

Aplicaţia este client-server şi multiplatformă. Asta înseamnă pe de o parte ca sunt despărţite aplicaţia, cu care utilizatorul devine în contact – partea de cliente – şi gestionarea bazei de date, executat în acest caz de serverul mysql – partea de server. Pe de altă parte, atât aplicaţia, cât şi serverul mysql pot fi instalate pe mai multe platforme (deocamdată windows şi linux). Deci putem avea server windows, staţie de lucru linux, sau vice versa. În cazul unui server şi mai multe staţii de lucru, funcţionează orice combinaţie a acestora din punct de vedere al sistemelor de operare instalate. Din acest motiv discutăm separat instalarea pe windows şi linux.

Totodată, acest program are un predecesor, care avea intertaţă text. Unde acest program este instalat, nu mai trebuie să creem bazele de date, şi unele fişiere deja sunt instalate. Unde nu, avem de făcut câţiva paşi suplimentari.

Instalare pe windows

  • Dacă avem contgen cu interfaţa text, trebuie să instalăm numai bibliotecile dinamice necesare şi aplicaţia executabilă. Dacă nu, trebuie să descărcăm fişierul cu sursa aplicaţiei, şi să copiem din sursă subdirectorul contgen în c:\usr\local. Aici avem un fişier contgen.cfg, care conţine setările necesare conectării la serverul mysql. Mai exact host, user, password, port şi socket. Host este adresa IP a calculatorului pe care merge serverul mysql. User şi password sunt numele de utilizator şi parola pentru utilizatorul curent, iar port şi socket sub windows pot fi 0 şi string gol.

  • Dacă nu avem un server mysql accesibil pe reţeaua locală, trebuie să instalăm una. Descărcăm community server de pe www.mysql.com şi instalăm pe un calculator, care va avea funcţia de server în reţeaua locală. Dacă avem un singul calculator nelegat în reţea, instalăm serverul mysql pe acest calculator. Pentru rularea serverului mysql avem nevoie cel puţin de windows 2000 professional. Dacă am instalat versiunes 5.0 a serverului mysql, în my.ini trebuie să setăm valoarea variabilei sql-mode la MYSQL40, după care repornim serviciul din Config panel – administrative tools – services, sau mai simplu repornim calculatorul. La configurarea serverului (după instalare) bifăm opţiunea care pune calea bin în path, altfel nu putem porni programul client mysql din orice cale, program, la care avem nevoie la instalarea bazei de date. Putem bifa şi opţiunea ca root să poată conecta prin reţea, dacă administrarea bazelor de date (creare baze de de date noi, crearea utilizatorului) trebuie să le facem prin reţea. Dacă avem acces fizic la server, putem lăsa opţiunea nebifată.

  • Dacă am reuşit să punem în funcţiuen un server mysql, putem trece la crearea bazelor de date necesare. În sursă avem un subdirector sql, care conţine câteva scripturi cu extensia sql. Mai precis contgen.sql şi empty_company.sql. Acestea se execută cu ajutorul clientului mysql astfel:

    • mysql -h adresaserver -u root -pparolaroot < contgen.sql

    • mysql -h adresaserver -u root -pparolaroot < empty_company.sql

  • parolaroot este parola root pentru serverul mysql, setat la configurarea serverului. Adresaserver este adresa ip al calculatorului pe care rulează serverul mysql sau numele de host al acestui calculator, dacă este setată. Dacă lucrăm fizic pe calculatorul, unde avem instalată serverul mysql, această adresă va fi localhost şi în acest caz opţiunea -h localhost este opţională.

  • Dacă nu ne place lucrul în linia de comandă, putem descărca de pe mysql.com pachetul gui tools. Acest pachet conţine mqsql administrator şi mysql query browser. Cu administrator conectăm la server ca utilizator root, alegem opţiunea restore backup, deschidem fişierul contgen.sql şi apăsăm butonul restore backup. Acelaşi lucru pentru empty_company.sql.

  • Dacă avem baza de date deja instalată – în cazul în care am avut instalată contgen cu interfaţă text – trebuie să executăm contgen_update_20080613.sql (cu mysql client cu comanda – mysql –u root -pparolaroot < contgen_update_20080613.sql, sau cu mysql administrator prim metoda prezentată mai sus.)

  • Acum avem deja o aplicaţie şi o bază de date fucţională. Totuşi, încă în acest stadiu putem conecta la baza de date numai ca utilizator root. Acest lucru are mai multe dezavantaje. Primul e ca lucrul ca administrator de sistem pentru lucrul de zi cu zi este periculoasă din punct de vedere al securităţii, iar în al doilea rând logica aplicaţiei necesită ca toţi utilizatorii care sunt conectaţi simultan la baza de date să aibă nume utilizator distincte.

  • Pentru crearea utilizatorilor avem de parcurs doi paşi. În primul rând trebuie să adăugăm utilizatorul la tabelele de sistem al serverului mysql şi să le dăm drepturi necesare pentru conectarea la bazele de date ale aplicaţiei. Vom proceda după cum urmează:

    • mysql -h adresaserver -u root -pparolaroot

    • use mysql;

    • insert into user (Host, User, Password) values ('adresa_statie_de_lucru', 'nume_utilizator_nou','parola_pentru_utilizator_nou');

      • adresa_statie_de_lucru poate fi setată la valoarea %, care înseamnă, ca utilizatorul nou creat va putea conecta la baza de date de pe oricare dintre calculatoarele legate în reţea. Dacă vrem ca el să se poată conecta numai de la un anumit calculator trebuie să scriem aicea adresa ip sau numele de host al calculaotrului respectiv. nume_utilizator_nou şi parola_pentru_utilizator_nou sunt exact ce le sugerează denumirea lor.

    • insert into db values ('adresa_statie_de_lucru', 'nume_baza_de_date', 'nume_utilizator_nou','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

      • aici adresa_statie_de_lucru şi nume_utilizator_nou sunt aceleaşi ca la pasul precedent. Această comandă trebuie să fie executată pentru toate bazele de date pentru care utilizatorul va trebui să aibă drepturi de acces. Aceste baze de date sunt în primul rând baza de date contgen, care conţine date pentru funcţionarea aplicaţiei, baza de date empty care este o bază pentru o firmă demo fără date suplimentare, precum şi toate bazele de date pe care le-am creat pentru firmele noastre. La sfârţit, comanda are 17 bucăţi de 'Y' separate cu virgulă. Acestea indică ca utilizatorul va avea toate drepturile pentru bazele de date respective. Aceste comenzi pot fi inroduse într-un fişier text, pe care le executăm cu mysql -uroot -pparolaroot < nume_fisier_script sau cu ajutorul lui mysql administrator în modul descris mai sus.

    • flush privileges;

      • de această comandă avem nevoie pentru a indica serverului mysql să le ia în considerare schimbările efectuate în tabelele lui de sistem.

      • Putem trece la pasul doi. Utilizatorul trebuie să fie adăugat la tabelele de user ale aplicaţiei.

    • use contgen;

    • insert into users values (1,'nume_utilizator_nou');

      • 1 este id-ul bazei de date create din tabela companies din baza de date contgen.

    • insert into contgen_users (username, data_curenta) values ('nume_utilizator_nou',current_date() );

      • current_date() este o funcţie mysql care redă data de sistem.

    • insert into gest_users (username, data_curenta) values ('nume_utilizator_nou',current_date() );

      • Cu asta am terminat, utilizatorul nou creat poate deja să se conecteze la baza de date. Totuşi trebuie să menţionăm aici, că la stadiul actual aplicaţia poate să funcţioneze numai dacă în fişierul contgen.cfg sunt setate toate variabilele, inclusiv user şi password. Bineînţeles acest lucru este inadminsibil din punct de vedere al securităţii, şi va fi modificată în decursul dezvoltării aplicaţiei.

      • Ca cele spuse până acum să fie mai clare, luăm un exemplu. Să presupunem, ca vrem să creem un utilizator nou, care va avea acces la bazele de date contgen, empty şi demo. Numele de utilizator va fi ionel, iar parola bumm. Utilizator va putea să se conecteze la baza de date de pe orice calculator, legat la reţeaua la care e legată calculatorul, care rulează mysql server. Iată scriptul:

    • use mysql;

    • delete from user where User='ionel';

    • delete from db where User='ionel';

    • insert into user (Host, User, Password) values ('%', 'ionel','bumm');

    • insert into db values ('%', 'contgen', 'ionel','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • insert into db values ('%', 'empty', 'ionel','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • insert into db values ('%', 'proba', 'ionel','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    • flush privileges;

    • use contgen;

    • delete from users where username='ionel';

    • delete from contgen_users where username='ionel';

    • delete from gest_users where username='ionel';

    • insert into users values (1,'ionel');

    • insert into contgen_users (username, data_curenta) values ('ionel',current_date());

    • insert into gest_users (username, data_curenta) values ('ionel',current_date());

      • Să fim atenţi la punct, virgulă de la sfărşitul comenzilor, la apostrofi, precum şi la caractere mici-mari din numele bazelor de date, a tabelelor şi a câmpurilor. Dacă am greşit ceva în script, serverul mysql va refuza să execute comanda greşită, şi în acest nu vom şti ce s-a executat corect şi ce nu. Din acest motiv am introdul comenzile cu delete. În primul rând sunt şterse toate înregistrările aferente utilizatorului respectiv, şi astfel vom fi siguri, ca numai cele corecte sunt introduse în bazele de date.

      • Am de gând să scriu un utilitar pentru aceste aspecte de configurare.

      • Putem desigur folosi mysql adminstrator pentru adăugarea utilizatorului nou la tabelele de sistem ale serverului mysql. Alegem opţiunea User administration, apăsăm buton nuw user – introducem numele de utilizator, parola de două ori şi apăsăm butonul apply changes. După care alegem tab-ul schema privileges, şi la toate bazele de date pentru care vrem să acordăm drepturi pentru utilizatorul nou creat, mutăm toate drepturile disponibile – available privileges – cu ajutorul butonului << în căsuţa pentru drepturile acordaet - assigned privileges. Însă introducerea utilizatorului în tabele user... din baza de date contgen trebuie să le executăm şi în acest caz cu programul client mysql.

      • Pentru firmele noastre la care facem contabilitate, putem crea baze de date editând scriptul empty_company, înlocuind la început valoarea emtpy din comenzile use empty şi create database if not exists emtpy cu numele bazei de date pe care vrem să le creem. Acest nume mai trebuie să le introducem în tabela companies din baza de date contgen.

        • use contgen;

        • insert into companies (company_directory, company_name) values ('nume_baza_date','Denumire firmei');

      • Revenind la exemplul prezentat mai sus, baza de date demo îl putem introduce în tabela companies cu comenzile:

        • use contgen;

        • insert into companies (company_directory, company_name) values ('demo','SC Demo SRL');

      • Bineînţeles, mai întăi trebuie să creem baza de date demo cu empty_company.sql, ressciind comenzile create database şi use cu demo în loc de empty.

Instalare în linux

  • Partea referitoare la crearea bazelor de date şi la adăugarea utilizatorilor din secţiunea windows rămân valabile şi aici.

  • Ceea ce diferă este instalarea aplicaţiei.

  • După cum ştim, fiecare distribuţie are mai mult sau mai puţin formatul propriu de pachete binare şi fişiere de configurare. Din acest motiv discutăm numai instalarea din sursă.

  • Vom avea nevoie de câteva lucruri. În primul rând trebuie să fie instalate pachetele pentru dezvoltare gcc, g++, make. Mai avem nevoie de pachetul de dezvoltare pentru partea de clinent mysql. Pachetul se numeşte în general libmysqlclient.dev, eventual cu un număr de versiune.

  • Mai avem nevoie de sursa qt4.4.0 x11 opensource, care poate fi descărcată de pe ftp.trolltech.com.

  • Deoarece modului de listări din aplicaţie a fost preluată din programul cu interfaţă text, acest modul se mai foloseşte de obiectul TCollection din turbo vision. Din acest motiv avem nevoie de fişierul http://tvision.sourceforge.net/rhtvision-2.1.0.src.tar.gz . Extragem conţinutul în tvdevel din directorul home al utilizatorului curent şi instalăm cu ./configure make su parola root make install. La configurare va cere dependinţele pe care nu le găseşte (xorg-dev, libgpmg1-dev libbz2-dev...), pe care trebuie să le instalăm cu managerul de pachete din distribuţia respectivă.

  • Extragem fişierul ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.0.tar.bz2 într-un loc ales în directorul home al utilizatorului curent şi facem compilarea cu ./configure make, respectiv instalarea cu su parola root make install. Compilarea va dura mai multe ore, deci să fim pregătiţi pentru a aştepta. Alternativ putem instala partea de qt4 development din distribuţia respectivă, dar dat fiind faptul că aplicaţia se foloseşte de unele obiecte din 4.4.0 – print preview între altele – nu vom putea compila aplicaţia cu o versiune qt4.3.x. După cum am observat, versiune 4.4.0 se găseşte ca pachet la ora actuală numai în debian lenny, care este o distribuţie testing. Dacă avem deja instalate pachetele de development qt4.3.x cu qmake-qt4, vom crea o legătură simbolică în /usr/local/bin pentru qmake din 4.4.0, cu nume de exemplu qmake-qt440.

  • ln -s /usr/local/Trolltech/Qt-4.4.0/bin/qmake /usr/local/bin/qmake-qt440

  • În acest caz, pentru crearea fişierului Makefile la compilarea aplicaţiei vom folisi comanda qmake-qt440

  • Mai avem un singur pas de parcurs înainte de compilarea aplicaţiei, şi anume instalarea plugin-ului mysql pentru qt4. Intrăm în calea, unde am extras sursa qt440, intrăm în src/plugins/sqldrivers/mysql şi executăm comenzile:

  • qmake-qt440 -o Makefile „INCLUDEPATH+=/usr/include/msyql” „LIBS+=-L/usr/lib/mysql -lmysqlclient” mysql.pro

  • make

  • make install

  • Dacă pachetul mysqlclient.dev se instalează într-o altă cale, modificăm calea corespunzător. În acest caz va trebui să modificăm calea şi în fişierul qtContgen.pro.

  • În final putem trece la compilarea aplicaţiei. Descărcăm sursa, le extragem într-un subdirector din directorul home al utilizatorului curent – de exemplu proiect sau qtContgen, şi intrăm în calea care conţine qtContgen.pro. De aici putem executa compilarea cu qmake-qt440, make, respectiv instalarea cu su parola root make install. Instalarea se face în /usr/local/bin. Dacă dorim instalarea într-o altă cale, trebuie să modificăm linia respectivă din qtContgen.pro şi să reexecutăm qmake-qt440 make make install.

  • Mai menţionăm ca dacă lucrăm sub linux pe acelaşi calculator pe care este instalată serverul mysql, trebuie să setăm corespunzător valorile port şi socket din fişierul contgen.cfg. Aceste valori le putem afla cu ajutorul programului de client mysql. Executăm mysql -uroot -pparolăroot şi la prompt-ul mysql> introducem comanda \s. Această comandă va lista parametrii cei mai importanţi ai serverului mysql, între altele şi valorile port şi socket. Aceste valori trebuie să le introducem în liniile respective din contgen.cfg. Dacă avem client linux, iar serverul mysql rulează pe un alt calculator – indiferent, dacă acest calculator are sistemul de operare linux sau windows, valorile port şi socket pot rămâne 0 şi string gol.