|
|||||||
|
|
|
![]() |
|
|
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: 3010
|
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 01: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: 3010
|
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 16: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: 19:42.





















