caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Utop Difficulties with C callbacks
@ 2015-03-19 18:19 Kenneth Adam Miller
  2015-03-19 19:01 ` Jeremie Dimino
  0 siblings, 1 reply; 8+ messages in thread
From: Kenneth Adam Miller @ 2015-03-19 18:19 UTC (permalink / raw)
  To: caml users

[-- Attachment #1: Type: text/plain, Size: 2150 bytes --]

So, I've been working for a while with a library and I've made a good
iteration. My code compiles and is nice, it does what is expected, but it
depends on a library, Piqi, that doesn't want to play nice in the
interpreter. I want to be a good citizen and do my homework and due
diligence, but nothing I do seems to make utop want to play nice with piqi.

Here goes:

When I execute utop -require mypackage repository with the newly built
package mypackage, but I get this error:

File "_none_", line 1:
Error: The external function `camlidl_piqi_c_piqi_strtoull' is not available

I checked out piqi locally, and pinned the package to my local build, where
I tried to ensure that the appropriate .c file is getting compiled and
linked into the cma and cmxa. They are without a shadow of a doubt. I then
thought maybe I would add an include directive to utop to tell it to pick
up the mli where the the external func : type = "name" is. Nope.

I've done everything I can, from adding all combinations of additional
piqirun/piqilib/piqirun.pb/piqirun.ext combinations to the _oasis file that
specifies the serialization to trying to build my own utop to adding
additional require statements and include statements in the utop script. So
after trying to add the dependency to BuildDepends for myouterlib, I had
backed off to just adding the mylibrary to the specific binary that
consumes it, which is where my changes are (in that binary).

I even went so far as to just try and get the changes compiled into a
custom utop. Nope. I got errors and errors; I built it with:
ocamlbuild -use-ocamlfind -pkg threads -pkg utop -pkg myouterlib -pkg
camlp4 -pkg core_kernel customtop.top

(At the time I ran this, I had bap package's _oasis updated with the
appropriate compile BuildDepends so that it would link mylibrary too)

and I had the let () = Utop_main.main ();; in "utopmain.ml" and customary
customtop.mltop containing just "Utopmain". I got:

(Unbound value <everything I need *and* that's contained in mylibrary which
is specified in -pkg!>)

I don't know what else to do besides ship code that is watered down without
an interactive component. :/

[-- Attachment #2: Type: text/html, Size: 2560 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-20 15:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-19 18:19 [Caml-list] Utop Difficulties with C callbacks Kenneth Adam Miller
2015-03-19 19:01 ` Jeremie Dimino
2015-03-19 19:33   ` Kenneth Adam Miller
2015-03-19 21:36     ` Kenneth Adam Miller
2015-03-20  9:43       ` Jeremie Dimino
2015-03-20  9:57         ` Daniel Bünzli
2015-03-20 14:51           ` Kenneth Adam Miller
2015-03-20 15:02             ` Daniel Bünzli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).