PDA

View Full Version : come convivono diverse versioni di gcc


ArtX
04-03-2007, 15:05
devo compilarmi un programma ma la mia debian etch ha di default il gcc4 e la compilaine mi fa errori e si blocca.
penso siano dovuti ai sorgenti che sono abbastanza vecchi.
io ho installato sia la versione 3.3,3,4 e la 4 di default.
pero come posso dare un make facendo in modo che venga usata una diversa versione da quella di default.
mi ricordo che per qemu usavo
./configure --cc=gcc-3.3
ma il config del programma non supporta sta opzione.
qualche idea?

VICIUS
04-03-2007, 15:22
Installi i pacchetti delle varie versioni e poi usi update-alternatives per scegliere quale usare.

ciao ;)

ArtX
04-03-2007, 15:45
grazie VICIUS:ave:

ArtX
04-03-2007, 16:22
lasciando stare la compilazione che non è andata a buon fine lo stesso:muro:
proverò con uno più vetusto:D
ho configurato update-alternatives così
per il gcc-4.1

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.0 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.1

e per il 3.4

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 60 --slave /usr/bin/g++ g++ /usr/bin/g++-3.4

(una domanda, ma va ad agire solo sui link simbolici degli eseguibili in /usr/bin/ o fa altro?)
poi perchè quando faccio configure sul programma mi dà quest'errore se attivo il gcc-3.4
checking for a sed that does not truncate output... (cached)
checking for ld used by gcc... (cached) /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... (cached) yes
checking for /usr/bin/ld option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached) /usr/bin/nm -B
checking how to recognise dependent libraries... (cached) pass_all
checking for dlfcn.h... (cached) yes
checking for g++... (cached) g++
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) none
checking how to run the C++ preprocessor... gcc -E
configure: error: C++ preprocessor "gcc -E" fails sanity check
See `config.log' for more details.


poi l'errore in compilazione è questo e mi sembra dovuto al gcc se non sbaglio, ma non sono un esperto

In file included from tkStubLib.c:52:
tkIntPlatDecls.h:395: error: syntax error before '*' token
tkIntPlatDecls.h:398: error: syntax error before '*' token
tkIntPlatDecls.h:400: error: syntax error before "Colormap"
tkIntPlatDecls.h:403: error: syntax error before '*' token
tkIntPlatDecls.h:405: error: syntax error before '*' token
tkIntPlatDecls.h:405: error: `TkUnixContainerId' declared as function returning a function
tkIntPlatDecls.h:415: error: syntax error before '*' token
tkIntPlatDecls.h:417: error: syntax error before '*' token
tkIntPlatDecls.h:419: error: syntax error before '*' token
tkIntPlatDecls.h:421: error: syntax error before '*' token
tkIntPlatDecls.h:593: error: syntax error before '*' token
tkIntPlatDecls.h:594: error: syntax error before '*' token
tkIntPlatDecls.h:595: error: syntax error before "Colormap"
tkIntPlatDecls.h:596: error: syntax error before '*' token
tkIntPlatDecls.h:597: error: syntax error before '*' token
tkIntPlatDecls.h:597: error: `tkUnixContainerId' declared as function returning a function
tkIntPlatDecls.h:601: error: syntax error before '*' token
tkIntPlatDecls.h:602: error: syntax error before '*' token
tkIntPlatDecls.h:603: error: syntax error before '*' token
tkIntPlatDecls.h:604: error: syntax error before '*' token
tkStubLib.c:63: error: syntax error before '*' token
tkStubLib.c:63: warning: data definition has no type or storage class
tkStubLib.c:65: error: syntax error before '*' token
tkStubLib.c:65: warning: data definition has no type or storage class
tkStubLib.c: In function `Tk_InitStubs':
tkStubLib.c:113: error: request for member `hooks' in something not a structure or union
tkStubLib.c:114: error: request for member `hooks' in something not a structure or union
tkStubLib.c:115: error: request for member `hooks' in something not a structure or union
tkStubLib.c:116: error: request for member `hooks' in something not a structure or union
{standard input}: Assembler messages:
{standard input}:2065: Error: symbol `nextPtr' is already defined
{standard input}:2071: Error: symbol `name' is already defined
{standard input}:2676: Error: symbol `nextPtr' is already defined
{standard input}:2706: Error: symbol `parentPtr' is already defined
{standard input}:2712: Error: symbol `nextPtr' is already defined
make[4]: *** [tkStubLib.lo] Error 1
make[4]: Leaving directory `/home/artx/sources/brlcad-7.8.4/src/other/libtk/generic'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/artx/sources/brlcad-7.8.4/src/other/libtk'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/artx/sources/brlcad-7.8.4/src/other'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/artx/sources/brlcad-7.8.4/src'
make: *** [all-recursive] Error 1


non ditemi di usare i binari però:D
:help:

ArtX
05-03-2007, 19:34
nessuno:help:

ArtX
18-03-2007, 14:46
nessuno, non mollo finchè non ce la farò:D
VICIUS aiutami tu:cry: