Mingw-64+mysys2-windows 7: problème de compilation

Fermé
getudir78 Messages postés 29 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 2 septembre 2020 - Modifié le 2 juil. 2018 à 10:02
MechaStreisand Messages postés 162 Date d'inscription jeudi 19 avril 2018 Statut Membre Dernière intervention 14 août 2018 - 3 juil. 2018 à 14:32
Bonjour,

Souhaitant utiliser les compilateurs GNU en commandes lignes dans une console, j’ai procédé par étapes comme suit ; le résultat est que ça ne compile pas.

N’ayant jamais eu un cours approfondi sur UNIX ou LINUX, mes connaissances sur la mise en œuvre des commandes correspondantes sont plus que fragmentaires. Si vous voyez ce qui « cloche » dans ma démarche, je vous remercie par avance pour l’aide que vous voudrez bien m’apporter.

Cordialement vôtre,

Getudir78



Mise en œuvre des moyens choisis :

Mise en place des outils d’émulation UNIX – Modification de la variable d’environnement PATH – Essais de compilations

1 – Mise en place des deux outils d’émulation d’UNIX : mingw-w64 et mysys2

1.1 - Téléchargement et installation de mingw-w64 :

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

On télécharge alors mingw-w64-install.exe (938 Ko)

Pour son exécution, les choix suivants ont été validés :
Settings :
Version : 8.1.0
Architecture : x86_64
Thread : posix
Exception : seh
Build revision : 0


mingw64 est installé dans C:\Users\Mon_Nom\mingw64\bin

Les répertoires que j’ai cru bon de retenir pour la variable d’environnement PATH sont :

C:\Users\MON_NOM\mingw64\bin qui contient les compilateurs 
C:\Users\MON_NOM\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0 qui contient des fichiers compressés .a ???
C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\bin qui contient des commandes .exe
C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\lib qui contient des fichiers .o et des .a ???
C:\Users\MON_NOM\mingw64\opt\bin qui contient des commandes et des dll


Ces choix méritent d’être analysés par des personnes plus au fait que moi des subtilités de mingw64.

1.2 – Téléchargement et installation de MYSYS2 (bash shell)
https://www.msys2.org/
Choix : x86_64
On télécharge alors msys2-x86_64-20180531.exe (77295K0)
Il est exécuté et le résultat est dans le répertoire C:\MYSYS2_64 qui contient de nombreux répertoires vides qui semblent correspondre à des répertoires de mingw64
C:\MYSYS2_64\usr\bin contient l’émulation des commandes UNIX retenues ; en particulier la console mintty.exe.
Pour la variable d’environnement PATH, j’ai retenu :
C:\MYSYS2_64\usr\bin

2 _ Insertion des répertoires retenus dans la variable d’environnement PATH.

C:\Program Files\Java\jdk1.8.0_91\bin;C:\Program Files\Java\jre1.8.0_91\bin; C:\MYSYS2_64\usr\bin; C:\Users\MON_NOM\mingw64\bin;C:\Users\MON_NOM\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0 ; C:\Users\MON_NOM\mingw64\x86_64-w64mingw32\bin ;C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\ ;C:\Users\MON_NOM\mingw64\opt\bin;C:\Git\bin\;C:\Git\usr\bin\;C:\gedit\bin;C:\gedit_64\bin;C:\gedit\bin;C:\gedit_64\bin;C:\Users\MON_NOM\AppData\Roaming\Dashlane\4.1.1.10306\bin\Firefox_Extension\{442718d9-475e-452a-b3e1-fb1ee16b8e9f}\components8e9f}\components;C:\Users\MON_NOM\Anaconda3\;C:\Users\MON_NOM\Anaconda3\Scripts\;C:\Mes_Programmes\eclipse;


3 – COMPILATION NON-ABOUTIES

Pour ces exemples très simples, les fichiers de compilation ont été recopiés dans le répertoire de travail.

1 – vérification de l’existence de gfortran.exe et du fichier Langage_F95_salutations.f95 dans le répertoire de travail

$ ls  -l -t gfortran.exe
-rwxr-xr-x 1 MON_NOM None 1957376 12 mai 08:10 gfortran.exe

$ ls -l -t Langage_F95_salutations.f95
-rw-r--r-- 1 MON_NOM None 146 26 juin 22:51 Langage_F95_salutations.f95


2 - 1er essai de compilation
$ gfortran.exe  Langage_F95_salutations.f95
bash: gfortran.exe : commande introuvable


3 – 2ème essai de compilation
$ ./gfortran.exe  Langage_F95_salutations.f95
C:/Compilation_Execution/gfortran.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory


Remarque : La console ne semble pas avoir un accès direct à la variable d’environnement PATH définie précédemment.

Comment y remédier ?


Est-ce suffisant pour expliquer que la compilation n’aboutit pas ?

Je retrouve les mêmes problèmes avec gcc.exe et le fichier équivalent Langage_C_salutations.c

Fortran :

Program Salut
implicit none
print *, "Le Fortran 90 vous salue bien !"
print *, "Patientez un peu !"
call sleep(10)
End Program Salut


C:

#include <stdio.h>
#include <unistd.h>

int main() {
 printf("Le Langage C vous salue bien !\n");
 printf("Patientez un peu !");
 sleep(5);
 return 0;
}
A voir également:

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 2 juil. 2018 à 10:05
Bonjour,

Il faudrait nous dire ton objectif final. J'ai l'impression que ton but est d'installer gfortran sachant que tu es sous windows. Si c'est le cas tu peux suivre cette vidéo :
https://www.youtube.com/watch?v=5vCaIrfeEaQ

En tout cas à ton stade,
gfortran.exe
est dans un répertoire qui n'est pas dans ton
PATH
sinon
bash
le trouverait. Tu peux appeler
gfortran.exe
avec son chemin absolu pour y remédier, ou bien corriger ton
PATH
.

Note que tu peux aussi installer gfortran "à la linux" (e.g.
sudo apt-get install gfortran
sous ubuntu) en te débrouillant pour avoir un environnement linux sur ton ordinateur :
- soit tu utilises wsl (windows subsystem linux) ;
- soit tu passes par une machine virtuelle, par exemple à l'aide de virtualbox ;
- soit tu installes cygwin ;
- soit tu installes carrément un linux en dual boot (e.g. ubuntu).

Bonne chance
0
MechaStreisand Messages postés 162 Date d'inscription jeudi 19 avril 2018 Statut Membre Dernière intervention 14 août 2018 323
Modifié le 3 juil. 2018 à 14:32
Salut,
install Babun, ça sera plus rapide : http://babun.github.io/
0