Re: Problèmes avec lib UNIX sur Windows

From: Xavier Leroy (Xavier.Leroy@inria.fr)
Date: Fri Oct 01 1999 - 17:39:20 MET DST


Date: Fri, 1 Oct 1999 17:39:20 +0200
From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: yvan.godin@free.fr, caml-list@inria.fr
Subject: Re: =?iso-8859-1?Q?Problèmes_avec_lib_UNIX_sur_Windows?=
In-Reply-To: <199909210721.JAA00690@www1.free.fr>; from yvan.godin@free.fr on Tue, Sep 21, 1999 at 09:21:04AM +0200

> je souhaite utiliser la librairie Unix sous Windows98
> pour réaliser un petit programme utilisant les 'SOCKET'
> mais mes nombreuses tentatives restent sans succès.
> (voir extraits si dessous)

> ***********************************************
> Dans l'interpréteur
> ***********************************************
> D:\ocaml\lib> ocaml
> Objective Caml version 2.02
>
> # #load"unix.cma";;
> The external function `unix_error_message' is not available

Le "runtime system" standard d'OCaml ne contient pas préchargées les
fonctions C nécessaires à la bibliothèque Unix. Il faut en effet
construire un "runtime system" spécial contenant ces fonctions C.
Votre tentative suivante est exactement ce qu'il faut faire:

> ***********************************************
> Tentative de creation d'un nouveau interpréteur
> (tel que décris dans la doc)
> ***********************************************
> D:\ocaml\lib> ocamlmktop -custom -o mytop unix.cma -cclib -lunix
> Bad command or file name
> I/O error: mytop.exe: No such file or directory

... mais ocamlmktop -custom a besoin d'appeler le compilateur MSVC++
version 6 pour construire son "runtime system", et apparemment il
n'est pas installé sur votre machine (le "Bad command or file name").

> ***********************************************
> Tentative de creation d'un nouveau interpréteur
> (idem mais en supprimant la directive -custom)
> ***********************************************
> D:\ocaml\lib> ocamlmktop -o mytop unix.cma -cclib -lunix
> Error while linking unix.cma(Unix):
> The external function `unix_error_message' is not available

Là, c'est la même explication que pour la première erreur: sans option
-custom, les primitives C nécessaires à unix.cma ne sont pas
disponibles.

En résumé: la lib Unix nécessite l'option -custom, et l'option -custom
nécessite le compilateur MSVC++ version 6. Ce sont les joies de
Windows; sous Unix, vous auriez tous les outils nécessaires intégrés
d'entrée de jeu, et -custom marcherait du premier coup.

- Xavier Leroy



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:25 MET