Compilation en Fortran

jojo -  
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
Configuration: Kubuntu 5.10

2 réponses

  1. jojo
     
    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
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    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