|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2004
Città: /media/ValSusa
Messaggi: 3607
|
Errore di compilazione
Sto tentando di compilare questo gioco: http://sourceforge.net/projects/squares/
Purtroppo ho problemi con le qt nella compilazione. Ora il file config.log mi da come errore (copio solo l'ultima parte) Codice:
configure:4174: checking size of int configure:4193: gcc -o conftest -O2 conftest.c 1>&5 configure: In function 'main': configure:4187: warning: incompatible implicit declaration of built-in function 'exit' configure:4212: checking size of long configure:4231: gcc -o conftest -O2 conftest.c 1>&5 configure: In function 'main': configure:4225: warning: incompatible implicit declaration of built-in function 'exit' configure:4250: checking size of char * configure:4269: gcc -o conftest -O2 conftest.c 1>&5 configure: In function 'main': configure:4263: warning: incompatible implicit declaration of built-in function 'exit' configure:4288: checking size of char configure:4307: gcc -o conftest -O2 conftest.c 1>&5 configure: In function 'main': configure:4301: warning: incompatible implicit declaration of built-in function 'exit' configure:4328: checking for dlopen in -ldl configure:4372: checking for shl_unload in -ldld configure:4391: gcc -o conftest -O2 conftest.c -ldld 1>&5 /usr/bin/ld: cannot find -ldld collect2: ld returned 1 exit status configure: failed program was: #line 4380 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shl_unload(); int main() { shl_unload() ; return 0; } configure:4420: checking for extra includes configure:4451: checking for extra libs configure:4485: checking for libz configure:4511: gcc -o conftest -O2 conftest.c -L/usr/include/qt3/lib/ -lz -lresolv 1>&5 configure:4541: checking for X configure:4580: gcc -E conftest.c >/dev/null 2>conftest.out configure:4656: gcc -o conftest -O2 conftest.c -lXt 1>&5 configure:4830: checking for IceConnectionNumber in -lICE configure:4849: gcc -o conftest -O2 -L/usr/lib conftest.c -lICE -lresolv 1>&5 configure:4878: checking for libXext configure:4904: gcc -o conftest -O2 -L/usr/lib -L/usr/include/qt3/lib/ conftest.c -lXext -lX11 -lresolv 1>&5 configure:4931: checking for Xinerama configure:5078: checking for libpng configure:5108: gcc -o conftest -O2 -I. conftest.c -L/usr/lib -L/usr/include/qt3/lib/ -lpng -lz -lm -lX11 -lresolv 1>&5 configure:5140: checking for libjpeg6b configure:5178: gcc -o conftest -O2 -I. conftest.c -L/usr/lib -L/usr/include/qt3/lib/ -ljpeg6b -lm 1>&5 /usr/bin/ld: cannot find -ljpeg6b collect2: ld returned 1 exit status configure: failed program was: #line 5157 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ struct jpeg_decompress_struct; typedef struct jpeg_decompress_struct * j_decompress_ptr; typedef int size_t; #ifdef __cplusplus extern "C" { #endif void jpeg_CreateDecompress(j_decompress_ptr cinfo, int version, size_t structsize); #ifdef __cplusplus } #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ int main() { jpeg_CreateDecompress(0L, 0, 0); ; return 0; } configure:5201: checking for libjpeg configure:5239: gcc -o conftest -O2 -I. conftest.c -L/usr/lib -L/usr/include/qt3/lib/ -ljpeg -lm 1>&5 configure: 5279: /usr/include/jpeglib.h taking that configure:5393: checking for Qt configure: 5455: /usr/lib/qt2/include/qstyle.h configure: 5455: /usr/lib/qt2/qstyle.h configure: 5455: /usr/lib/qt/include/qstyle.h configure: 5455: /usr/lib/qt/qstyle.h configure: 5455: /usr/local/qt/include/qstyle.h configure: 5455: /usr/include/qt/qstyle.h configure: 5455: /usr/include/qstyle.h taking that tried NO tried /usr/lib/qt2/lib tried /usr/lib/qt2 tried /usr/lib/qt/lib tried /usr/lib/qt tried /usr/X11R6/lib tried /usr/lib tried /usr/local/qt/lib tried /usr/lib configure:5554: rm -rf SunWS_cache; c++ -o conftest -O2 -fno-exceptions -fno-check-new -I/usr/include -I. -LNONE -L/usr/lib -L/usr/include/qt3/lib/ conftest.C -lqt -lpng -lz -lm -ljpeg -lXext -lX11 -lSM -lICE -lresolv 1>&5 /usr/bin/ld: cannot find -lqt collect2: ld returned 1 exit status configure: failed program was: #include "confdefs.h" #include <qglobal.h> #include <qapplication.h> #include <qevent.h> #include <qstring.h> #include <qstyle.h> #include <qiconview.h> #if ! (QT_VERSION >= 222) #error 1 #endif int main() { QStringList *t = new QStringList(); QIconView iv(0); iv.setWordWrapIconText(false); QString s; s.setLatin1("Elvis is alive", 14); int magnolia = QEvent::Speech; /* new in 2.2 beta2 */ return 0; } Codice:
checking for shl_unload in -ldld... no checking for extra includes... no checking for extra libs... added checking for libz... -lz checking for X... libraries /usr/lib, headers . checking for IceConnectionNumber in -lICE... yes checking for libXext... yes checking for Xinerama... no checking for libpng... -lpng -lz -lm checking for libjpeg6b... no checking for libjpeg... -ljpeg checking for Qt... configure: error: Qt (>= Qt 2.2.2) (libraries) not found. Please check your installation! For more details about this problem, look at the end of config.log. Non capisco cosa c'è che non va. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Hai installato gli headers QT?
Se la risposta è negativa nei repository puoi trovare gli header delle Qt 3 e delle Qt 4, credo ti convenga usare le Qt 3. Installa libqt3-headers e relative (abbondanti) dipendenze e dovresti essere pronto per compilare. P.S. Potrebbero servirti anche i libqt3-compat-headers, che forniscono headers vecchi per compilare programmi scritti con le Qt 1.x e 2.x (come questo che sembra essere basato sulle Qt 2.2.2).
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) Ultima modifica di Gimli[2BV!2B] : 13-01-2008 alle 00:06. Motivo: Mi sono accorto della differenza tra i compat-headers e gli headers! |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2004
Città: /media/ValSusa
Messaggi: 3607
|
Sì. sono già installati, ma continuo ad avere quell'errore.
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
|
Se non l'hai già fatto, prova ad aggiungere anche il pacchetto libqt3-mt-dev.
Purtroppo non è esattamente quello che sembra mancare: l'errore che ricevi "/usr/bin/ld: cannot find -lqt" riguarda la mancanza di libqt3-dev ma sembra che quel pacchetto sia stato abolito tempo fa (e pensavo venisse installato qualcosa di equivalente con gli headers Qt). Ora esiste solo la sua versione multithread, libqt3-mt-dev appunto, che però andrebbe invocata durante la compilazione con -lqt-mt e non -lqt come si vede nel tuo configure, ma probabilmente funziona con entrambi i parametri...
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2004
Città: /media/ValSusa
Messaggi: 3607
|
Anche questo pacchetto è installato: libqt3-mt-dev.
Scusa ma non ho ben capito cosa significa ...andrebbe invocata durante la compilazione con -lqt-mt e non -lqt come si vede nel tuo configure, ma probabilmente funziona con entrambi i parametri... Ma alla fine può essere che ho problemi a compilarlo perchè i sorgenti sono del 2002? |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Il problema non è banale come sembra. Quel programma cerca le libqt, mentre ormai tutti usano le libqt-mt (mt=multithread). Non sapevo che ci fossero ancora in giro programmi che usano le libqt non mt. Questo vuol dire che devi trovare e installare una versione compatibile con la tua distribuzione (header di sviluppo inclusi), oppure armarti di un pò di pazienza e compilare le qt da sorgenti (disabilitando il supporto multithread).
Prova anche questo (probabilmente non funzionerà, ma provare non costa nulla): ln -s /usr/lib/libqt-mt.so /usr/lib/libqt.so
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 Ultima modifica di ilsensine : 13-01-2008 alle 15:46. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Andiamo bene. Quel coso non credo si compilerà affatto con le qt3.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Feb 2004
Città: /media/ValSusa
Messaggi: 3607
|
Ma si riuscirebbe quindi a compilare le qt2 (se si trovano ancora in giro) e poi compilare il gioco e alla fine creare un file .deb?
Oppure quando i sorgenti sono così vecchi si lascia stare? Io purtroppo non ho le competenze per metterci mano ai sorgenti ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Oh bene ti annuncio che quel coso richiede anche kde, probabilmente la versione 2.
(nb per abilitare le libqt-mt, usa ./configure --enable-mt)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2004
Città: /media/ValSusa
Messaggi: 3607
|
cioè è praticamente inutilizziabile all'atto pratico quei sorgenti. Andrebbe riscritto tutto?
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Passi per le Qt (potrebbero andare anche le 3), ma per kde la vedo dura...
Prova...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:14.