Conversion de commandes Linux pour Windows

Fermé
Arnaud - 14 févr. 2015 à 01:13
Arnaud122 Messages postés 1 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 14 février 2015 - 14 févr. 2015 à 15:54
Bonjour à tous, et merci de prendre le temps de lire mon message.

Mon problème est le suivant : j'ai reçu le code d'un programme de modélisation atmosphérique pour des raisons professionnelles, avec quelques instructions, qui je pense ont été écrites pour Linux, or je suis sous Windows 7. Je dois compiler ce code sur ma machine.

J'ai donc un dossier "Main", rempli de sous-dossiers et de fichiers (de type inconnu, pourquoi ?). Ma première instruction est la suivante :
clean: Run by typing './clean -a'

Sur la console windows, j'ai donc ouvert le bon répertoire, jusqu'à voir
D:\...\Main>

J'ai essayé de taper ./clean -a mais cela ne donne rien, la console m'affiche " '.' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes."

Quelqu'un aurait une idée ?

Merci beaucoup
A voir également:

2 réponses

georges97 Messages postés 12275 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 30 septembre 2024 2 358
14 févr. 2015 à 08:50
Bonjour,

En attendant les réponses de spécialistes, vous ne pourrez pas, à ma connaissance, faire tourner un programme sous Linux dans l'environnement Windows ou le compiler pour le rendre compatible. D'une part parce qu'il vous faudrait acquérir le compilateur, de l'autre parce qu'il faudrait le réécrire complètement.

Par ailleurs, le programme a été compilé justement pour une distribution précise de Linux, qui n'est que le noyau. Il faudrait donc que ses auteurs vous indiquent quelle distribution ils utilisent (Ubuntu, Fedora, Mint, Suse, etc)

Vous pourrez donc installer (ou même la lancer sans installation, en live-dvd) cette distribution (gratuite) et ouvrir le programme.

Bien sûr, cela demandera l'apprentissage de l'environnement linux, mais cela sera plus facile que de vouloir transcrire un programme, même en en ayant les sources.

Par exemple l'instruction ./clean -a consiste à lancer l'exécution (instruction ./ ) d'un programme clean inclus dans les bibliothèques de la distribution linux avec transmission d'un paramètre -a

Ce programme clean n'existe pas sous windows, pas plus que la fonction ./ qui est propre à Linux.

D'où le message d'erreur que vous recevez. Et il en sera de même pour tout votre programme.

Une fois que vous aurez pu faire fonctionner le programme sous Linux, vous pourrez l'utiliser dans cet environnement, en mode virtualisé (virtualbox ou vmware), c'est à dire sans relancer l'ordinateur.

Pour récupérer des résultats sous Windows, il y a des possibilités de générer des fichiers compatibles dans les deux environnements, à condition que le format utilisé le soit, autrement, il faudra trouver des convertisseurs.

ps: si vous aviez à l'inverse un programme windows à faire tourner sous linux, ce serait dans un certain nombre de cas possible avec de utilitaires linux comme wine.

Cordialement
0
Bonjour Georges97,
Merci énormément pour votre réponse, très patiente et complète. Mon espoir de faire tourner ce code sous Windows venait de ces deux phrases dans les instructions qui accompagnent l'utilisation du programme :

"My plan is to have the code set up for you on our local JPL cluster so that you can start right away, but it would, of course, be helpful if you were able to get it compiled and running on a local machine of yours, just so you can become familiar with it. Doing so will require a few things, so can you let me know if you have or can get access to the following: some form of Fortran and C compiler (we use the Intel compiler, but I think other popular ones will work as well) and the NetCDF libraries?"

Et plus loin :

"Run by typing './configure mars' This script will examine your architecture and give you a table of options for different processors and different compiler types that it determines you have available. Find the one you want and enter that number. For example, if you're running on a linux machine with the Intel (ifort) compiler, you might choose the option, 'Linux x86_64 i486 i586 i686, fort compiler with icc (serial)'."

En disant "par exemple, si vous êtes sous Linux", je pensais que le programme pouvait fonctionner sous différents OS. Pensez-vous que le fait que les fichiers que j'ai reçus soient de type "inconnu" et la nature des instructions qui me sont données veulent dire que je ne pourrais faire marcher ce code qu'en installant Linux, comme vous me l'avez judicieusement conseillé ?

Merci beaucoup pour votre temps

Arnaud
0
georges97 Messages postés 12275 Date d'inscription lundi 31 janvier 2011 Statut Contributeur Dernière intervention 30 septembre 2024 2 358
14 févr. 2015 à 13:34
Si je n'interprète pas mal les éléments concernant les mise en oeuvre du programme, il pourrait tourner à partir du serveur. La recherche (pour essayer de comprendre la nature du programme) sur JPL me conduit aux labos de la NASA.

Il est indiqué que vous pourriez l'installer localement après compilation en Fortran (applications scientifiques) ou avec un compilateur C. Dans les deux cas, vous devriez apprendre à les utiliser, ce qui n'est pas "banal".

Par ailleurs, l'installation de programmes dans un environnement Linux implique que vous utilisiez des librairies et de dépendances (librairies comparables aux dll sous windows), d'où les questions qui vous sont posées sur la gestion des NetCDF, dérivé d'un format de données utilisé par la NASA.

Du paragraphe suivant, je comprends plutôt que l'on pourrait utiliser ce programme sur une architecture Mac ou ARM. En clair rien ne dit que le programme existe sous Windows, pas plus que le contraire d'ailleurs. Seul vos interlocuteurs pourraient vous le préciser. Il se peut qu'ils aient fait un choix budgétaire, vu la gratuité des programmes sous Linux.

Les options Linux x86_64 i486 i586 i686 concernent les familles de processeurs Intel, notamment 32 bits et 64 bits, pour lesquels peuvent exister des versions compilés distinctes. C'est à partir du fichier source (disons un fichier texte avec un formatage spécifique au langage de programmation utilisé) que vous pourriez compiler une version, sans doute pour Linux, mais en aucun cas multi-OS.

Il se peut aussi qu'ils soient sous Unix, d'où leur question "si vous êtes sous Linux...

Le message "type inconnu" veut dire que windows ne reconnait pas, et donc ne gère pas les fichiers linux, mais il en serait de même si vous vouliez installer et utiliser Microsoft Office pour Mac sur un PC, alors qu'il s'agit du même éditeur, mais pas des mêmes fichiers exécutables.

Si ce n'est pas indiscret, indiquez moi sur quel site vos correspondants diffusent leurs logiciels ou dossiers et je regarderai s'il existe des versions utilisables sous différents OS.

A supposer que vous puissiez exécuter le script ./configure mars sous Windows, il indiquerait que votre environnement n'est pas reconnu.

Je pense que dans votre entourage, vous trouverez quelqu'un utilisant Linux et qui pourra tester vos programmes, mais comme je le disais, il se peut qu'ils réclament une famille de distributions Linux (il y en à quelques centaines, qui sont des versions de versions, toutes personnalisées.

La première chose à savoir, c'est sous quel environnement Linux tournent ces programmes. D'ailleurs, puisque d'emblée, ils vous parlent de les compiler, je me pose la question de savoir s'ils ne sont pas sous Unix. Dans ce cas, ils ne fonctionneraient sous aucun Linux sans compilation, à condition qu'ils vous envoient les sources, ce qui se fait en milieu universitaire, moins dans l'industrie.

Si par chance, ils sont sous Linux, vous pourrez les utiliser sans installation, à savoir sans toucher à l'architecture actuelle de votre PC, qui est peut-être verrouillée par l'administrateur réseau de votre entreprise. Mais vous pouvez faire les tests sur votre PC perso.

Ensuite, s'il s'agit d'exploiter les données, certaines d'entre elles sont peut-être lisibles sous Windows (format CSV ou autre format texte, voir le suffixe du fichier de données). C'est mieux que rien pour commencer à traiter des mesure sous Excel par exemple.

Enfin, sans "botter en touche", certains intervenants, sur ce site (fiddy, gravgun, whismeril, ikwedu, mamiemando entre autres) sont bien plus compétents que moi sur le sujet de Linux et pourraient, après que vous vous soyez inscrit pour communiquer en mp le cas échéant vous guider utilement quitte à infirmer mes conseils de semi_affranchi.

Mais je reste à votre écoute

Georges
0
Arnaud122 Messages postés 1 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 14 février 2015
14 févr. 2015 à 15:54
Merci beaucoup pour votre réponse à nouveau très précise. Je me suis créé un compte, je vais essayer d'obtenir plus d'informations de mes collègues puis je reviendrai vers vous sur ce fil ou en mp.

Merci

Arnaud
0