Page 1 sur 2
[ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 19:39
par gael
bonjour,
je voudrais compiler cette librairie et à terme pouvoir créer un PKGBUILD
ivy-ocaml
https://github.com/flixr/ivy-ocaml
mais lors du make j'ai cette erreur
alors que j'ai installé ivy-c (voir ce post
viewtopic.php?f=13&t=16619
ivy-c est ici /usr/include/Ivy/ivy.h
Code : Tout sélectionner
cc -Wall -c -fPIC -I /opt/local/include/ -I `ocamlc -where` `pkg-config --cflags glib-2.0` civy.c
civy.c:86:35: erreur: unknown type name ‘IVY_HANDLE’
void cb_write_channel(Channel ch, IVY_HANDLE fd, void *closure)
^
civy.c:90:34: erreur: unknown type name ‘IVY_HANDLE’
void cb_read_channel(Channel ch, IVY_HANDLE fd, void *closure)
^
Makefile:138 : la recette pour la
j'ai aussi testé avec une archive plutot que le SVN
http://www.eei.cena.fr/products/ivy/dow ... ource.html
ivyocaml.tgz
Code : Tout sélectionner
cc -Wall -c `pkg-config --cflags glib-2.0` civy.c
civy.c:5:17: erreur fatale: ivy.h : Aucun fichier ou dossier de ce type
#include <ivy.h>
merci pour vos conseils
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 19:54
par FoolEcho
J'ai vu ton autre sujet,
viewtopic.php?f=13&t=16619, je pense que tu n'utilises pas les headers fournis par ivy-c (dans /usr/include/Ivy/ ou quelque chose du genre).
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 20:01
par gael
FoolEcho a écrit :J'ai vu ton autre sujet,
viewtopic.php?f=13&t=16619, je pense que tu n'utilises pas les headers fournis par ivy-c (dans /usr/include/Ivy/ ou quelque chose du genre).
euh je ne comprend pas tu peux détailler ?
merci pour ta réponse
mon objectif est de pouvoir créer un paquet archlinux pour le programme de pilotage de drone paparazzi
http://wiki.paparazziuav.org/wiki/Insta ... romScratch
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 20:05
par FoolEcho
Que tu as besoin d'indiquer à make d'aller chercher les headers de ton paquet ivy-c (ta trace montre un
-I /opt/local/include/
, mais ce serait plutôt
-I /usr/include/Ivy/
, ivy ou ivy-c... ou au moyen de pkgconfig selon ce que t'as fourni ton précédent paquet ivy-c). Tu n'as pas indiqué plus d'éléments de ton PKGBUILD ici donc je ne peux pas être beaucoup plus précis.

Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 20:11
par benjarobin
@FoolEcho IVY_HANDLE est défini nul part dans les sources de ivy-c
Le type utilisé est tout simplement HANDLE et non IVY_HANDLE
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 20:13
par gael
Code : Tout sélectionner
pkgname=ivy-ocaml
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl')
makedepends=('cmake')
source=("http://www.eei.cena.fr/products/ivy/download/packages/ivyocaml.tgz")
md5sums=('5053f2449a3ef83ef079ddde33f2f1b5')
prepare() {
cd "${srcdir}/${pkgname}"
sed -i 's|lib$(PERHAPS64)|lib|' Makefile
sed -i 's|mkdirhier|mkdir -p|g' Makefile
}
build() {
cd "${srcdir}/${pkgname}"
make
}
package() {
cd "${srcdir}/${pkgname}"
make PREFIX="/usr" DESTDIR="${pkgdir}" install
}
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : sam. 14 mars 2015, 20:18
par FoolEcho
benjarobin a écrit :@FoolEcho IVY_HANDLE est défini nul part dans les sources de ivy-c
Le type utilisé est tout simplement HANDLE et non IVY_HANDLE
Pas dans les sources utilisées dans l'autre sujet apparemment:
https://github.com/flixr/ivy-c/blob/mas ... ychannel.h
et sur lesquelles ivy-ocaml s'est aligné:
https://github.com/flixr/ivy-ocaml/comm ... 76e6b29587
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 11:59
par gael
du coup comment je fais pour rajouter ça dans mon PKGBUILD ?
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 12:23
par FoolEcho
Ah désolé... Il faut voir comment est fait le Makefile.
À vue de nez (pas vérifié), rajoute ceci dans la fonction prepare du PKGBUILD d'ivy-ocaml
Code : Tout sélectionner
sed -i 's|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include -I/usr/include/Ivy |' Makefile
Un patch serait préférable en faisant le += supplémentaire juste après le endif...
Tout ça tient au fait que ivy-c ne fournit pas de quoi utiliser pkgconfig donc à voir s'il ne manque pas d'autres include en dehors de glibc...
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 12:44
par gael
voici le nouveau PKGBUILD
mais l'erreur persiste
Code : Tout sélectionner
pkgname=ivy-ocaml
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl' 'ivy-c')
makedepends=('cmake')
source=("http://www.eei.cena.fr/products/ivy/download/packages/ivyocaml.tgz")
md5sums=('5053f2449a3ef83ef079ddde33f2f1b5')
prepare() {
cd "${srcdir}/${pkgname}"
sed -i 's|lib$(PERHAPS64)|lib|' Makefile
sed -i 's|mkdirhier|mkdir -p|g' Makefile
sed -i 's|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include -I/usr/include/Ivy |' Makefile
}
build() {
cd "${srcdir}/${pkgname}"
make PREFIX="/usr/include/Ivy/"
}
package() {
cd "${srcdir}/${pkgname}"
make PREFIX="/usr" DESTDIR="${pkgdir}" install
}
et voici le makefile
Code : Tout sélectionner
# $Id: Makefile,v 1.17 2005/04/29 07:43:09 brisset Exp $
DESTDIR = /
OCAMLC = ocamlc -g
OCAMLMLI = ocamlc
OCAMLOPT = ocamlopt -unsafe
OCAMLDEP=ocamldep
OCAMLFLAGS=
OCAMLOPTFLAGS=
CFLAGS=-Wall
GLIBINC=`pkg-config --cflags glib-2.0`
IVY = ivy.ml ivyLoop.ml
IVYCMO= $(IVY:.ml=.cmo)
IVYCMI= $(IVY:.ml=.cmi)
IVYMLI= $(IVY:.ml=.mli)
IVYCMX= $(IVY:.ml=.cmx)
GLIBIVY = ivy.ml glibIvy.ml
GLIBIVYCMO= $(GLIBIVY:.ml=.cmo)
GLIBIVYCMI= $(GLIBIVY:.ml=.cmi)
GLIBIVYCMX= $(GLIBIVY:.ml=.cmx)
TKIVY = ivy.ml tkIvy.ml
TKIVYCMO= $(TKIVY:.ml=.cmo)
TKIVYCMI= $(TKIVY:.ml=.cmi)
TKIVYCMX= $(TKIVY:.ml=.cmx)
LIBS = ivy-ocaml.cma ivy-ocaml.cmxa glibivy-ocaml.cma glibivy-ocaml.cmxa
# tkivy-ocaml.cma tkivy-ocaml.cmxa
all : $(LIBS)
deb :
dpkg-buildpackage -rfakeroot
ivy : ivy-ocaml.cma ivy-ocaml.cmxa
glibivy : glibivy-ocaml.cma glibivy-ocaml.cmxa
tkivy : tkivy-ocaml.cma tkivy-ocaml.cmxa
INST_FILES = $(IVYCMI) $(IVYMLI) glibIvy.cmi $(LIBS) libivy-ocaml.a libglibivy-ocaml.a dllivy-ocaml.so dllglibivy-ocaml.so ivy-ocaml.a glibivy-ocaml.a
# tkIvy.cmi libtkivy-ocaml.a dlltkivy-ocaml.so tkivy-ocaml.a
install : $(LIBS)
mkdir -p $(DESTDIR)/`ocamlc -where`
cp $(INST_FILES) $(DESTDIR)/`ocamlc -where`
desinstall :
cd `ocamlc -where`; rm -f $(INST_FILES)
ivy-ocaml.cma : $(IVYCMO) civy.o civyloop.o
ocamlmklib -o ivy-ocaml $^ -livy
ivy-ocaml.cmxa : $(IVYCMX) civy.o civyloop.o
ocamlmklib -o ivy-ocaml $^ -livy
glibivy-ocaml.cma : $(GLIBIVYCMO) civy.o cglibivy.o
ocamlmklib -o glibivy-ocaml $^ -lglibivy `pkg-config --libs glib-2.0` -lpcre
glibivy-ocaml.cmxa : $(GLIBIVYCMX) civy.o cglibivy.o
ocamlmklib -o glibivy-ocaml $^ -lglibivy `pkg-config --libs glib-2.0` -lpcre
tkivy-ocaml.cma : $(TKIVYCMO) civy.o ctkivy.o
ocamlmklib -o tkivy-ocaml $^ -livy -ltclivy
tkivy-ocaml.cmxa : $(TKIVYCMX) civy.o ctkivy.o
ocamlmklib -o tkivy-ocaml $^ -livy -ltclivy
.SUFFIXES:
.SUFFIXES: .ml .mli .mly .mll .cmi .cmo .cmx .c .o .out .opt
.ml.cmo :
$(OCAMLC) $(OCAMLFLAGS) $(INCLUDES) -c $<
.c.o :
$(CC) -Wall -c $(GLIBINC) $<
.mli.cmi :
$(OCAMLMLI) $(OCAMLFLAGS) -c $<
.ml.cmx :
$(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<
.mly.ml :
ocamlyacc $<
.mll.ml :
ocamllex $<
.cmo.out :
$(OCAMLC) -custom -o $@ unix.cma -I . ivy-ocaml.cma $< -cclib -livy
.cmx.opt :
$(OCAMLOPT) -o $@ unix.cmxa -I . ivy-ocaml.cmxa $< -cclib -livy
clean:
\rm -f *.cm* *.o *.a .depend *~ *.out *.opt .depend *.so *_stamp
.depend:
$(OCAMLDEP) $(INCLUDES) *.mli *.ml > .depend
include .depend
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 14:12
par FoolEcho
Ok... c'est parce que je me basais sur le MAKEFILE du svn...
Il faut alors quelque chose du genre
Code : Tout sélectionner
sed -i 's|GLIBINC=|GLIBINC=-I/usr/include/Ivy -I/usr/lib/ocaml |' Makefile
Mais après essai, il doit manquer au moins ivy-glib et ivy-tcl (au passage il manque ocaml dans les dépendances de ton PKGBUILD)... à supposer que ton lien direct ne soit pas trop vieux...
Et le passage au svn pose problème à cause du certificat du serveur (auto-signé, du coup ça fait hurler curl et il n'y a pas vraiment moyen de contourner puisque c'est à la charge de l'utilisateur...)...
(dans l'immédiat tu peux passer par
svn co
https://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk
et accepter temporairement le certificat pour continuer les tests de compilation...)
L'option restante serait de passer par les binaires précompilés...
http://www.eei.cena.fr/products/ivy/download/index.html
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 15:04
par gael
ok pour le moment donc ça donne ça
Code : Tout sélectionner
pkgname=ivy-ocaml
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl' 'ivy-c' 'ocaml')
makedepends=('cmake')
source=()
md5sums=()
_svntrunk='https://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk'
prepare() {
cd "${srcdir}"
svn co $_svntrunk
cd "${srcdir}/trunk"
# sed -i 's|lib$(PERHAPS64)|lib|' Makefile
# sed -i 's|mkdirhier|mkdir -p|g' Makefile
sed -i 's|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include -I/usr/include/Ivy |' Makefile
sed -i 's|GLIBINC=|GLIBINC=-I/usr/include/Ivy -I/usr/lib/ocaml |' Makefile
}
build() {
cd "${srcdir}/trunk"
make PREFIX="/usr/include/Ivy/"
}
package() {
cd "${srcdir}/trunk"
make PREFIX="/usr" DESTDIR="${pkgdir}" install
}
avec comme résultat
Code : Tout sélectionner
==> Starting build()...
Package ivy-c was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-c.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-c' found
Package ivy-glib was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-glib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-glib' found
Package ivy-tcl was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-tcl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-tcl' found
ocamldep *.mli *.ml > .depend
Package ivy-c was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-c.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-c' found
Package ivy-glib was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-glib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-glib' found
Package ivy-tcl was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-tcl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-tcl' found
ocamlc -c ivy.mli
ocamlc -c ivy.ml
File "ivy.ml", line 58, characters 10-23:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "ivy.ml", line 61, characters 4-34:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "ivy.ml", line 62, characters 4-39:
Warning 3: deprecated: String.set
Use Bytes.set instead.
File "ivy.ml", line 68, characters 10-23:
Warning 3: deprecated: String.create
Use Bytes.create instead.
File "ivy.ml", line 70, characters 4-69:
Warning 3: deprecated: String.set
Use Bytes.set instead.
ocamlc -c ivyLoop.mli
ocamlc -c ivyLoop.ml
Package ivy-glib was not found in the pkg-config search path.
Perhaps you should add the directory containing `ivy-glib.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ivy-glib' found
cc -Wall -c -fPIC -I /usr/lib/ocaml -I/usr/include/tcl -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include civy.c
civy.c:86:35: error: unknown type name 'IVY_HANDLE'
void cb_write_channel(Channel ch, IVY_HANDLE fd, void *closure)
^
civy.c:90:34: error: unknown type name 'IVY_HANDLE'
void cb_read_channel(Channel ch, IVY_HANDLE fd, void *closure)
^
Makefile:165: recipe for target 'civy.o' failed
make: *** [civy.o] Error 1
effectivement manque ivy-glib et ivy-tcl mais je ne vois pas comment obtenir ces librairies ....
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 16:08
par gael
ah ca progresse j'ai fait un PKGBUILD pour compiler la version svn de ivy-c
et du coup j'ai cette erreur a la compilation de ivy-ocaml-svn
Code : Tout sélectionner
==> Entering fakeroot environment...
==> Starting package()...
mv META.ivy META && ocamlfind install ivy META ivy.mli ivyLoop.mli ivy.cmi ivyLoop.cmi ivy.cmx ivyLoop.cmx ivy-ocaml.cma ivy-ocaml.cmxa libivy-ocaml.a ivy-ocaml.a dllivy-ocaml.so && mv META META.ivy || (mv META META.ivy && exit 1)
ocamlfind: Cannot mkdir /usr/lib/ocaml/ivy: Permission denied
Makefile:122: recipe for target 'install' failed
make: *** [install] Error 1
==> ERROR: A failure occurred in package().
Aborting...
le PKGBUILD de ivy-c-svn
Code : Tout sélectionner
pkgname=ivy-c-svn
pkgver=3.9.2
pkgrel=1
pkgdesc="ivy-c Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl')
conflicts=('ivy-svn')
makedepends=('cmake')
_svntrunk='https://svn.tls.cena.fr/svn/ivy/ivy-c/trunk'
prepare() {
cd "${srcdir}"
svn co $_svntrunk
cd "${srcdir}/trunk/src"
sed -i 's|lib$(PERHAPS64)|lib|' Makefile
sed -i 's|mkdirhier|mkdir -p|g' Makefile
}
build() {
cd "${srcdir}/trunk/src"
make PREFIX="/usr/include/Ivy/"
}
package() {
cd "${srcdir}/trunk/src"
make PREFIX="/usr" DESTDIR="${pkgdir}" install
}
et celui de ivy-ocaml-svn
Code : Tout sélectionner
pkgname=ivy-ocaml-svn
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl' 'ivy-c-svn' 'ocaml')
makedepends=('cmake')
source=()
md5sums=()
_svntrunk='https://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk'
prepare() {
cd "${srcdir}"
svn co $_svntrunk
cd "${srcdir}/trunk"
# sed -i 's|lib$(PERHAPS64)|lib|' Makefile
# sed -i 's|mkdirhier|mkdir -p|g' Makefile
sed -i 's|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include|IVY_CINC += -I$(OSX_MACPORTS_PREFIX)/include -I/usr/include/Ivy |' Makefile
sed -i 's|GLIBINC=|GLIBINC=-I/usr/include/Ivy -I/usr/lib/ocaml |' Makefile
}
build() {
cd "${srcdir}/trunk"
make PREFIX="/usr/include/Ivy/"
}
package() {
cd "${srcdir}/trunk"
make PREFIX="/usr" DESTDIR="${pkgdir}" install
}
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 17:47
par FoolEcho
Faut que je regarde...
Par contre le PREFIX de tes premiers make (dans build) n'a pas de sens.
Et il faut rajouter subversion dans les makedepends...
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 18:50
par gael
FoolEcho a écrit :Faut que je regarde...
Par contre le PREFIX de tes premiers make (dans build) n'a pas de sens.
Et il faut rajouter subversion dans les makedepends...
oui le prefix dans le paquet de ivy-c-svn il faut que je le rajoute
et ok aussi pour subversion
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : dim. 15 mars 2015, 18:56
par FoolEcho
Voilà une mouture qui compile... À toi de voir si ça te sert:
Code : Tout sélectionner
pkgname=ivy-ocaml-svn
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl' 'tk' 'ivy-c-svn' 'ocaml-findlib')
makedepends=('cmake' 'subversion')
source=()
_DESTDIR=$(ocamlfind printconf destdir)
_LDCONF=$(ocamlfind printconf ldconf)
_svntrunk='https://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk'
prepare() {
cd "${srcdir}"
svn co $_svntrunk
cd "${srcdir}/trunk"
sed \
-e "s|ocamlfind remove|ocamlfind remove -destdir $pkgdir/$_DESTDIR -ldconf $pkgdir$_LDCONF|g" \
-e "s|ocamlfind install|ocamlfind install -destdir $pkgdir/$_DESTDIR -ldconf $pkgdir$_LDCONF|g" \
-i Makefile
}
build() {
cd "${srcdir}/trunk"
make -j1
}
package() {
mkdir -p $pkgdir$_DESTDIR
touch $pkgdir$_DESTDIR/ld.conf
cd "${srcdir}/trunk"
make DESTDIR="${pkgdir}/usr" install
rm $pkgdir$_DESTDIR/ld.conf
}
Il faudra s'occuper du numéro de version aussi vu que leur histoire de certificat oblige à contourner la manière propre d'user du PKGBUILD...
Tu peux t'inspirer de ce PKGBUILD pour ce qui manque:
https://aur.archlinux.org/packages/apron-ocaml-svn/ (c'est d'ailleurs lui qui m'a permis de résoudre ce qui coinçait vu que je ne suis pas un as du caml et de la compilation autour

).
EDIT: ... note que j'ai dû passer un -j1 au make sans quoi la compilation foirait chez moi...
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : mar. 17 mars 2015, 15:01
par gael
ok merci ça fonctionne mais erreur à la compilation
Code : Tout sélectionner
sudo pacman -Syu ocaml-xml-light ocamlnet lablgtk2 pkg-config
mkdir paparazzi
cd paparazzi
git clone https://github.com/paparazzi/paparazzi.git
cd paparazzi/
git checkout v5.4
git checkout master
make
et voici le retour du make
Code : Tout sélectionner
DOWNLOAD: google maps version code
Updated google maps version to 167
-----------------------------------------------
make -C sw/lib/ocaml
make[1]: pkg-config : commande introuvable
OC http.ml
File "http.ml", line 5, characters 5-16:
Error: Unbound module Http_client
Makefile:129 : la recette pour la cible « http.cmo » a échouée
make[1]: *** [http.cmo] Erreur 2
Makefile:139 : la recette pour la cible « libpprz » a échouée
make: *** [libpprz] Erreur 2
FoolEcho a écrit :Voilà une mouture qui compile... À toi de voir si ça te sert:
Code : Tout sélectionner
pkgname=ivy-ocaml-svn
pkgver=0
pkgrel=1
pkgdesc="ivy-ocaml Library"
arch=('i686' 'x86_64')
url="http://www.eei.cena.fr/products/ivy/download/source.html"
license=('GPL3')
depends=('tcl' 'tk' 'ivy-c-svn' 'ocaml-findlib')
makedepends=('cmake' 'subversion')
source=()
_DESTDIR=$(ocamlfind printconf destdir)
_LDCONF=$(ocamlfind printconf ldconf)
_svntrunk='https://svn.tls.cena.fr/svn/ivy/ivy-ocaml/trunk'
prepare() {
cd "${srcdir}"
svn co $_svntrunk
cd "${srcdir}/trunk"
sed \
-e "s|ocamlfind remove|ocamlfind remove -destdir $pkgdir/$_DESTDIR -ldconf $pkgdir$_LDCONF|g" \
-e "s|ocamlfind install|ocamlfind install -destdir $pkgdir/$_DESTDIR -ldconf $pkgdir$_LDCONF|g" \
-i Makefile
}
build() {
cd "${srcdir}/trunk"
make -j1
}
package() {
mkdir -p $pkgdir$_DESTDIR
touch $pkgdir$_DESTDIR/ld.conf
cd "${srcdir}/trunk"
make DESTDIR="${pkgdir}/usr" install
rm $pkgdir$_DESTDIR/ld.conf
}
Il faudra s'occuper du numéro de version aussi vu que leur histoire de certificat oblige à contourner la manière propre d'user du PKGBUILD...
Tu peux t'inspirer de ce PKGBUILD pour ce qui manque:
https://aur.archlinux.org/packages/apron-ocaml-svn/ (c'est d'ailleurs lui qui m'a permis de résoudre ce qui coinçait vu que je ne suis pas un as du caml et de la compilation autour

).
EDIT: ... note que j'ai dû passer un -j1 au make sans quoi la compilation foirait chez moi...
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : mar. 17 mars 2015, 15:08
par benjarobin
Quelle erreur ??
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : mar. 17 mars 2015, 15:29
par gael
benjarobin a écrit :Quelle erreur ??
Code : Tout sélectionner
sudo pacman -Syu ocaml-xml-light ocamlnet lablgtk2 pkg-config ivy-c-svn ivy-ocaml-svn
mkdir paparazzi
cd paparazzi
git clone https://github.com/paparazzi/paparazzi.git
cd paparazzi/
git checkout v5.4
git checkout master
make
et voici le retour du make
Code : Tout sélectionner
make
------------------------------------------------------------
Building Paparazzi version v5.5_devel-348-g9216228
------------------------------------------------------------
make -C data/maps
-----------------------------------------------
DOWNLOAD: google maps version code
Updated google maps version to 167
-----------------------------------------------
make -C sw/lib/ocaml
OC http.ml
File "http.ml", line 5, characters 5-16:
Error: Unbound module Http_client
Makefile:129 : la recette pour la cible « http.cmo » a échouée
make[1]: *** [http.cmo] Erreur 2
Makefile:139 : la recette pour la cible « libpprz » a échouée
make: *** [libpprz] Erreur 2
Re: [ivy-ocaml] création de paquet problème de compilation
Publié : mar. 17 mars 2015, 20:03
par FoolEcho
J'imagine qu'il s'agit du même type d'erreur qui t'empêchait de compiler ivy-ocaml... à savoir que le Makefile en l'état ne sait pas où trouver les modules manquants.
http://stackoverflow.com/questions/3848 ... s-in-ocaml
https://realworldocaml.org/v1/en/html/f ... grams.html
... à éplucher (je ne suis évidemment pas familier de la compilation de ocaml...).