[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#599215: Homonymous modules that will conflict in META makes dh-ocaml choke.



Le 06. 10. 10 15:20, Stéphane Glondu a écrit :
Le 05/10/2010 20:26, Guillaume Yziquel a écrit :
However, there will be, in each of these libpythonX.X-ocaml-dev
packages, an
oCamlPython.cm[xo] binary/bytecode, without the oCamlPython.cmi file.
This is to
be able to load statically the interpreter. Much like the lablgtk.init
findlib package.

Where would the oCamlPython.cmi file be? Are all these *.cm[xoi] files
binary compatible?

You would have a hierarchy of folders like /usr/lib/ocaml/python/X.X/*

You have the oCamlPython.cmo in the *.

No .cmi. It's a purely "side-effect module".

Binary compatible? They are all built in the same go with OCaml 3.12.

But if want to #load "oCamlPython.cmo" from 3.2 with python.cma from
2.7, no, there shouldn't be compatiility. For two reasons:

-1- python.cma have different interfaces in Python 2.7 and 3.2.
-2- no point in having name clashes when loading libpython2.7.so and
libypthon2.6.so.

So they should definitely conflict. In META files.

In Debian, they shouldn't conflict anymore than what Python does for
its various versions: you can install both python 2.7 and python 3.2.

I would not like to be able to rename the oCamlPython files upstream
(although I will
presumably be forced to). Keep in mind that they cannot be loaded
simultaneously because
of the META file conflict. The problem is that dh-ocaml fails with

dh_ocaml -s
E: Error: unit OCamlPython exported in libpython3.2-ocaml-dev v0.90-2
but already exported by libpython-ocaml-dev v0.90-1
E: Error running /usr/bin/ocaml-md5sums --md5sums-dir
debian/libpython3.2-ocaml-dev//var/lib/ocaml/md5sums --md5sums-dir
debian/libpython2.5-ocaml-dev//var/lib/ocaml/md5sums --md5sums-dir
debian/libpython2.6-ocaml-dev//var/lib/ocaml/md5sums --md5sums-dir
debian/libpython3.1-ocaml-dev//var/lib/ocaml/md5sums --md5sums-dir
debian/libpython2.7-ocaml-dev//var/lib/ocaml/md5sums --md5sums-dir
debian/libpython2.4-ocaml-dev//var/lib/ocaml/md5sums --load-info
debian/libpython3.2-ocaml-dev.oinfo.debhelper dep at /usr/bin/dh_ocaml
line 448.
make: *** [common-binary-predeb-arch] Erreur 255
dpkg-buildpackage: erreur: fakeroot debian/rules binary a produit une
erreur de sortie de type 2

What kind of dependency would you expect for something that depends on
your bindings?


Cheers,


I do not understand exactly the question. For now I'd appreciate being able to do something like:

ocamlfind ocamlc -package python26.interpreter pythonmodulebinding.ml

Does that answer your question?

Best regards,
--
     Guillaume Yziquel
http://yziquel.homelinux.org/


Reply to: