nicolabb
15-09-2008, 12:45
Ciao a tutti.
Sto trovando dei problemi nell’installazione di un programma fortran.
Premetto che è da poco che sto usando Linux (Fedora fc9) e mi servirebbe un aiuto perché sto provando da un pezzo ad installare ‘sto programma ma non ci sono ancora riuscito.
Io ho installato il compilatore fortran tramite YumEx(non mi ricordo il nome dei pacchetti…se è importante ci do un’occhiata). Ho installato sia il compilatore F77 che GFortran.
Il programma è formato da vari files .for e dal makefile (ci sono anche dei file scritti in C ma sono semplicemente delle librerie che sono usate dal programma Fortran),che posto:
opt = -O5
main: nome_m.o nome99.o nome_sub.o nome_sep.o nomemin.o nometap.o time.o cpx2165.o /usr/bin/cx21/libreria.a
f77 $(opt) -o RR nome_m.o nome99.o nome_sub.o nome_sep.o nomemin.o nometap.o time.o cpx2l65.o /usr/bin/cx21/libreria.a
nome_m.o: nome_m.for nome_com.for
f77 -c $(opt) nome_m.for
nome99.o: nome99.for nome_com.for
f77 -c $(opt) nome99.for
nome_sub.o: nome_sub.for nome_com.for
f77 -c $(opt) nome_sub.for
nome_sep.o: nome_sep.for nome_com.for
f77 -c $(opt) nome_sep.for
nomemin.o: nomemin.for
f77 -c $(opt) nomemin.for
nometap.o: nometap.for
f77 -c $(opt) nometap.for
Ho provato a lanciare il make ma mi restituisce molti errori del tipo(non li scrivo tutti perche sono errori dello stesso genere):
nome99.for: (.text+0x2c28): undefined reference to `dkp_sep__'
nome99.for: (.text+0x2c59): undefined reference to `e_dkp_sep__'
nome99.for: (.text+0x2d04): undefined reference to `sec_sep__'
nome99.for: (.text+0x2d82): undefined reference to `comb_sep__'
nome99.for: (.text+0x2dc3): undefined reference to `sd_sep__'
nome_sep.o: In function `sd_sep3_':
nome_sep.for: (.text+0xdc3): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0xfcc): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0xfe1): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x12b7): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x12e6): undefined reference to `_gfortran_second_sub'
nome_sep.o:atsp_sep.for: (.text+0x135b): more undefined references to `_gfortran_second_sub' follow
nome_sep.o: In function `sd_sep3_':
nome_sep.for: (.text+0x18d3): undefined reference to `_gfortran_st_write'
nome_sep.for: (.text+0x18eb): undefined reference to `_gfortran_transfer_character'
nome_sep.for: (.text+0x1902): undefined reference to `_gfortran_transfer_real'
nome_sep.for: (.text+0x190a): undefined reference to `_gfortran_st_write_done'
nome_sep.for: (.text+0x1928): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x19cd): undefined reference to `_gfortran_st_write'
...
Ho controllato i percorsi presenti nel make e sono ok.
Secondo voi puo' essere una serie di errori dovuti al compilatore? forse non installato correttamente , nn so...
Poi ho provato a cambiare il makefile cambiando compilatore(usando gfortran al posto di f77...anche se non so se è corretto farlo, essendo il makefile originale quello di cui sopra)
e mi restituisce quest'altra tipologia di errore(come prima, molti!):
nome99.for: (.text+0x1eea): undefined reference to `s_wsle'
nome99.for: (.text+0x1f00): undefined reference to `do_lio'
nome99.for: (.text+0x1f08): undefined reference to `e_wsle'
nome99.for: (.text+0x1f48): undefined reference to `G77_second_0'
nome99.for: (.text+0x1fcf): undefined reference to `G77_second_0'
nome99.for: (.text+0x2101): undefined reference to `s_wsle'
nome99.for: (.text+0x2117): undefined reference to `do_lio'
nome99.for: (.text+0x2132): undefined reference to `do_lio'
nome99.for: (.text+0x2148): undefined reference to `do_lio'
nome99.for: (.text+0x2150): undefined reference to `e_wsle'
nome99.for: (.text+0x227d): undefined reference to `G77_second_0'
nome99.for: (.text+0x230e): undefined reference to `G77_second_0'
nome99.for: (.text+0x2343): undefined reference to `G77_second_0'
nome99.for: (.text+0x250c): undefined reference to `s_wsfe'
nome99.for: (.text+0x2522): undefined reference to `do_fio'
nome99.for: (.text+0x2538): undefined reference to `do_fio'
nome99.for: (.text+0x2560): undefined reference to `do_fio'
nome99.for: (.text+0x2565): undefined reference to `e_wsfe'
nome99.for: (.text+0x25fd): undefined reference to `s_wsfe'
...
Vorrei sapere se qualcuno puo aiutarmi...in qualsiasi senso.
Quello che penso è che tutto cio' possa essere dovuto al compilatore, ma non saprei come risolvere.
Sapete aiutarmi? Qualsiasi aiuto/idea mi potrebbe aiutare!
Grazie mille anticipatamente!!
Nic
Sto trovando dei problemi nell’installazione di un programma fortran.
Premetto che è da poco che sto usando Linux (Fedora fc9) e mi servirebbe un aiuto perché sto provando da un pezzo ad installare ‘sto programma ma non ci sono ancora riuscito.
Io ho installato il compilatore fortran tramite YumEx(non mi ricordo il nome dei pacchetti…se è importante ci do un’occhiata). Ho installato sia il compilatore F77 che GFortran.
Il programma è formato da vari files .for e dal makefile (ci sono anche dei file scritti in C ma sono semplicemente delle librerie che sono usate dal programma Fortran),che posto:
opt = -O5
main: nome_m.o nome99.o nome_sub.o nome_sep.o nomemin.o nometap.o time.o cpx2165.o /usr/bin/cx21/libreria.a
f77 $(opt) -o RR nome_m.o nome99.o nome_sub.o nome_sep.o nomemin.o nometap.o time.o cpx2l65.o /usr/bin/cx21/libreria.a
nome_m.o: nome_m.for nome_com.for
f77 -c $(opt) nome_m.for
nome99.o: nome99.for nome_com.for
f77 -c $(opt) nome99.for
nome_sub.o: nome_sub.for nome_com.for
f77 -c $(opt) nome_sub.for
nome_sep.o: nome_sep.for nome_com.for
f77 -c $(opt) nome_sep.for
nomemin.o: nomemin.for
f77 -c $(opt) nomemin.for
nometap.o: nometap.for
f77 -c $(opt) nometap.for
Ho provato a lanciare il make ma mi restituisce molti errori del tipo(non li scrivo tutti perche sono errori dello stesso genere):
nome99.for: (.text+0x2c28): undefined reference to `dkp_sep__'
nome99.for: (.text+0x2c59): undefined reference to `e_dkp_sep__'
nome99.for: (.text+0x2d04): undefined reference to `sec_sep__'
nome99.for: (.text+0x2d82): undefined reference to `comb_sep__'
nome99.for: (.text+0x2dc3): undefined reference to `sd_sep__'
nome_sep.o: In function `sd_sep3_':
nome_sep.for: (.text+0xdc3): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0xfcc): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0xfe1): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x12b7): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x12e6): undefined reference to `_gfortran_second_sub'
nome_sep.o:atsp_sep.for: (.text+0x135b): more undefined references to `_gfortran_second_sub' follow
nome_sep.o: In function `sd_sep3_':
nome_sep.for: (.text+0x18d3): undefined reference to `_gfortran_st_write'
nome_sep.for: (.text+0x18eb): undefined reference to `_gfortran_transfer_character'
nome_sep.for: (.text+0x1902): undefined reference to `_gfortran_transfer_real'
nome_sep.for: (.text+0x190a): undefined reference to `_gfortran_st_write_done'
nome_sep.for: (.text+0x1928): undefined reference to `_gfortran_second_sub'
nome_sep.for: (.text+0x19cd): undefined reference to `_gfortran_st_write'
...
Ho controllato i percorsi presenti nel make e sono ok.
Secondo voi puo' essere una serie di errori dovuti al compilatore? forse non installato correttamente , nn so...
Poi ho provato a cambiare il makefile cambiando compilatore(usando gfortran al posto di f77...anche se non so se è corretto farlo, essendo il makefile originale quello di cui sopra)
e mi restituisce quest'altra tipologia di errore(come prima, molti!):
nome99.for: (.text+0x1eea): undefined reference to `s_wsle'
nome99.for: (.text+0x1f00): undefined reference to `do_lio'
nome99.for: (.text+0x1f08): undefined reference to `e_wsle'
nome99.for: (.text+0x1f48): undefined reference to `G77_second_0'
nome99.for: (.text+0x1fcf): undefined reference to `G77_second_0'
nome99.for: (.text+0x2101): undefined reference to `s_wsle'
nome99.for: (.text+0x2117): undefined reference to `do_lio'
nome99.for: (.text+0x2132): undefined reference to `do_lio'
nome99.for: (.text+0x2148): undefined reference to `do_lio'
nome99.for: (.text+0x2150): undefined reference to `e_wsle'
nome99.for: (.text+0x227d): undefined reference to `G77_second_0'
nome99.for: (.text+0x230e): undefined reference to `G77_second_0'
nome99.for: (.text+0x2343): undefined reference to `G77_second_0'
nome99.for: (.text+0x250c): undefined reference to `s_wsfe'
nome99.for: (.text+0x2522): undefined reference to `do_fio'
nome99.for: (.text+0x2538): undefined reference to `do_fio'
nome99.for: (.text+0x2560): undefined reference to `do_fio'
nome99.for: (.text+0x2565): undefined reference to `e_wsfe'
nome99.for: (.text+0x25fd): undefined reference to `s_wsfe'
...
Vorrei sapere se qualcuno puo aiutarmi...in qualsiasi senso.
Quello che penso è che tutto cio' possa essere dovuto al compilatore, ma non saprei come risolvere.
Sapete aiutarmi? Qualsiasi aiuto/idea mi potrebbe aiutare!
Grazie mille anticipatamente!!
Nic