Répondre

Compilation de Geneweb avec OCAML >=4.02 (RÉSOLU)

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
Bonjour et bonne année 2016 8)


Quelqu'un a déjà réussi à compiler Geneweb avec OCAML >=4.02 sans problème?

Sur le wiki (http://geneweb.tuxfamily.org/wiki/OCaml), ça dit que c'est possible, mais pour ma part, j'obtiens des erreurs du type :

Code : Tout sélectionner

File "wserver.ml", line 60, characters 12-33: Warning 3: deprecated: String.set Use Bytes.set instead. 
En fait, ce sont des warnings rendus fatals par les options du makefile. J'ai essayé de les rendre non-fatals (option -w -3 dans le makefile, voir https://sympa.inria.fr/sympa/arc/caml-list/2014-10/msg00168.html),  ce qui rend la compilation possible, mais un fois qu'on exécute gwd ainsi compilé certains affichages en texte sont brisés.

Or, tout compile parfaitement sans warning/error (et sans problème d'affichage de certains textes) avec OCAML 3.12.1 ou 4.01.0 avec la même configuration. 

Ça semble être un bug connu du développement (https://github.com/geneanet/geneweb/issues/316), mais le commun des mortel (i.e. quelqu'un qui ne connaît que la commande make) doit chercher pas mal "creux" pour comprendre pourquoi ça ne fonctionne pas. S'il y a effectivement un problème avec la compilation utilisant ocaml >=4.02, il faudrait mettre le wiki à jour.

On note que j'utilise:

- La dernière version de la branche master disponible sur github (correspondant à ce commit : https://github.com/geneanet/geneweb/commit/633510238e49a87b6cf918587229770882fd9ad7)
- Debian Jessie 64 bits
- Pas de compilateur OCAML "système" (seulement OPAM)
- OPAM configuré tel qu'écrit dans le wiki (avec camlp5 et ocamlfind installés rigoureusement pour chaque version d'OCAML ajoutés dans la switch list).
- Je n'ai pas oublié de "make clean", de "./configure" ou de "eval `opam config env`", qui peuvent faire toute la différence :-P
- Je vérifie toujours ma version d'OCAML avec un "which ocaml" et un "which camlp5" avant de faire le "./configure"

Merci de m'aider à mettre le wiki à jour,


Guillaume
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

glopglop
glopglop
Messages : 2551
Saisie : Geneweb
Voir son arbre
j ai essaye de compiler geneweb sur fedora 23 et je suis helas arrive a la meme conclusion.
Developpeur du greffon GedcomforGeneanet pour GRAMPS
https://github.com/grocanar/GedcomforGeneanet
Sans aucun lien avec l'entreprise Geneanet que celui d’être un abonné premium comme les autres.

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
On note que ça semble être un vieux bug connu, certains développeurs ont fait des tests à ce sujet en octobre 2014:

https://github.com/mbouaziz/geneweb/commits/master.4.02-opam

Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
Pour compléter le dossier...

Le problème de caractères semble plutôt être lié à des chaînes de format de "type fprintf" et non aux caractères accentués, qui semblent bien s'afficher.

Résultat lorsque compilé avec CAML 4.01.0:

Image

Résultat lorsque compilé avec CAML 4.02.3 (et warnings rendus non-fatals dans le makefile)

Image
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
Bon, le problème était simplement devant l'écran...

Ma copie locale de travail n'était pas branchée à la bonne place dans Github, et je n'avais pas la dernière version du code.

Une fois branché correctement avec la dernière version du code, la compilation avec OCAML 4.02.3 fonctionne à merveille.
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

glopglop
glopglop
Messages : 2551
Saisie : Geneweb
Voir son arbre
bonjour

c'est quoi la bonne branche sur github?

je clone depuis https://github.com/geneanet/geneweb mais j obtiens toujours les memes warnings qui se transforment en erreur

Code : Tout sélectionner

d wserver; make opt
make[1]: Entering directory '/home/grocanar/geneweb/wserver'
camlp5r pa_extend.cmo q_MLast.cmo -o pa_macro5.ppo pa_macro5.ml
ocamlc -c -I "`camlp5 -where`" -impl pa_macro5.ppo
File "pa_macro5.ml", line 103, characters 10-21:
Warning 3: deprecated: String.copy
File "pa_macro5.ml", line 107, characters 11-23:
Warning 3: deprecated: String.set
Use Bytes.set instead.
camlp5r ../wserver/pa_macro5.cmo -DUNIX -o wserver.ppi wserver.mli
ocamlc.opt -warn-error A  -I /usr/lib64/ocaml/camlp5/ -c -intf wserver.ppi
/bin/rm -f wserver.ppi
camlp5r ../wserver/pa_macro5.cmo -DUNIX -o wserver.ppo wserver.ml
ocamlopt.opt -warn-error A  -I /usr/lib64/ocaml/camlp5/ -c -impl wserver.ppo
File "wserver.ml", line 60, characters 12-33:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 63, characters 22-36:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 64, characters 20-32:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 82, characters 13-26:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 117, characters 22-36:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 120, characters 14-28:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 121, characters 14-56:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 122, characters 14-58:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 125, characters 22-34:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 132, characters 18-31:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 222, characters 18-31:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 225, characters 27-40:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 227, characters 2-21:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 275, characters 18-31:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 277, characters 10-112:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "wserver.ml", line 345, characters 13-26:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "wserver.ml", line 1:
Error: Some fatal warnings were triggered (16 occurrences)
../tools/Makefile.inc:43: recipe for target 'wserver.cmx' failed
make[1]: *** [wserver.cmx] Error 2
make[1]: Leaving directory '/home/grocanar/geneweb/wserver'
Makefile:23: recipe for target 'opt' failed
make: *** [opt] Error 2
Developpeur du greffon GedcomforGeneanet pour GRAMPS
https://github.com/grocanar/GedcomforGeneanet
Sans aucun lien avec l'entreprise Geneanet que celui d’être un abonné premium comme les autres.

belin2
belin2
Messages : 52
Saisie : Geneweb
Voir son arbre
Essayez le dépôt geneweb/geneweb qui inclut la PR sur la compilation avec Ocaml 4.xx.

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
http://geneweb.tuxfamily.org/wiki/Repository

;D

Le diable est dans les détails!
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

glopglop
glopglop
Messages : 2551
Saisie : Geneweb
Voir son arbre
En effet cela fonctionne beaucoup mieux :)

Je vais pouvoir m'atteler a mettre a jour mon package pour la fedora
Developpeur du greffon GedcomforGeneanet pour GRAMPS
https://github.com/grocanar/GedcomforGeneanet
Sans aucun lien avec l'entreprise Geneanet que celui d’être un abonné premium comme les autres.

dominique95880
dominique95880
Messages : 7938
Saisie : Geneweb
Voir son arbre
Bonjour guillaume
guillaumebrochu a écrit :
03 janvier 2016, 14:23
http://geneweb.tuxfamily.org/wiki/Repository
geneweb[/b]/geneweb
;D

Le diable est dans les détails!
Ce n'est pas ce qui est dit ici : https://github.com/geneanet/geneweb/issues/20#issuecomment-82846084
geneanet[/b]/geneweb/tree/7_00
Tout le reste, c'est du travail maison à prendre ou à laisser.
alors
est ce la branche master de https://github.com/geneanet/geneweb
ou la branche master de https://github.com/geneweb/geneweb

et de façon plus générale pourquoi toutes ces versions divergentes ?

Dominique

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
dominique95880 a écrit :
04 janvier 2016, 09:19
alors
est ce la branche master de https://github.com/geneanet/geneweb
ou la branche master de https://github.com/geneweb/geneweb
C'est ce que je croyais moi aussi jusqu'à il y a à peine deux jours, en ayant en tête ma question de mars dernier (https://github.com/geneanet/geneweb/issues/20#issuecomment-82846084), quand je tentais de compiler geneweb 7 avec OCAML 4.02.3 (OPAM) et Debian, tel qu'expliqué dans le wiki, et que ça ne fonctionnait pas du tout, alors que le wiki indiquait bien que ça fonctionnait sans problème. Sur le coup, je me disais que la personne qui avait écrit cette page du wiki s'était trompée royalement (tellement facile d'oublier une étape cruciale avec OPAM...), d'où ce fil de discussion pour faire le point et corriger le wiki au besoin. C'est là que contributeur wiki s'appelant A2 m'a fait réaliser que ne je n'avais pas vu la très subtile différence entre le dépôt geneanet/geneweb et le dépôt geneweb/geneweb, et de constater que la branche master de ce geneweb/geneweb était pas mal plus active que geneanet/geneweb, avec les même contributeurs expérimentés, qui ont quasiment terminé de corriger les bugs de compatibilité avec OCAML >=4.02.

Donc, selon mes découvertes des derniers jours et au meilleur de ma compréhension, c'est ici que ça se passe :

https://github.com/geneweb/geneweb

On note que les "issues" ne semblent pas activées sur ce dépôt geneweb/geneweb, d'où le besoin de rapporter les bugs sur geneanet/geneweb. Ça aide pour la continuité.
dominique95880 a écrit :
04 janvier 2016, 09:19
et de façon plus générale pourquoi toutes ces versions divergentes ?
Dominique
Étant trop novice dans le projet, je ne peux malheureusement pas répondre à cette complexe question,mais je te confirme que ce n'est vraiment pas intuitif pour un "outsider", d'où l'idée de documenter le wiki avec le maximum d'information, afin que tout ce qui est pertinent pour le projet y soit écrit, et tout ce qui est écrit soit à jour et véridique.

http://geneweb.tuxfamily.org/wiki/GeneWeb
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

servicetechnique
servicetechnique
Messages : 11
Bonjour

Le github officiel de Geneweb est bien https://github.com/geneanet/geneweb
A l'initiative de la communauté, il y a pas d'avancées sur le "fork" https://github.com/geneweb/geneweb, notamment la compatibilité avec la version 4 d'oCaml. Malheureusement, pour le moment, ces améliorations ne sont pas encore retro-compatibles avec les formats de base de données utilisés par la version officielle. Nous sommes en train d'y travailler. Dès que ce sera résolu, les derniers "commit" du projet geneweb/geneweb seront ajoutés au projet officiel geneanet/geneweb.

Merci de votre compréhension,

Le service technique
Antoine
Service Technique Geneanet

guillaumebrochu
guillaumebrochu
Messages : 101
Saisie : Geneweb
Voir son arbre
Bonjour,

Qu'entendez-vous par "la version officielle"? Est-ce la version 6.08 (https://github.com/geneanet/geneweb/tree/distrib-6-08), dernière version stable distribuée en mai 2015, ou bien la dernière image de la version en développement (https://github.com/geneanet/geneweb/tree/master)?

De plus, qui est le responsable du projet geneweb chez Geneanet, si jamais on désire le contacter?

Geneweb est un logiciel merveilleux, et les gens désirant contribuer au projet sont nombreux (par exemple, en rapportant les bugs observés avec la version "en local"), mais d'un autre côté personne ne répond aux rapports de bugs et aux "pull requests" sur GitHub. À part les développements continus pour la branche "api" (par les contributeurs Denis Meloni et Alain Poulain), le reste du projet donne l'impression d'être complètement mort pour un observateur externe peu informé.

Est-ce qu'il y a un calendrier prévu pour la fin du développement de la version 7 "en local"? Sachant que cette version 7 en développement est utilisée pour votre site web depuis quelques temps, elle doit être suffisamment bonne pour être distribuée officiellement, non? Ceci mettrait fin au flou qui règne présentement avec les multiples forks distribués de façon non-officielle.

Cordialement,

Guillaume Brochu
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:

glopglop
glopglop
Messages : 2551
Saisie : Geneweb
Voir son arbre
Voila des nouvelles qui ne sont pas franchement bonne :(
Developpeur du greffon GedcomforGeneanet pour GRAMPS
https://github.com/grocanar/GedcomforGeneanet
Sans aucun lien avec l'entreprise Geneanet que celui d’être un abonné premium comme les autres.

labrele
labrele
Messages : 91
Saisie : Geneweb
Voir son arbre
Bonjour à tous

Rappel de la réponse d'Antoine, un peu plus haut sur ce fil :
servicetechnique a écrit :
15 février 2016, 11:41
Bonjour

Le github officiel de Geneweb est bien https://github.com/geneanet/geneweb
A l'initiative de la communauté, il y a pas d'avancées sur le "fork" https://github.com/geneweb/geneweb, notamment la compatibilité avec la version 4 d'oCaml. Malheureusement, pour le moment, ces améliorations ne sont pas encore retro-compatibles avec les formats de base de données utilisés par la version officielle. Nous sommes en train d'y travailler. Dès que ce sera résolu, les derniers "commit" du projet geneweb/geneweb seront ajoutés au projet officiel geneanet/geneweb.

Merci de votre compréhension,

Le service technique
On peut donc toujours espérer ?

Cordialement

N
Arbre Test - Saisie Standard
Windows 10 - Firefox, Opera et Chrome

Répondre

Revenir à « GeneWeb »