Compilation en Fortran
jojo
-
jisisv Messages postés 3678 Statut Modérateur -
jisisv Messages postés 3678 Statut Modérateur -
Bonjour,
Mon probleme est le suivant : je suis sous kubuntu 5.10 et je veux pouvoir faire du fortran 77. Avec adept, j ai donc installé les packages g77, g77-3.4, g77-3.4-doc, g77-doc gfortran gfortran-4.0, libg2c0, libg2c0-dev, libgfortran0, libgfortran0-dev (il y en a certainement plein qui ne servent a rien, mais il en manque aussi peut etre plein, mais en fait, je sais pas).
Quand je fais un programme fortran, j ouvre une console, je me mets sous le meme repertoire que mon fichier test.f et je tape : g77 test.f -o essai et il me repond :
/usr/bin/ld: crt1.o: pas de fichier tel : Aucun fichier ou repertoire de ce type
collect2: ld a retourné 1 code d'état d'exécution
et il n y a aucun fichier executable créé (en tout cas pas dans le dossier où je suis et si il y a un a.out créé quelque part, je ne sais pas où c est). Par contre mon programme a l air correct parce que si je rajoute une faute expres, il le detecte.
alors je ne sais pas du tout ce que je dois faire. D ailleur si quelqu un a des renseignements sur ce que sont crt1.o, collect2 et ld, je suis preneur.
Aidez moi s il vous plait
Merci d avance
Joel
Mon probleme est le suivant : je suis sous kubuntu 5.10 et je veux pouvoir faire du fortran 77. Avec adept, j ai donc installé les packages g77, g77-3.4, g77-3.4-doc, g77-doc gfortran gfortran-4.0, libg2c0, libg2c0-dev, libgfortran0, libgfortran0-dev (il y en a certainement plein qui ne servent a rien, mais il en manque aussi peut etre plein, mais en fait, je sais pas).
Quand je fais un programme fortran, j ouvre une console, je me mets sous le meme repertoire que mon fichier test.f et je tape : g77 test.f -o essai et il me repond :
/usr/bin/ld: crt1.o: pas de fichier tel : Aucun fichier ou repertoire de ce type
collect2: ld a retourné 1 code d'état d'exécution
et il n y a aucun fichier executable créé (en tout cas pas dans le dossier où je suis et si il y a un a.out créé quelque part, je ne sais pas où c est). Par contre mon programme a l air correct parce que si je rajoute une faute expres, il le detecte.
alors je ne sais pas du tout ce que je dois faire. D ailleur si quelqu un a des renseignements sur ce que sont crt1.o, collect2 et ld, je suis preneur.
Aidez moi s il vous plait
Merci d avance
Joel
2 réponses
Bon en fait j ai trouvé mon erreur
il fallait simplement installer le package build-essential...
Cela dit, je suis toujours preneur si vous avez des renseignements sur mes autres questions, ça m interesse toujours.
Merci
Jojo
il fallait simplement installer le package build-essential...
Cela dit, je suis toujours preneur si vous avez des renseignements sur mes autres questions, ça m interesse toujours.
Merci
Jojo
ld n'est rien d'autre que le linker.
Sur ma Debian etch
johand@horus:~$ locate crt1.o
/usr/i586-mingw32msvc/lib/crt1.o
/usr/i586-mingw32msvc/lib/dllcrt1.o
/usr/i586-mingw32msvc/lib/gcrt1.o
/usr/lib/crt1.o
/usr/lib/gcrt1.o
/usr/lib/Mcrt1.o
/usr/lib/Scrt1.o
johand@horus:~$ dpkg -S /usr/lib/crt1.o
libc6-dev: /usr/lib/crt1.o
Il faut peut-être installer libc6-dev ...
Un petit test (j'ai vite trouvé du code Fortran sur le net, cela fait 20 ans que je n'ai plus fait de FORTRAN :) http://www.lahey.com/float.htm
Cela ne dit pas ce que le fichier objet crt1.o vient faire ici dedans.
Je vais chercher plus avant.
Sur ma Debian etch
johand@horus:~$ locate crt1.o
/usr/i586-mingw32msvc/lib/crt1.o
/usr/i586-mingw32msvc/lib/dllcrt1.o
/usr/i586-mingw32msvc/lib/gcrt1.o
/usr/lib/crt1.o
/usr/lib/gcrt1.o
/usr/lib/Mcrt1.o
/usr/lib/Scrt1.o
johand@horus:~$ dpkg -S /usr/lib/crt1.o
libc6-dev: /usr/lib/crt1.o
Il faut peut-être installer libc6-dev ...
Un petit test (j'ai vite trouvé du code Fortran sur le net, cela fait 20 ans que je n'ai plus fait de FORTRAN :) http://www.lahey.com/float.htm
johand@horus:~$ cat test.f REAL A, Y DATA Y /1000.2/ ! About 7 digits of precision in Y A = Y - 1000.0 ! About 3 significant digits in result PRINT *, A ! Prints 0.200012 END johand@horus:~$ g77 -o test test.f johand@horus:~$ ./test 0.200012207 johand@horus:~$ ldd test linux-gate.so.1 => (0xffffe000) libg2c.so.0 => /usr/lib/libg2c.so.0 (0x4002b000) libm.so.6 => /lib/tls/libm.so.6 (0x40053000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40079000) libc.so.6 => /lib/tls/libc.so.6 (0x40084000) /lib/ld-linux.so.2 (0x40000000)
Cela ne dit pas ce que le fichier objet crt1.o vient faire ici dedans.
Je vais chercher plus avant.