Problema Fortran


macworld
 Share

Recommended Posts

Dunque: non ho capito benissimo, ti dico come ho rozzamente operato. Ho cancellato tutti i file oggetto *.o nelle cartella LIB. Ho ridato il comando make. Lui inizia a ricreare tutti i file *.o, tuttavia alla fine scrive dei messaggi "error" ed il file eseguibile non viene creato.

ti giro di seguito cosa stampa su terminale:

REBUILDING PROGRAM

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/airfoil.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/integrals.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/velcp.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/util.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/matry.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/math1.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/print.f

cc -c -O -I../INCLUDE ../SOURCES/memory.c

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/forzexzthub.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/newak.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/gnuview.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/cminv.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/math2.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/dminv.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/Fourier_mat.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/force_struct.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/linearized.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/forward_mat.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/stationary.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/z_force.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/coeff_forze.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/coeff_momenti.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES_HB/root_integral_moments.f

ar -vru libbem.a airfoil.o integrals.o velcp.o util.o matry.o math1.o print.o memory.o forzexzthub.o newak.o gnuview.o cminv.o math2.o dminv.o Fourier_mat.o force_struct.o linearized.o forward_mat.o stationary.o z_force.o coeff_forze.o coeff_momenti.o root_integral_moments.o

ar: creating archive libbem.a

a - airfoil.o

a - integrals.o

a - velcp.o

a - util.o

a - matry.o

a - math1.o

a - print.o

a - memory.o

a - forzexzthub.o

a - newak.o

a - gnuview.o

a - cminv.o

a - math2.o

a - dminv.o

a - Fourier_mat.o

a - force_struct.o

a - linearized.o

a - forward_mat.o

a - stationary.o

a - z_force.o

a - coeff_forze.o

a - coeff_momenti.o

a - root_integral_moments.o

ranlib: archive member: libbem.a(memory.o) cputype (7) does not match previous archive members cputype (18) (all members must match)

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/geo_rot.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/mode.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/coef.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/tdsl_ff.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/struct_hb.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/strcoef.f

g77 -c -O -fno-automatic -w -I../INCLUDE ../SOURCES/main.f

g77 -p -o ../RUN/aermod_ff_fw main.o geo_rot.o mode.o coef.o tdsl_ff.o struct_hb.o strcoef.o -L. -lbem -lm

/usr/bin/ld: archive: ./libbem.a has no table of contents, add one with ranlib(1) (can't load from it)

collect2: ld returned 1 exit status

make[1]: *** [../RUN/aermod_ff_fw] Error 1

Make: *** [all] Error 2

Come vedi in fondo stampa un paio di messaggi di Errore. Il file che scrive nella pernultima riga "aermod_ff_fw" è l'eseguibile che dovrebbe creare.

Link to comment
Share on other sites

/usr/bin/ld: archive: ./libbem.a has no table of contents, add one with ranlib(1) (can't load from it)

collect2: ld returned 1 exit status

make[1]: *** [../RUN/aermod_ff_fw] Error 1

Make: *** [all] Error 2

Come vedi in fondo stampa un paio di messaggi di Errore. Il file che scrive nella pernultima riga "aermod_ff_fw" è l'eseguibile che dovrebbe creare.

Allora, hai fatto bene. Tuttavia, non so bene come risolvere quest'ultimo problema. La compilazione sembra andata abbastanza bene, ma poi c'è un problema in fase di link... Bisognerebbe analizzare un po' più a fondo la questione, ma io non posso tanto aiutarti :(

Link to comment
Share on other sites

A naso, l'errore:

/usr/bin/ld: archive: ./libbem.a has no table of contents, add one with ranlib(1) (can't load from it)

sembra nascere nella fase di linking:

g77 -p -o ../RUN/aermod_ff_fw main.o geo_rot.o mode.o coef.o tdsl_ff.o struct_hb.o strcoef.o -L. -lbem -lm

in cui si chiede di linkare la "libreria" libbem che però non trova.

Prova anche a verificare se riesci a compilare ed eseguire un semplice "Hello world".

Ho scritto "a naso" perché non ho mai programmato in fortran, ma ho esperienza in altri linguaggi..

;)

Link to comment
Share on other sites

Allora, hai fatto bene. Tuttavia, non so bene come risolvere quest'ultimo problema. La compilazione sembra andata abbastanza bene, ma poi c'è un problema in fase di link... Bisognerebbe analizzare un po' più a fondo la questione, ma io non posso tanto aiutarti :(

Ti ringrazio comunque. Come mi dice MacApp forse mi manca un libreria. Vedo di rimediare.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share