Newsgroup: it.comp.os.linux.iniziare
Titolo: Ste benedette QT

Sto provando a compilare un dannato programma, mi dice che non ho
installto le QT, vado alla ricerca delle libQT3-dev e non ci sono, ho
solo libqt3-mt-dev, che faccio? dove le vado a pescare ste qt3-dev?
che frustrazione.....

Fizban wrote:

la palla di cristallo s'e' rotta ieri... che distro usi?
-- 
Under construction

ZeD wrote:

e pure tu hai ragione
Kubuntu 6.06
pero aggiustala sta palla!

>> solo libqt3-mt-dev, che faccio? dove le vado a pescare ste qt3-dev?
]zac[
mt dovrebbe stare per multi-threading, visto che, quasi sicuramente, tutte
le qt sono compilate con il supporto per il mt, installa il pacchetto
qt-xyz-dev, specialmente se nel tuo sistema è installato il pacchetto
qt-xyz (se il tuo sistema usa pippo, devi installare pippo-dev, altrimenti
devi sostituire anche pippo, il che potrebbe far incavolare topolino,
pluto, ecc. .).

Giuseppe Della Bianca wrote:

Presumento che abbia capito tutti i riferimenti alla famiglia di
ziopaperone eche in ogni caso io abbia provato a installare tutte le Qt
smanettando un po ho scritto tale cosa, sperando di non aver combinato
casini
./configure --prefix=/usr/local --enable-mt
--with-qt-includes=/usr/include/qt3 --with-qt-libraries=/usr/lib/qt3
--with-qt-dir=/usr/share/qt3 
--enable-mt è definita come una funzione sperimentale
Infine quando vado a fare make ottengo queste strane righe!
susr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
qscobject.h:252: error: a class-key must be used when declaring a friend
qscobject.h:252: error: friend declaration does not name a class or function
qscobject.h:253: error: a class-key must be used when declaring a friend
qscobject.h:253: error: friend declaration does not name a class or function
qsaxes.h:52: error: a class-key must be used when declaring a friend
qsaxes.h:52: error: friend declaration does not name a class or function
qsaxes.h:113: error: a class-key must be used when declaring a friend
qsaxes.h:113: error: friend declaration does not name a class or function
qsaxis.h:87: error: a class-key must be used when declaring a friend
qsaxis.h:87: error: friend declaration does not name a class or function
qsplot.h:49: error: a class-key must be used when declaring a friend
qsplot.h:49: error: friend declaration does not name a class or function
qsaxes.cpp: In member function ‘QSCAxesShadow* QSAxes::shadowObject()’:
qsaxes.cpp:39: error: ‘QSCAxesShadow::QSCAxesShadow(QSAxes*)’ is protected
qsaxes.cpp:213: error: within this context
qsaxes.cpp: In member function ‘virtual void QSAxes::start(QSDrv*, bool, bool)’:
qsplot.h:194: error: ‘virtual bool QSPlot::start()’ is protected
qsaxes.cpp:864: error: within this context
qsaxes.cpp: In member function ‘void QSAxes::work_proc()’:
qsplot.h:202: error: ‘virtual bool QSPlot::step()’ is protected
qsaxes.cpp:879: error: within this context
qsplot.h:207: error: ‘virtual void QSPlot::end()’ is protected
qsaxes.cpp:880: error: within this context
qsplot.h:194: error: ‘virtual bool QSPlot::start()’ is protected
qsaxes.cpp:884: error: within this context
qsaxes.cpp: In member function ‘virtual void QSAxes::stop()’:
qsplot.h:207: error: ‘virtual void QSPlot::end()’ is protected
qsaxes.cpp:899: error: within this context
qsaxes.cpp: In member function ‘void QSAxes::calculate_auto_ranges()’:
qsplot.h:185: error: ‘virtual bool QSPlot::getAxisRange(QSAxis*, double&, double&)’ is protected
qsaxes.cpp:931: error: within this context
qsaxis.h:455: error: ‘virtual void QSAxis::initAxis(double, double, bool)’ is protected
qsaxes.cpp:944: error: within this context
make[3]: *** [qsaxes.o] Error 1
make[3]: Leaving directory `/home/stefano/programmi_src/kmatplot-0.4/kmatplot/widgets'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/stefano/programmi_src/kmatplot-0.4/kmatplot'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/stefano/programmi_src/kmatplot-0.4'
make: *** [all-recursive-am] Error 1

 Infine quando vado a fare make ottengo queste strane righe!
]zac[
l'opzione --enable-mt non c'entra niente con il tipo di qt con il supporto a
mt (il fatto che ci sia la cosa X non vuol dire che un programma deve
usarla per forza).
Prova a rifare tutto senza quella opzione.
Se non va ancora:
- A intuito è una versione che fa riferimento a librerie qt vecchie, o chi
ha fatto il programma ha scritto una versione aggiornata o ha scritto come
aggirare il problema o mi sembra una situazione senza speranza.
- Forse installando delle liberiere qt vecchie (vedi quello che richiede il
programma).


Sono richieste le QT3, io le ho installate ma alcuni file non li ho,
tipo libQT.so.3, tra i pacchetto non ho il libQT3-dev, non so piů che
fare, male che va ci rinuncio, certo che queste dipendenze sono ogni
volta un incubo!

 volta un incubo!
In verità sono richieste le 3.01, tu quale hai installato e come? In genere
le QT con le minor version mantegano la compatibilità all'indietro, *forse*
ti basta creare un link simbolico alla nuova libreria con il vecchio nome.
L'errore che ti mostra il compilatore deriva da una versione non corretta
di di QT installate (o trovate) sulla tua macchina.
In questi casi si può aggirare l'ostacolo come segue:
scarica i sorgenti di qt-3.0.1 
compila i sorgenti come richiesto dal programma, ma *non* installarle.
compila il programma indicando dove trovare queste QT appena compilate e se
è possibile compilale staticamente.
Se le hai compilate staticamente hai finito, altrimenti devi fare ancora
qualche passo.
Elimina l'export di QTDir, o meglio rimetti quello originale. Se non lo sia
meglio che riavvii.
Avvia il programma, se ti chiede una libreria hai due possibilità:
  * speri nella retrocompatibilità e crei il link simbolico di prima
  * trovi la libreria nella directory delle QT compilate e la metti tra
quelle di sistema. Comunque il primo metodo è quello più indicato.
bye

 volta un incubo!
In questo caso sono un caso molto molto particolare.
Se ti riferisce alla compilazione bisogna leggere bene le istruzioni e
sperare che chi ha fatto il programma lo tenga aggiornato (se un programma
è fermo da un anno è evidente che è probabile che ci saranno problemi).
Per l'installazione basta usare i tools che risolvono le dipendenze in
automatico, basta solo non installare pacchetti per altre distribuzioni.