PDA

View Full Version : Problemi di Compilazione Programma


kaka28
23-01-2007, 11:53
ciao a tutti,

premesso che mi sto cimentando ora con Linux e col mondo della programmazione quindi vi kiedo scusa se non sarņ precisissimo nel descrivermi il mio problema....cercherņ di farlo al meglio...cominciamo.....

...posseggo un progetto che č un simulatore realizzato in c++, questo simulatore č un generatore di sorgente di traffico, che č stato realizzato suppongo con un compilatore vecchio rispetto a quello che ho io (g++ 4.1.2) e di conseguenza (secondo quello che ho potuto leggere in giro in questi giorni sembra sia un problema di versioni) quando vado a compilare mi spara fuori una serie di errori incomprensibili.....vi posto qui tutta la procedura eseguita per compilare coi relativi errori....
....cominciamo....


1)questi sono i file da compilare:
elgordo@StArDuSt:~/Tesi/Simulatori Sorgenti/Gabriella_Token_Bucket_mod1_con_Sorgente_Gaussiana_FFT$ ls
bucket.hpp Doxyfile global.hpp LRD.kdevelop.filelist Mavar.cpp script_Hin_Hout.sh stat.cpp
calendar.cpp event.cpp H055 LRD.kdevelop.pcs Mavar.h script_LBAP.sh stat.hpp
calendar.hpp event.hpp Hin_Hout LRD.kdevses packet.hpp script_varianza.sh test_varianza.m
coda.cpp Gen_Rnd.cpp LRD main.cpp script_Dati_Finali.sh Sorg_Paxson.cpp
coda.hpp Gen_Rnd.h LRD.kdevelop Makefile script_GraphTrid.sh Sorg_Paxson.hpp

2)compilo il programma:
elgordo@StArDuSt:~/Tesi/Simulatori Sorgenti/Gabriella_Token_Bucket_mod1_con_Sorgente_Gaussiana_FFT$ make
g++ -g -Wno-deprecated -c -o main.o main.cpp
g++ -g -Wno-deprecated -c -o calendar.o calendar.cpp
g++ -g -Wno-deprecated -c -o stat.o stat.cpp
g++ -g -Wno-deprecated -c -o coda.o coda.cpp
g++ -g -Wno-deprecated -c -o event.o event.cpp
g++ -g -Wno-deprecated -c -o Sorg_Paxson.o Sorg_Paxson.cpp
g++ -g -Wno-deprecated -c -o Mavar.o Mavar.cpp
g++ -g -Wno-deprecated -c -o Gen_Rnd.o Gen_Rnd.cpp
Loading LRD ... done


3)lancio l'eseguibile ./LRD per generare la sorgenteche mi interessa:
elgordo@StArDuSt:~/Tesi/Simulatori Sorgenti/Gabriella_Token_Bucket_mod1_con_Sorgente_Gaussiana_FFT$ ./LRD
(....sequenza di opzioni che non sto qui ad elencare per la generazione della sorgente)
appena inserito l'ultimo parametro e dato invio (dovrebbe essere eseguito il programma) mi spara fuori tutti sti errori...

*** glibc detected *** ./LRD: free(): invalid next size (fast): 0x080574a0 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7d048bd]
/lib/tls/i686/cmov/libc.so.6(__libc_free+0x84)[0xb7d04a44]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7eb4fc1]
./LRD[0x804ca3e]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc)[0xb7cb38cc]
./LRD(__gxx_personality_v0+0x81)[0x80491e1]
======= Memory map: ========
08048000-08056000 r-xp 00000000 08:05 1180073 /home/elgordo/Tesi/Simulatori Sorgenti/Gabriella_Token_Bucket_mod1_con_Sorgente_Gaussiana_FFT/LRD
08056000-08057000 rw-p 0000e000 08:05 1180073 /home/elgordo/Tesi/Simulatori Sorgenti/Gabriella_Token_Bucket_mod1_con_Sorgente_Gaussiana_FFT/LRD
08057000-08078000 rw-p 08057000 00:00 0 [heap]
b7b00000-b7b21000 rw-p b7b00000 00:00 0
b7b21000-b7c00000 ---p b7b21000 00:00 0
b7c9d000-b7c9e000 rw-p b7c9d000 00:00 0
b7c9e000-b7dcb000 r-xp 00000000 08:05 1557156 /lib/tls/i686/cmov/libc-2.4.so
b7dcb000-b7dcd000 r--p 0012c000 08:05 1557156 /lib/tls/i686/cmov/libc-2.4.so
b7dcd000-b7dcf000 rw-p 0012e000 08:05 1557156 /lib/tls/i686/cmov/libc-2.4.so
b7dcf000-b7dd3000 rw-p b7dcf000 00:00 0
b7dd3000-b7ddd000 r-xp 00000000 08:05 1523734 /lib/libgcc_s.so.1
b7ddd000-b7dde000 rw-p 00009000 08:05 1523734 /lib/libgcc_s.so.1
b7dde000-b7e02000 r-xp 00000000 08:05 1557160 /lib/tls/i686/cmov/libm-2.4.so
b7e02000-b7e04000 rw-p 00023000 08:05 1557160 /lib/tls/i686/cmov/libm-2.4.so
b7e04000-b7ed8000 r-xp 00000000 08:05 2146956 /usr/lib/libstdc++.so.6.0.8
b7ed8000-b7edb000 r--p 000d4000 08:05 2146956 /usr/lib/libstdc++.so.6.0.8
b7edb000-b7edd000 rw-p 000d7000 08:05 2146956 /usr/lib/libstdc++.so.6.0.8
b7edd000-b7ee3000 rw-p b7edd000 00:00 0
b7eef000-b7ef3000 rw-p b7eef000 00:00 0
b7ef3000-b7f0c000 r-xp 00000000 08:05 1523728 /lib/ld-2.4.so
b7f0c000-b7f0e000 rw-p 00018000 08:05 1523728 /lib/ld-2.4.so
bf7f7000-bf80c000 rw-p bf7f7000 00:00 0 [stack]
ffffe000-fffff000 ---p 00000000 00:00 0 [vdso]
Aborted


e questo č tutto......premetto anche che il codice č perfettamente funzionante...il problema insorge sul mio pc.....per favore se potete aiutatemi...GRAZIE!!!!!

ilsensine
23-01-2007, 12:26
Il problema non č di compilazione, ma di esecuzione. Forse nel programma c'č un buffer overflow o un doppio free che non ti viene rilevato su altri sistemi in quanto puņ darsi che le libc di quei sistemi non hanno il controllo delle allocazioni abilitato (e solo per puro caso non si verificano crash).

Potrebbe anche essere (sparo a caso) un puntatore non inizializzato, che con vecchi gcc magari risultava fortuitamente posto a NULL.