Compilation en Fortran

Fermé
jojo - 19 nov. 2005 à 00:47
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 19 nov. 2005 à 04:07
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

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
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
19 nov. 2005 à 04:07
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
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.
0