# [opam-devel] [Caml-list] [ANN] IOCaml v0.3

Anders Fugmann anders at fugmann.net
Fri Feb 14 10:40:34 GMT 2014

Hi,

I would love to have the Issuu fork of ocaml-zmq in Opam official
package repository. I already have a Opam package description for it
[1], if it helps.

Could it be that the compilation problems are related to having a too up
to date version of the zmq C library?. We saw simmilar compilation erros
when compiling against version 4.0.x of the zmq C library. Downgragind
to version 3.2.x help in that case.

If you are using brew, you can downgrade to zmq 3.2.4 using the command:
> brew switch zmq 3.2.4

Regards
Anders Fugmann

[1]:
https://github.com/andersfugmann/opam-repository-extra/tree/master/packages/ocaml-zmq.3.2.0

On 02/14/2014 11:05 AM, Anil Madhavapeddy wrote:
> Having said that, the Issuu branch seems to fail on MacOS X 10.9 (which uses clang).  Needs more investigation...
>
> --
>                                                  ~~~~~ ^
> /usr/local/lib/ocaml/caml/memory.h:235:27: note: expanded from macro 'Store_field'
>    value caml__temp_val = (val); \
>                            ^
> src/caml_zmq_stubs.c:538:45: error: no member named 'data' in 'zmq_event_t'
>          Store_field(result, 1, Val_fd(event.data.connected.fd));
>                                        ~~~~~ ^
> src/caml_zmq_stubs.c:27:29: note: expanded from macro 'Val_fd'
> #  define Val_fd(x) Val_int(x)
>                              ^
> /usr/local/lib/ocaml/caml/mlvalues.h:75:29: note: expanded from macro 'Val_int'
> #define Val_int(x) Val_long(x)
>                              ^
> /usr/local/lib/ocaml/caml/mlvalues.h:71:36: note: expanded from macro 'Val_long'
> #define Val_long(x)     (((intnat)(x) << 1) + 1)
>                                     ^
> /usr/local/lib/ocaml/caml/memory.h:235:27: note: expanded from macro 'Store_field'
>    value caml__temp_val = (val); \
>                            ^
> src/caml_zmq_stubs.c:542:55: error: no member named 'data' in 'zmq_event_t'
>                                                  ~~~~~ ^
> /usr/local/lib/ocaml/caml/memory.h:235:27: note: expanded from macro 'Store_field'
>    value caml__temp_val = (val); \
>                            ^
> src/caml_zmq_stubs.c:543:46: error: no member named 'data' in 'zmq_event_t'
>          Store_field(result, 1, Val_int(event.data.connect_delayed.err));
>                                         ~~~~~ ^
>
> -anil
>
> On 14 Feb 2014, at 09:57, Anil Madhavapeddy <anil at recoil.org> wrote:
>
>> This is great! (CCing opam-devel)
>>
>> I'd like to resolve the zmq situation, since the current "ocaml-zmq" package in opam-stable has no maintainer, and is pointing to an unstable tarball.
>>
>> We could add a new zmq package to OPAM that does not clash with "ocaml-zmq" , based off the Issuu branch which appears maintained.  I'm CCing Anders Fugmann for his opinion on this.  After a while, we could remove the ocaml-zmq package if the upstream cannot be contacted.
>>
>> That should hopefully unblock getting iocaml into OPAM mainline too...
>>
>> -anil
>>
>> On 14 Feb 2014, at 00:34, Andy Ray <andy.ray at ujamjar.com> wrote:
>>
>>> *** I announced this to the list through google groups a few days ago but I don't think it worked properly so hopefully this time ... ***
>>>
>>> https://github.com/andrewray/iocaml
>>>
>>> IOCaml is an OCaml kernel for the IPython notebook (http://ipython.org/notebook.html).  This provides a REPL within a web browser with a nice user interface including markdown based comments/documentation, mathjax formula and the possibility of generating all manner of HTML based output media from your code.  Here are a few features I think are particularly interesting;
>>>
>>> * Uses ocp-index.lib to provide code completion and types (includes documentation if .cmt files exist).  Only works with installed libraries at the moment.  Very new, a wee bit buggy, but I love it.
>>>
>>> * I copy/pasted the OCaml core language documentation page into a notebook.  Now you can learn interactively! [1]
>>>
>>> * Play with TyXML in the notebook and render typed HTML interactively.
>>>
>>> Installation is reasonably painless through opam, though you currently need to add my remote repository [2] and require a >=4.00.1 compiler.  Installation of IPython is a touch more involved as you will have to update (using 'pip') some python components [3].  Instructions for Ubuntu 13.10 are on the github page and I have also tested Fedora 20 which was, apart from some slightly different package names, very similar.
>>>
>>> Cheers,
>>> Andy
>>>
>>>
>>> [1] I am not sure if, according to the license terms, I should be providing this.  The documentation has not been changed in any way apart from one inserted paragraph at the start explaining the difference between a normal toplevel and the notebook interface.  I hope it's OK to provide this.
>>>
>>> [2] I'd love to push this to opam proper but require ocaml-zmq >=3.2.  There was a recent discussion on the list about this (indeed reading about ZeroMQ led me to IPython) so hopefully this will happen before too long.
>>>
>>> [3] I haven't tested this release with 0.13.2 which the distros provide.  Maybe it works anyway.
>>
>> _______________________________________________
>> opam-devel mailing list
>> opam-devel at lists.ocaml.org
>> http://lists.ocaml.org/listinfo/opam-devel
>>
>