Informazioni per l'A.A. 2014-2015


Basi Dati - A.A. 2014-2015

Istruzioni fondamentalmente invariate dall'A.A. 2010-2011 e server fondamentalmente configurato come nell'anno accademico 2009-2010.

Caveat

  • queste note non sono sostitutive della pagina ufficiale del docente: per l'A.A. 2014-2015 il prof. Mauro Conti
  • alcune informazioni dell'ultima ora potrebbero trovarsi solo sulla home page del server (il server non è raggiungibile direttamente da casa: vedere le istruzioni per il tunnel).
  • non è compito di queste note parlare dei server ssh dei laboratori: vedi
  • non è compito di queste note mostare un esempio completo di consegna: vedi - Se non altrimenti specificato dal docente, le consegne possono essere date o esclusivamente in Torre o esclusivamente al Paolotti
  • non è compito di queste note spiegare i concetti che sottostanno all'uso dei tunnel ssh: vedi
  • non è compito di queste note mostare un esempio completo per ogni combinazione di client e sistema operativo
  • non è compito di queste note mostare un esempio completo di tunnel ssh fatto con programmi che hanno una interfacia grafica (GUI): vedi - Esempio di collegamento da MS Windows Vista mediante PuTTY e Filezilla

In breve

Queste istruzioni sono brevi per scelta: sostituite nomeutente con la vostra login ma copiate tutto il resto: ad esempio, http dove è scritto http ed https dove è scritto https; se qualcosa non funziona, non funziona e leggete con attenzione quanto scritto nelle sezioni maggiormente dettagliate.
  1. terminale #A (comando per il tunnel ssh)
    ssh -L23306:basidati:3306 -L20443:basidati:443 -L20080:basidati:80 -L20022:basidati:22 nomeutente@ssh.studenti.math.unipd.it
    
  2. da browser (per controllare che tutto funzioni)
    URL notevoli
      dai laboratori via tunnel
    Home del server http://basidati.studenti.math.unipd.it http://localhost:20080/
    Home page personale http://basidati.studenti.math.unipd.it/basidati/~nomeutente/ http://localhost:20080/basidati/~nomeutente/
    Accesso a phpMyAdmin https://basidati.studenti.math.unipd.it/phpmyadmin/ https://localhost:20443/phpmyadmin/
  3. terminale #B (comandi per la copia dei file sul server)
    scp -p -r -P 20022 xBasiDati/public_html nomeutente@localhost:basidati 
    scp -p -r -P    22 xBasiDati             nomeutente@ssh.studenti.math.unipd.it:
    
  4. terminale #C (collegamento ssh al laboratorio ed accesso a MySQL)
    ssh -p 20022 nomeutente@localhost
    ./bd2015.sh
    
  5. terminale #D (comandi per la consegna del progetto)
    ssh nomeutente@ssh.studenti.math.unipd.it
    cd xBasiDati
    consegna basidati2015
    

In maggior dettaglio

Password ed iscrizione al corso

È il genere di informazioni per cui fare strettamente riferimento al docente del corso; i tecnici dei laboratori, una volta ottenuta la lista di utenti dal docente, potrebbero:
  • dare accesso ssh al server basidati.studenti.math.unipd.it con la stessa password di ssh.studenti.math.unipd.it
  • dare accesso mysql al server basidati.studenti.math.unipd.it con una password a parte, ad esempio da cercare nella propria home nel file bd2015.passwd
Normalmente gli account vengono cancellati ogni anno accedemico: anche coloro che avevano un account debbono fare nuovamente domanda secondo le istruzioni del docente.

Tunnel e layout dei file

  • Il server da usare per
    • collegarsi al database (la password è diversa dalle altre; dopo essersi iscritti alla lista del corso, normalmente viene distribuita dai tecnici in un file della propria home)
    • collegarsi per una shell comandi
    • collegarsi per trasferire i file che devono apparire nel proprio spazio web (per quanto la password sia la stessa, la home è differente da quella dei laboratori)
    è basidati.studenti.math.unipd.it
  • Dentro tale server, la cartella da usare per tenere le pagine html, i file css ed i file php è:
    ~/basidati/public_html/
  • Di conseguenza dalle macchine dell'aula (scelto di tenere i file del sito nella cartella xBasiDati) va dato un comando per il traferimento dei file come:
    scp -p -r xBasiDati/public_html basidati.studenti.math.unipd.it:basidati
  • equivalentemente, agendo via tunnel, bisognerà indicare la porta, nell'esempio con -P 20022, e mettere nomeutente@localhost:basidati invece di basidati.studenti.math.unipd.it:basidati ovvero:
    scp -p -r -P 20022 xBasiDati/public_html nomeutente@localhost:basidati
  • Proprio come nel 2009-2010, il sito personale sarà raggiungibile dall'indirizzo:
    http://basidati.studenti.math.unipd.it/basidati/~nomeutente/ (notare sia basidati senza trattini sia il protocollo HTTP)
  • di conseguenza dal browser di casa gli eventuali tunnel (scelta la porta 20080) obbligheranno a scrivere indirizzi come:
    http://localhost:20080/basidati/~nomeutente/ (notare sia basidati senza trattini sia il protocollo HTTP)
  • oltre che nel proprio spazio web e nel database, potrebbe essere necessario fare una consegna col comando consegna; ciò normalmente non avviene nel server del corso ma in una macchina che abbia la home dei laboratori scelti dal docente. Per la consegna dell'A.A. solo stati scelti quelli del Paolotti e quindi biosogna fare ssh a ssh.studenti.math.unipd.it

Permessi

Per quanto rozzo (il permesso di esecuzione serve solo alle cartelle ed è inutile anche per i file php) i permessi posso essere settati in modo tale da far vedere le pagine statiche ed eseguire gli script server side con il comando:
chmod -R 750 ~/basidati/public_html

Come detto nelle note 2008-2009, l'opzione -p di scp è utile a preservare i permessi (è conveniente settarli una volta per tutte sul pc di partenza piuttosto che tutte le volte sul server di arrivo).

Nella cartella degli script cgi (o degli script di appoggio) potrebbe inoltre essere il caso di dare il comando fromdos *; ad esempio:
ssh basidati fromdos ~/basidati/cgi-bin/* La riga di comando sopra viene eseguita in ssh visto che in casi simili è probabile il comando debba essere ripetuto (e solo sul server) ad ogni upload.

PhpMyAdmin

Istruzioni passo-passo

Prego dare la precedenza al sito del corso e al docente, in particolare per le domande che non riguardano l'attuale configurazione del server.

Preliminari importanti

Attenzione: anche collegandosi dall'aula a https://basidati.studenti.math.unipd.it/phpmyadmin/ potreste avere problemi col certificato del sito: seguire le istruzioni sui certificati (per l'uso di ssh le istruzioni sulle chiavi). Le chiavi dei vari server possono essere scaricate anche dall'apposita pagina di questo sito; meglio visitarla in https cosÌ da poter controllare che non siate incappati in un sito contraffatto phishing.

Esempio di collegamento mediante OpenSSH dal terminale di una macchina Linux o MacOS X o Cygwin al server del corso basidati

  1. nel punto successivo diremo al comando ssh di impostare dei tunnel fra le porte del server del corso (22, 80, 443, 3306) ed alcune porte locali (una qualsiasi quadrupla di porte come 20022, 20080, 20443, 23306); prima di tutto bisogna essere sicuri che tali porte locali siano libere; ecco quindi dei comandi da dare in un terminale locale ovvero un terminale che abbia il prompt della vostra macchina (nel seguito potremmo chiamarlo primo terminale). Per trovare una porta locale libera, ad esempio 20080 e 20022, tali porte non debbono apparire in elenco. Per controllare che non siano in uso va dato almeno uno dei comandi seguenti.
    netstat -tan | grep LISTEN | grep -v tcp6
    fuser -4 20022/tcp
    fuser -4 20080/tcp
    lsof -i :20022
    lsof -i :20080
    
    Nessuno di questi comandi è invero necessario ma sono utili per indagare eventuali problemi di connessione (le porte locali debbono essere libere perché ssh possa usarle). Lasciare da parte questo terminale ed usarne uno nuovo per il comando seguente.
  2. (comando per il tunnel ssh) Aprire un nuovo terminale locale (il prompt deve essere quello della vostra macchina, dopo il collegamento lo chiameremo terminale remoto e magari secondo terminale) e connettersi ad una macchina raggiungibile da casa impostando contemporaneamente i tunnel necessari (aggiungendo anche l'opzione -f ssh va in backgroud dopo aver chiesto la password così da avere solo i tunnel ma nessun prompt dei comandi su ssh.studenti.math.unipd.it o sshtorre.math.unipd.it); ad esempio:
    • opzione consigliata (usare il server ssh del Paolotti):
      ssh -L23306:basidati:3306 -L20443:basidati:443 -L20080:basidati:80 -L20022:basidati:22 nomeutente@ssh.studenti.math.unipd.it
      
      solo al Paolotti funziona (almeno per l'A.A. 2014-2015) il comando consegna
    • opzione per quando il server del Paolotti non funziona (usare il server ssh della Torre Archimede):
      ssh -L23306:basidati.studenti.math.unipd.it:3306 -L20443:basidati.studenti.math.unipd.it:443 -L20080:basidati.studenti.math.unipd.it:80 -L20022:basidati.studenti.math.unipd.it:22 nomeutente@sshtorre.math.unipd.it
      
      notare che qui vanno usati i FQDN in quanto la Torre e il Paolotti hanno sottodomini differenti
    Attenzione: le shell di questo punto, anche se in foreground, danno al più
    • la possibilità di collegarsi (solo dalle shell remote, non dal computer di casa) ai server interni come se si fosse in aula (in aula i tunnel non servono, vedi nota)
    • la possibilità di copiare i file in due passaggi, il primo da casa al server raggiungibile da casa ed il secondo da questo al server del corso (in questa manera i file possono essere trasferiti, anche da casa, senza tunnel)
    e con questo intendiamo che i comandi ssh, scp, rsync, sftp (anche grafici) non vanno lanciati dentro il terminale remoto appena aperto.
    Sarebbe altrettanto un errore aprire i tunnel dal prompt di dipXXX (o tXX); in questo caso sarà al più l'indirizzo 'http://dipXXX:20080' quello da digitare per sfruttare i tunnel: non è affatto detto che abbia senso usare tare url a casa.
  3. nel punto precedente abbiamo detto al comando ssh di impostare dei tunnel fra le porte del server del corso (22, 80, 443, 3306) ed alcune porte locali (una qualsiasi quadrupla di porte come 20022, 20080, 20443, 23306); ora che abbiamo dato al comando ssh l'opzione per aprire i tunnel può essere utile verificare se l'ha fatto: va dato almeno un comando dei comandi seguenti; se ad esempio le porte 20080 e 20022 erano libere e non apparivano in elenco, ora al contrario tali porte debbono apparire:
    netstat -tan | grep LISTEN | grep -v tcp6
    fuser -4 20022/tcp
    fuser -4 20080/tcp
    lsof -i :20022
    lsof -i :20080
    
    Nessuno di questi comandi è invero necessario ma sono utili per indagare eventuali problemi di connessione (le porte locali debbono essere in ascolto perché i vostri comandi possano usarle). Attenzione a dare questi comandi in una shell locale e non nei server ssh.studenti.math.unipd.it o sshtorre.math.unipd.it o basidati.studenti.math.unipd.it: che ci siano o meno porte 20080 e 20443 in ascolto su tali macchine sarà per voi pressoché indifferente visto che tali porte sono comunque bloccate dai firewall dei laboratori. Se come consigliato è stato usato un secondo terminale per creare il tunnel ssh, si può riutilizzare il primo terminale usato per il primo netstat anche per questo ulteriore netstat.
  4. Si può vedere la home page del server del corso (anche da Firefox):
    lynx http://localhost:20080/
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel.

    La home page del server può essere vista sia in HTTP che in HTTPS.

  5. Si possono ora controllare le modifiche dal browser (anche da Firefox):
    lynx http://localhost:20080/basidati/~nomeutente/
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel.

    La pagina personale può essere vista solo in HTTP (a meno di tunnel solo dalla porta 80, nell'esempio dalla porta locale 20080).

  6. phpMyAdmin è ora raggiungibile (anche da Firefox):
    lynx https://localhost:20443/phpmyadmin/
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel.

    phpMyAdmin può essere visto solo in HTTPS (a meno di tunnel solo dalla porta 443, nell'esempio dalla porta locale 20443).

  7. (comandi per la copia dei file sul server) se si vuole fare direttamente l'upload sul server basidati.studenti.math.unipd.it dei file di una cartella locale (-r serve appunto per un copia ricorsiva), ad esempio xBasiDati, in terminale inizialmente locale (che potremmo chiamare terzo teminale), va lanciato un ulteriore processo scp (-P MAIUSCOLA per la porta, -p minuscola preserva i permessi come lettura, scrittura, esecuzione) oppure un ulteriore processo rsync (-p minuscola per la porta di ssh, -P MAIUSCOLA per --partial --progress):
    scp   -p -r   -P 20022         xBasiDati/public_html nomeutente@localhost:basidati
    rsync -e "ssh -p 20022 " -avrP xBasiDati/public_html nomeutente@localhost:basidati
    
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel. I comandi di questo punto vanno dati in un terminale locale (ad esempio, dal terminale del pc di casa), non da una shell già aperta dentro l'aula; se i tunnel sono stati correttamente impostati a partire da un terminale locale (che diverrà remoto) non sarà nella macchina di destinazione che le porte scelte arbitrariamente (ad esempio 20022) saranno disponibili.
  8. (collegamento ssh al laboratorio) Se si vogliono dare comandi dentro il server basidati è necessario aprire un'altra shell lanciando, magari in un quarto terminale (inizialmente locale), verso il server del corso un secondo comando ssh (-p minuscola):
    ssh -p 20022 nomeutente@localhost
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel. I comandi di questo punto vanno dati in un terminale locale (ad esempio, dal terminale del pc di casa), non da una shell già aperta dentro l'aula; se i tunnel sono stati correttamente impostati a partire da un terminale locale (che diverrà remoto) non sarà nella macchina di destinazione che le porte scelte arbitrariamente (ad esempio 20022) saranno disponibili. Del resto da una shell ssh già aperta nel server ssh dell'aula (come il secondo terminale, se le istuzioni sono stase seguite alla lettera) basta un collegamento diretto (di nuovo vedi nota)
  9. trasferendo i file da casa, può capitare che i file non abbiano i permessi giusti: in caso di errore e in mancanza del tempo per seguire le istruzioni sulla configurazione del server, provare il comando (invero un po' sciatto, le normali pagine html non hanno affatto bisogno di essere eseguibili):
    chmod -R 750 ~/basidati/public_html
    In caso di problemi con i permessi speciali si può invece dare il comando:
    chmod -R 0750 ~/basidati/public_html
    (le directory invero potrebbero tenere il bit S che così viene tolto, per limitarsi a togliere i permessi alle sole directory, vedi altrove).
    NB: se usato dopo il trasferimento dei file, il comando va dato in una shell del server web (non nel server ssh usato per i tunnel o nel computer di casa dove avrebbe senso solo prima del trasferimento e a patto di preservare i permessi).
  10. a volte capita che i file caricati attraverso form e script php (ad esempio le immagini) non risultino leggibili dal server web; ci sono varie soluzioni:
    • la meno elegante e meno portabile potrebbe essere usare la funzione exec come qui:
      exec("chmod -R 750 /path/alla/propria/home/basidati/public_html")
      
    • meglio cambiare i permessi di ogni singolo file dopo averlo caricato tramite chmod
    • move_uploaded_file($file_temp, $file_finale);
      chmod ( $file_finale , 0650 );
      
    • forse ancor più comodo impostare la giusta umask per tutti i file creati dallo script mettendo all'inizio dello stesso il comando umask
      umask(0127)
      
  11. (accesso a MySQL via tunnel) Anche la shell di MySQL può essere usata via tunnel; notare che il client mysql va allora installato sul computer locale e che mysql -h localhost tenterebbe di aprire una connessione coi socket (locali) e non attraverso il tunnel per cui va usato 127.0.0.1 come sotto (al solito la porta 23306 viene dalla scelta dei tunnel fatta nella seconda shell ma è solo un esempio); dare magari il comando sotto in un quinto terminale (inizialmente locale, poi parzialmente remoto):
    mysql -h 127.0.0.1 -P 23306 -u nomeutente -D nomeutente-ES --password=PASSWORD_DB_NOMEUTENTE
    Attenzione a non chiudere il secondo terminale (quello remoto) o si chiuderenno anche i tunnel.
  12. (accesso a MySQL direttamente in ssh) Nel caso non si voglia installare (o lanciare) il client mysql sul computer di casa, la shell di mysql può anche essere usata dentro il server ssh dei laboratori o dentro basidati stesso ovvero in una finestra remota (rispettivamente la seconda finestra di questi punti o la quarta); questo senza usare la porta aperta grazie al tunnel ma quella standard del server MySQL;
    mysql -h basidati.studenti.math.unipd.it -P 3306 -u nomeutente -D nomeutente-ES --password=PASSWORD_DB_NOMEUTENTE Andrebbe altrettanto bene aprire una quarta finestra o un quarto terminale, fare ssh ai server ssh dei laboratori senza attivare contestualmente nessun tunnel (se lo porte locali fossero in uso, si otterrebbe anzi un messaggio di errore) e da lì dare il comando sopra (del resto il client mysql è un programma a caratteri).
  13. come dice la man page del comando mysql potrebbe essere necessaria l'opzione --local-infile=1 perché possiate caricare dati da file dentro le vostre tabelle:
    Enable or disable LOCAL capability for LOAD DATA INFILE. With no value, the option enables LOCAL. The option may be given as --local-infile=0 or --local-infile=1 to explicitly disable or enable LOCAL. Enabling LOCAL has no effect if the server does not also support it.
  14. (comandi per la consegna del progetto) nel caso il docente preveda una consegna con il comando consegna tenere conto che la consegna potrebbe funzionare solo al Paolotti o solo in Torre Archimede; per l'A.A. 2014-2015 si possono usare solo i computer del Paolotti (incluso il server ssh) ed il nome della consegna è basidati2015

Esempi di collegamento mediante interfacce grafiche

Vedere la sezione apposita ma in caso di discrepanze scegliere le cartelle indicate sopra ed altrettanto per gli url.

To top


Programmazione - CL in Informatica - A.A. 2014-2015

Per chi non avesse ancora accesso al Moodle ecco le istruzioni per l'installazione della macchina virtuale che può essere copiata dal percorso /home/2/Software/

Istruzioni degli A.A. precedenti (ancora valide) 

  • Istruzioni valide sia per Ubuntu.ova che Lubuntu_14.04_32bit.ova
    • punto 4bis: se possibile abilitare il supporto alle estensioni VT-X di Intel o AMD-V di AMD: non solo sono necessarie a VirtualBox per far girare nelle macchine virtuali (guest) sistemi operativi a 64 bit, ma rendono l'esecuzione di tutte le macchine virtuali più veloce; per sapere se il proprio processore supporta le estensioni VT-X può essere utile il sito http://ark.intel.com/
    • punto 5c: nel caso non si voglia occupare lo spazio del disco principale (in Windows C:) scorrere gli "Appliance setting" fino alla voce "Storage Controller (SATA)" e alla sottovoce "Virtual Disk Image"; quindi fare doppio click sul percorso del disco virtuale e cambaire il percorso
    • punto 5d: i dischi formattati in FAT32 non possono contenere file piu` grandi di 4GB; per contenere il disco virtual della macchina virtuale (in caso il sistema reale sia Windows) usare dischi formattati in NTFS o EXFAT
    • punto 7: sudo dpkg-reconfigure  keyboard-configuration ; sudo dpkg-reconfigure tzdata
    • prima dei punti 8 o 9: per installare nuovi pacchetti e/o fare aggiornamenti le macchine reali debbono essere in rete; in caso di problemi spegnere la macchina virtuale, collegare la macchina reale alla rete, riaccendedere la macchina virtuale
    • punto 8 (il pacchetto gnuplot-nox non supporta set terminal x11, quindi va sostituito):  sudo apt-get update ; sudo apt-get  install gnuplot-x11
    • punto 8 bis (potete installare anche altri software):  sudo apt-get update ; sudo apt-get  install gedit
    • punto 9 alternativo (se volete aggiornare la macchina virtuale passando alla versione 16.04): sudo su -
      • apt-get update ;
      • apt-get -f install ; dpkg --configure -a ;
      • apt-get install apt dpkg ;
      • do-release-upgrade ;
      • reboot
    • punto 9 (se volete aggiornare la macchina virtuale tenendo la versione corrente, 14.04 o 16.04 che sia): sudo -u root bash -c "apt-get update ; apt-get -f install ; dpkg --configure -a ; apt-get dist-upgrade ; dpkg -l 'linux-[his]*' | grep '^ii' ;  echo ; cat /etc/issue.net ; lsb_release -a ; uname -a"
    • punto 10 (solo dopo aver scaricato ed aggiornato tutto): sudo apt-get clean
    • punto 11 (solo se si e` sicuri che i pacchetti da eliminare non servano, improbabile se sono tanti): sudo  -u root bash -c " apt-get remove ; apt-get autoremove ;"
    • punto 12 (le Guest Addictions servono per le shared folder e per avere la macchina virtuale a schermo intero; il percorso dell'ultimo comando va scoperto, magari con la auto completion - tasto Tab):
      • sudo apt-get install make linux-headers-generic ;
      • sudo /media/CD-NAME/VBoxLinuxAdditions.run
  • Dettagli su Ubuntu.ova e Lubuntu_14.04_32bit.ova
  • (A.A. 2013-2014) Vecchie istruzioni per installare la Virtual Machine - PDF by Gilberto Filè - Tuesday, 21 January 2014, 10:26 AM

To top


Application Menu Bar -> Windows -> Preferences -> Java -> Installed JREs -> Add
Add JRE -> JRE Type Dialog -> Standard 1.1.x VM -> Add JRe Dialog -> JRE Definition -> JRE home

Programmazione concorrente e distribuita - A.A. 2014-2015

Riga di comando

Nella Ubuntu 12.04 di default è installato Java 6. Per usare Java 7, potrebbe essere il caso di modificare l'ambiente coi comandi:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle/bin/java
echo $PATH | tr ':' '\n' | grep -q java-7-oracle || \
    export PATH=/usr/lib/jvm/java-7-oracle/bin/:/usr/lib/jvm/java-7-oracle/bin/:${PATH}
export CLASSPATH=.

Attenzione a ripetere i comandi in ogni shell (quindi in ogni finestra/scheda di terminale) o impostarli nel profilo della propria shell. Per dettagli vedere http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

Eclipse

Lanciando Eclipse dal menu Applicazioni le variabili di ambiente non saranno quelle modificate a mano. Si può comunque usare Java 7 andando nel menu Windows.

 

To top


Programmazione ad oggetti - A.A. 2014-2015

La versione 5.3.2 delle librerie Qt è installata nella cartella /usr/local/Trolltech/Qt5.3.2/ di tutti i pc del Paolotti; i seguenti passi dovrebbero essere sufficienti per compliare il proprio progetto facendo uso delle Qt 5.3.2:
qt-532.sh
cd progettoXY 
qmake -project
# se necessario modificare  a mano il file di progetto progettoXY.pro (vedi sotto)
qmake 
make
./progettoXY 

Se il progetto fosse stato scritto per le Qt 4.8 i passi precedenti non bastano; leggere con attenzione le istruzioni alla pagina http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5; ad esempio potrebbe essere necessario modificare a mano il file .pro generato da qmake --project aggiungendo la linea QT += widgets prima di lanciare qmake.

Attenzione a lanciare Qt Creator solo dopo aver impostato correttamente la variabile PATH (altrimenti cancellare i file di configurazione o modificarli come indicato); ad esempio dalla subshell aperta dallo script qt-532.sh o da una shell in cui si sia modificato a mano il PATH. In particolare il comando qtcreator dentro la shell aperta dallo script qt-532.sh lancia l'eseguibile /usr/local/Trolltech/Qt5.3.2/Tools/QtCreator/bin/qtcreator

Se si lancia qtcreator potrebbe essere necessario modificare i settaggi manualmente andando in: 'Tool ---> Options ---> Build & Run ---> Qt Versions'

Lanciare Qt Creator da un'icona che faccia riferimento a /usr/local/Trolltech/qtcreator-2.8.1/bin/qtcreator o altri percorsi non setterà il PATH e il problema sarà evidenziato dalla mancanza stringa "in PATH" nella colonna "Name" prima del valore di "/usr/local/Trolltech/Qt5.3.2/bin/qmake" nella colonna "qmake Location".

In alternativa allo script qt-532.sh è possibile modificare a mano il PATH, ad esempio con PATH=/usr/local/Trolltech/Qt5.3.2:$PATH ; export PATH. Potrebbe comunque essere il caso di verificare che si stia usando il qmake della versione giusta e che il programma sia stato compilato con la corretta versione delle librerie Qt:

  
qmake --version   
ldd progettoXY | grep -i qt                         

Anche sul computer di casa potreste voler impostare il PATH a livello di sistema od utente: vedi.

The values of environment variables are local, which means they are specific to the running process in or for which they were set. This means that if we open two terminal windows (which means we have two separate bash processes running), and change a value of an environment variable in one of the windows, that change will not be seen by the shell in the other window or any other program currently on the desktop.

To top