j'essaye de compiler caml light sous debian, parce que la syntaxe
d'objective caml est trop différente et je suis obligé d'utiliser
caml-light pour le lycée ...
la compilation des deux dernieres version ( 0.75 et 0.74) pour unix
échoue : il manque un fichier unix.zi, et je sais ni d'ou il vient ni ou
le trouver ...
j'ai donc récupéré le rpm que j'ai aliennisé, puis j'ai installé le deb
ca fonctionne, mais j'ai un soucis au niveau des librairies graphiques
t'apres le contrib/ibgraph/README des sources, il faut faire un
camlc -custom [autres options, genre -i>] unix.zo graphics.zo [autres
fichiers à inclure/compiler, genre le votre ] -lgraph -lunix -lX11
ca ne fonctionnait pas, j'ai trouvé une astuce sur le net qui consiste a
copier un fichier dans les lib de caml : /usr/X11R6/lib/libX11.a copié
dans /usr/local/lib/caml-light)
a présent j'ai un autre message d'erreur :
/usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x23): In function
`error_message':
: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
/usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x10): In function
`error_message':
: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
est-ce que quelqu'un a une idée, soit pour réussir a compiler
caml-light, soit pour réussir a utiliser les librairies graphiques
merci d'avance pour votre aide
grégoire
Dis a tes profs qu'il devrait vraiment passer en ocaml,
>
> la compilation des deux dernieres version ( 0.75 et 0.74) pour unix
> échoue : il manque un fichier unix.zi, et je sais ni d'ou il vient ni ou
> le trouver ...
A priori il faut compiler soit unix.ml soit unix.mli pour l'obtenir.
Je vais essayer de compiler caml-light, mais ftp.inria.fr semble dans
les choux en ce moment, J'ai donc pus recuperer que 0.74 depuis l'un des
miroirs.
... compile ...
0.74 construit bien, sans aucun probleme, tant pour make world et pour
make bootstrap.
... compile contrib ...
Mmm, effectivement j'ai la meme erreur que toi, ...
En fait c'est une erreur durant la compilation de contrib/libunix :
$ make
cc -I../../src/runtime -O -c -o accept.o accept.c
In file included from /usr/include/sys/un.h:38,
from socketaddr.h:4,
from accept.c:8:
/usr/include/string.h:257: syntax error before '(' token
/usr/include/string.h:257: conflicting types for `memmove'
/usr/include/string.h:43: previous declaration of `memmove'
/usr/include/string.h:257: syntax error before "const"
make: *** [accept.o] Erreur 1
Mmm, la je suis un peu perdu, mais je pense qu'il doit s'agir d'un
probleme de configuration, l'un des #define de config/[sm].h qui est pas
bon ou quelque chose du genre. Tu devrait poster cela sur la caml list,
ou regarder dans les archives de la caml liste.
Amicalement,
Sven Luther
--
To UNSUBSCRIBE, email to debian-user-f...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
> On Sun, May 04, 2003 at 07:54:46PM +0200, Grégoire Cachet wrote:
>> bonjour a tous.
>>
>> j'essaye de compiler caml light sous debian, parce que la syntaxe
>> d'objective caml est trop différente et je suis obligé d'utiliser
>> caml-light pour le lycée ...
>
> Dis a tes profs qu'il devrait vraiment passer en ocaml,
oui, mais je crois que les objets, c'est un peu trop violent pour eux
malheureusement ... et puis autant passer en C++ directement, c plus utile
que du caml comme langage ...
>>
>> la compilation des deux dernieres version ( 0.75 et 0.74) pour unix
>> échoue : il manque un fichier unix.zi, et je sais ni d'ou il vient ni ou
>> le trouver ...
>
je viens de tomber sur un thread de fr.comp.lang.caml datant du 16 jan 2003
:
il faut apparement compiler d'abord libunix, mais il y a un bug ensuite qui
se résoud avec ce rapport de bug :
http://caml.inria.fr/bin/caml-bugs/Caml%20light?id=875;page=1;user=guest
merci
@+
grégoire
C'est pas une raison, rien n'oblige d'utiliser des objets en ocaml,
c'est juste possible. J'utilise ocaml depuis 96, c'etait encore caml
special light a l'epoque, et je n'ai jamais utiliser les objets.
> malheureusement ... et puis autant passer en C++ directement, c plus utile
> que du caml comme langage ...
Bof, pas convaincu, et tu ne peut pas vraiment comparer. Le changement
serait plutot entre du C ansi ou du C kernighan & ritchie.
> >>la compilation des deux dernieres version ( 0.75 et 0.74) pour unix
> >>échoue : il manque un fichier unix.zi, et je sais ni d'ou il vient ni ou
> >>le trouver ...
> >
>
> je viens de tomber sur un thread de fr.comp.lang.caml datant du 16 jan 2003
> :
>
> il faut apparement compiler d'abord libunix, mais il y a un bug ensuite qui
> se résoud avec ce rapport de bug :
>
> http://caml.inria.fr/bin/caml-bugs/Caml%20light?id=875;page=1;user=guest
Ok, je me disais bien que c'etait une solution simple.
Est-ce que cela resoud ton probleme de toplevel graphique ?
Amicalement,
Sven Luther
> oui, mais je crois que les objets, c'est un peu trop violent pour eux
> malheureusement ... et puis autant passer en C++ directement, c plus utile
> que du caml comme langage ...
Je ne veux pas lancer de troll fumeux mais s'il est vrai que OCaml est
autrement moins répandu que C++, ça n'en fait pas moins un excellent
langage: sûr, puissant et performant.
Pour t'en convaincre, je t'invite à aller voir le comparatif de Doug Bagley:
http://www.bagley.org/~doug/shootout/craps.shtml
A +
> > >>j'essaye de compiler caml light sous debian, parce que la syntaxe
> > >>d'objective caml est trop différente et je suis obligé d'utiliser
> > >>caml-light pour le lycée ...
> > >
> > >Dis a tes profs qu'il devrait vraiment passer en ocaml,
Les profs n'ont pas vraiment le choix, au programme c'est Camllight ou
Pascal. Point. Les élèves ont des épreuves sur un de ces 2 langages au
choix, c'est tout. Pascal semble être sur le point d'être abandonné (et
c'est tant mieux en ce qui me concerne)
> >
> > oui, mais je crois que les objets, c'est un peu trop violent pour eux
>
Sympa pour les profs...
> C'est pas une raison, rien n'oblige d'utiliser des objets en ocaml,
> c'est juste possible. J'utilise ocaml depuis 96, c'etait encore caml
> special light a l'epoque, et je n'ai jamais utiliser les objets.
Il y a de légères différences qui peuvent faire qu'un programme camllight
ne se compile pas en ocaml, le passage est très simple mais en attendant
l'élève n'aura pas produit un programme irréprochable.
>
> > malheureusement ... et puis autant passer en C++ directement, c plus
> > utile que du caml comme langage ...
Là on entre dans le troll typique, l'un est un langage impératif, l'autre
un fonctionnel. Ca n'a rien à voir et préférer l'un par rapport à l'autre
revient à préférer un 4x4 par rapport à une coupé sport.
>
> Bof, pas convaincu, et tu ne peut pas vraiment comparer. Le changement
> serait plutot entre du C ansi ou du C kernighan & ritchie.
Je ne suis pas sûr que de toutes façons à 40h de cours et 70h de TP
environ en 2 ans, les élèves auront les capacités de disserter sur les
subtilités des versions des langages.
François Boisson
Oui, sur, mais si le choix etait entre pascal ou ocaml, au moins ils
pourrait choisir un implementaion de caml qui n'ai pas 10 ans d'age.
> > > oui, mais je crois que les objets, c'est un peu trop violent pour eux
>
> Sympa pour les profs...
Eh, je sais de quoi je parle, j'ai enseigne en TD de caml-light en DEUG
premiere annee, et je connaissait mieux caml que le prof qui faissait le
cours magistrale. Si un jour je suis responsable de module, je ferait
passer tout le monde a ocaml.
> > C'est pas une raison, rien n'oblige d'utiliser des objets en ocaml,
> > c'est juste possible. J'utilise ocaml depuis 96, c'etait encore caml
> > special light a l'epoque, et je n'ai jamais utiliser les objets.
>
> Il y a de légères différences qui peuvent faire qu'un programme camllight
> ne se compile pas en ocaml, le passage est très simple mais en attendant
> l'élève n'aura pas produit un programme irréprochable.
Sur, et que faut-il mieux apprendre ? une syntaxe obsolete ou quelque
chose qu'il y a une chance, meme faible, de pouvoir etre utilise par la
suite. Je crois que c'est cette persistance a utiliser caml-light qui
fait penser aux etudiants que caml est un langage jouet, alors que ce
n'est pas le cas.
> > > malheureusement ... et puis autant passer en C++ directement, c plus
> > > utile que du caml comme langage ...
>
> Là on entre dans le troll typique, l'un est un langage impératif, l'autre
> un fonctionnel. Ca n'a rien à voir et préférer l'un par rapport à l'autre
> revient à préférer un 4x4 par rapport à une coupé sport.
Ca, c'est pas addresser a moi, donc ...
> > Bof, pas convaincu, et tu ne peut pas vraiment comparer. Le changement
> > serait plutot entre du C ansi ou du C kernighan & ritchie.
>
> Je ne suis pas sûr que de toutes façons à 40h de cours et 70h de TP
> environ en 2 ans, les élèves auront les capacités de disserter sur les
> subtilités des versions des langages.
J'ai enseigner le caml en deug premiere annee, le C en IUP 2 et licence
d'info et le C++ en licence de math, et je peut affirmer, que j'aurrais
mille fois preferer enseigner du ocaml en licence de math, et je pense
les etudiants aussi, surtout qu'ils avaient fait du caml en premiere
annee de deug. Ils aurrais plus progresser en tout cas.
Amicalement,
Sven Luther
> > > >Dis a tes profs qu'il devrait vraiment passer en ocaml,
>
> Les profs n'ont pas vraiment le choix, au programme c'est Camllight ou
> Pascal. Point. Les élèves ont des épreuves sur un de ces 2 langages au
> choix, c'est tout. Pascal semble être sur le point d'être abandonné (et
> c'est tant mieux en ce qui me concerne)
j'avoue moi aussi qu'entre pascal et caml, je cote pour caml, c plus
amusant comme syntaxe, meme si je prefere celle du C, mais c'est un
probleme d'habitude
ce qui me plait dans caml, c'est ce qu'on peut faire avec un simple
match ...
>
> > >
> > > oui, mais je crois que les objets, c'est un peu trop violent pour eux
> >
>
> Sympa pour les profs...
il a dit lui meme que ca le dépassait ... ;-)
>
> > C'est pas une raison, rien n'oblige d'utiliser des objets en ocaml,
> > c'est juste possible. J'utilise ocaml depuis 96, c'etait encore caml
> > special light a l'epoque, et je n'ai jamais utiliser les objets.
>
> Il y a de légères différences qui peuvent faire qu'un programme camllight
> ne se compile pas en ocaml, le passage est très simple mais en attendant
> l'élève n'aura pas produit un programme irréprochable.
>
notament au niveau de la gestion du graphisme, je devais tout modifier,
et j'en avais marre, c'est pour ca que je suis passé a caml light ...
> >
> > > malheureusement ... et puis autant passer en C++ directement, c plus
> > > utile que du caml comme langage ...
>
> Là on entre dans le troll typique, l'un est un langage impératif, l'autre
> un fonctionnel. Ca n'a rien à voir et préférer l'un par rapport à l'autre
> revient à préférer un 4x4 par rapport à une coupé sport.
>
le probleme c'est que quand on est habitué a d'autres langages et qu'on
tombe sur caml, ca fait bizarre ...
grégoire
> > Les profs n'ont pas vraiment le choix, au programme c'est Camllight ou
> > Pascal. Point. Les élèves ont des épreuves sur un de ces 2 langages au
> > choix, c'est tout. Pascal semble être sur le point d'être abandonné (et
> > c'est tant mieux en ce qui me concerne)
>
> Oui, sur, mais si le choix etait entre pascal ou ocaml, au moins ils
> pourrait choisir un implementaion de caml qui n'ai pas 10 ans d'age.
>
ca c'est un probleme récurrent, et il n'y a pas que caml qui le pose :
l'informatique avance un peu trop vite pour une structure comme
l'éducation nationale ... Au niveau des programmes (des classes), ca
reste raisonnable, mais au niveau de l'informatique, cela suffit pour
passer du moyen age au XXIe siecle ...
> > > > oui, mais je crois que les objets, c'est un peu trop violent pour eux
> >
> > Sympa pour les profs...
>
> Eh, je sais de quoi je parle, j'ai enseigne en TD de caml-light en DEUG
> premiere annee, et je connaissait mieux caml que le prof qui faissait le
> cours magistrale. Si un jour je suis responsable de module, je ferait
> passer tout le monde a ocaml.
il y a aussi autre chose, c'est que mathématiquement, c'est plus logique
de manipuler un objet avec certaines propriétés que des petits bouts ...
>
> > > C'est pas une raison, rien n'oblige d'utiliser des objets en ocaml,
> > > c'est juste possible. J'utilise ocaml depuis 96, c'etait encore caml
> > > special light a l'epoque, et je n'ai jamais utiliser les objets.
> >
> > Il y a de légères différences qui peuvent faire qu'un programme camllight
> > ne se compile pas en ocaml, le passage est très simple mais en attendant
> > l'élève n'aura pas produit un programme irréprochable.
>
> Sur, et que faut-il mieux apprendre ? une syntaxe obsolete ou quelque
> chose qu'il y a une chance, meme faible, de pouvoir etre utilise par la
> suite. Je crois que c'est cette persistance a utiliser caml-light qui
> fait penser aux etudiants que caml est un langage jouet, alors que ce
> n'est pas le cas.
c'est vrai que je vois un peu caml light comme un jouet, mais un peu
pénible comme jouet ... il a crashé 25 fois en 2 heures sur l'ordi sur
lequel je travaillais cet apres midi. Je connais peu de logiciels qui
crashent autant. On perd aussi énormément de temps parce que les
messages d'erreurs sont tres peu explicitent, voire inexistant
Passer a autre chose cela ne pourrait pas faire de mal. Surtout que
c'est quand meme plus interessant d'utiliser un langage dont on pourra
se servir dans l'avenir, parce que caml, c'est pas vraiment utilisé ...
Si les gens qui n'avait jamais touché a la programmation sortaient de
deux années d'option informatique en sachant créer un petit logiciel
utile quand ils en ont le besoin ce serait plus interessant non ?
grégoire
> Est-ce que cela resoud ton probleme de toplevel graphique ?
>
ca avance peu à peu, mais j'ai un probleme à la compilation de libunix:
/usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x23): In function
`error_message':
: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
/usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x13): In function
`error_message':
: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
j'ai trouvé l'utilisation de sys_errlist et sys_nerr dans deux fichiers
:
src/runtime/sys.c
contrib/libunix/errmsg.c
en les modifiant et en mettant ce qui est indiqué, ca ne passe toujours
pas ... Je sais pas trop ce que je pourrais faire. Et pas grand chose
sur google à ce propos. Apparement dans les sources de ocaml, cela à été
modifié, mais je sais pas trop comment ...
si quelqu'un peut m'aider ... merci !
grégoire
Oui, c'est un probleme avec la nouvelle glibc.
J'ai (temporairement) resolu le probleme en simplement supprimant le cas
du if qui pose probleme et en renvoyant une erreur inconnu dans tous les
cas. Comme cela ca compile, mais cela n'est pas la solution ideale.
> j'ai trouvé l'utilisation de sys_errlist et sys_nerr dans deux fichiers
> :
> src/runtime/sys.c
> contrib/libunix/errmsg.c
Oui, c'est ces deux fichiers.
>
> en les modifiant et en mettant ce qui est indiqué, ca ne passe toujours
> pas ... Je sais pas trop ce que je pourrais faire. Et pas grand chose
> sur google à ce propos. Apparement dans les sources de ocaml, cela à été
> modifié, mais je sais pas to rop comment ...
>
C'est un peu plus subtile comme modif, moi j'ecrirai a la caml list ou a
Pierre Weiss pour qu'il sorte une nouvelle version. Je crois.
Mmm, si tu veut je m'en occupe.
> > /usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x23): In function
> > `error_message':
> > : `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
> > /usr/local/lib/caml-light/libcaml.a(sys.o)(.text+0x13): In function
> > `error_message':
> > : `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead
>
> Oui, c'est un probleme avec la nouvelle glibc.
>
je pensais à ca, ou un pb avec les nouvelles versions de gcc, encore que
c'est dans les libs qu'il y a le pb
> J'ai (temporairement) resolu le probleme en simplement supprimant le cas
> du if qui pose probleme et en renvoyant une erreur inconnu dans tous les
> cas. Comme cela ca compile, mais cela n'est pas la solution ideale.
>
je vais tenter
> C'est un peu plus subtile comme modif, moi j'ecrirai a la caml list ou a
> Pierre Weiss pour qu'il sorte une nouvelle version. Je crois.
>
> Mmm, si tu veut je m'en occupe.
>
tu m'a l'air plus proche du monde de caml que moi ... je pense que ca
serait mieux que tu le fasse ...
merci beaucoup
grégoire
Oui.
> > J'ai (temporairement) resolu le probleme en simplement supprimant le cas
> > du if qui pose probleme et en renvoyant une erreur inconnu dans tous les
> > cas. Comme cela ca compile, mais cela n'est pas la solution ideale.
>
> je vais tenter
Cela marche sans probleme, je l'ai fait. bien sur, tu n'aurra pas les
bon messages.
> > C'est un peu plus subtile comme modif, moi j'ecrirai a la caml list ou a
> > Pierre Weiss pour qu'il sorte une nouvelle version. Je crois.
> >
> > Mmm, si tu veut je m'en occupe.
>
> tu m'a l'air plus proche du monde de caml que moi ... je pense que ca
> serait mieux que tu le fasse ...
Ok.
(Je suis le mainteneur du package debian de ocaml apres tout, normal que
je sois en contact avec les gens de caml).
> Cela marche sans probleme, je l'ai fait. bien sur, tu n'aurra pas les
> bon messages.
c'est bon, c'est compilé
>
> (Je suis le mainteneur du package debian de ocaml apres tout, normal que
> je sois en contact avec les gens de caml).
>
je comprends mieux ;-)
bon j'ai un petit problème encore
j'ai compilé libgraph, il a installé un camlgraph dans
/usr/local/lib/caml-light
dans le README de libgraph, il me dit que les lib graphics seront
accessibles à partir de deux toplevels, camllight et camlgraph
avec camllight ca marche pas :
##open "graphics";;
#open_graph "";;
The global value graphics__open_graph is referenced before being
defined.
Please load an implementation of module graphics first.
je tente avec camlgraph (qui ne se trouve pas dans le PATH ...) : quand
je le lance depuis mon home, il plante parce qu'il ne trouve pas une lib
et par contre quand je le lance depuis /usr/local/lib/caml-light, il n'y
a pas de pb. Je vais quand meme pas mettre tous mes fichiers caml dans
ce repertoire et les éditer en root !! ;-)
quelle est la technique pour que ca veuille bien marcher ?
grégoire
Je n'ai pas trop le temps d'intervenir ici (bcp de boulot), mais pour ton
pbm, fais
$ camllight camlgraph
Je transmets à Pierre Weiss les difficultés rencontrés (Pas eu de pbm chez
moi (?), mais la compilation remonte à quelque temps).
Réponse individuelle à venir...
François Boisson
> grégoire
:)))
> > (Je suis le mainteneur du package debian de ocaml apres tout, normal que
> > je sois en contact avec les gens de caml).
> >
>
> je comprends mieux ;-)
:)))
> bon j'ai un petit problème encore
>
> j'ai compilé libgraph, il a installé un camlgraph dans
> /usr/local/lib/caml-light
>
> dans le README de libgraph, il me dit que les lib graphics seront
> accessibles à partir de deux toplevels, camllight et camlgraph
>
> avec camllight ca marche pas :
>
> ##open "graphics";;
> #open_graph "";;
> The global value graphics__open_graph is referenced before being
> defined.
> Please load an implementation of module graphics first.
Mouais, je connais pas trop caml-light, mais d'apres mon experience avec
ocaml, il faut bien sur utiliser camlgraph.
> je tente avec camlgraph (qui ne se trouve pas dans le PATH ...) : quand
> je le lance depuis mon home, il plante parce qu'il ne trouve pas une lib
> et par contre quand je le lance depuis /usr/local/lib/caml-light, il n'y
> a pas de pb. Je vais quand meme pas mettre tous mes fichiers caml dans
> ce repertoire et les éditer en root !! ;-)
>
> quelle est la technique pour que ca veuille bien marcher ?
Je vais reconstruire caml-light et l'installer et tester cela.
> Je n'ai pas trop le temps d'intervenir ici (bcp de boulot), mais pour ton
> pbm, fais
>
> $ camllight camlgraph
héhé, j'avais compris que c'était soit camllight, soit camlgraph, pas
les deux ;-)
maintenant ca marche ! mes courbes de beziers et mon moteur 3d
fonctionnent sans pb ;-)
merci a tous pour votre aide
grégoire