caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Simon Cruanes <simon.cruanes.2007@m4x.org>
To: Tim Cuthbertson <tim@gfxmonk.net>,caml-list@inria.fr
Subject: Re: [Caml-list] Determining what code is depending on `Unix`
Date: Sat, 13 Jun 2015 15:06:16 +0200	[thread overview]
Message-ID: <8AD46EC2-3269-4DD5-B1E7-C518B33EAC07@m4x.org> (raw)
In-Reply-To: <CAC-LLDjUJJhcZEvWid3yfMWq6wjLEg2DHdw4fYaWgXcVD9S6+g@mail.gmail.com>

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

I don't have a general answer for finding such dependencies, but in the list you have it seems there is at least batteries that depends on Unix.

Le 13 juin 2015 09:22:28 UTC+02:00, Tim Cuthbertson <tim@gfxmonk.net> a écrit :
>Hi all,
>
>I'm attempting to convert an existing (reasonably small) HTTP server
>written in OCaml to run on mirage's xen backend. I've gotten the
>compiler
>reasonably happy by replacing uses of Unix / Lwt_unix with appropriate
>mirage-compatible modules. But when it comes to link time, it seems
>that my
>application is still indirectly depending on Unix:
>
>+ ocamlbuild -quiet -cflag -warn-error -cflag +a-3 -build-dir
>[...]/_build/mirage-xen -use-ocamlfind -lflags
>-g,-linkpkg,-dontlink,unix
>main.native.o
>+ ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -syntax
>camlp4o
>-package 'fat-filesystem, io-page, mirage-block-xen.front, batteries,
>yojson, safepass, sha, lwt, lwt.syntax, mirage-console.xen,
>mirage-types,
>mirage-types.lwt, mirage-net-xen, mirage-types,cohttp,cohttp.lwt,
>mirage-http, lwt, mirage.runtime,
>tcpip.stack-direct,tcpip.stack-socket,mirage-clock-xen,conduit.mirage'
>src/passe.cmx src/passe_server.cmx src/unikernel.cmx main.cmx -o
>main.native.o
>File "_none_", line 1:
>Error: No implementations provided for the following modules:
>         Unix referenced from
>/home/tim/.opam/mirage_4_01_0/lib/lwt/lwt-unix.cmxa(Lwt_engine),
>         /home/tim/.opam/mirage_4_01_0/lib/lwt/lwt-unix.cmxa(Lwt_unix),
>
>/home/tim/.opam/mirage_4_01_0/lib/ipaddr/ipaddr_unix.cmxa(Ipaddr_unix)
>Command exited with code 2.
>
>I can't figure out why those modules are being linked in, though. I
>have
>grepped all files in _build/mirage-xen/**/*.ml.depends (as well as my
>own
>source code), and nothing in there matches "unix", nor mentions any of
>the
>modules listed above. The only lwt_* matches are:
>
>Cohttp_lwt_body
>Lwt_mutex
>Lwt_stream
>
>Which all seem like they shouldn't depend on unix either directly or
>indirectly.
>
>Is there some way to see a tree / list of "what module in my source
>code is
>transitively depending on Unix, and via what modules is that dependency
>inherited?" Or even if there's no way to see a tree, is there a way to
>do
>it one step at a time (e.g "what is depending directly on Lwt_unix",
>then
>repeat the process for those modules listed until I see something that
>surprises me)
>
>Failing that, does anyone have tricks for weeding indirect `Unix` usage
>out
>of a codebase which is not directly using it?
>
>Thanks,
> - Tim Cuthbertson
>
>-- 
>Caml-list mailing list.  Subscription management and archives:
>https://sympa.inria.fr/sympa/arc/caml-list
>Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>Bug reports: http://caml.inria.fr/bin/caml-bugs

-- 
Simon

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

  parent reply	other threads:[~2015-06-13 13:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-13  7:22 Tim Cuthbertson
2015-06-13 12:07 ` Török Edwin
2015-06-13 13:06 ` Simon Cruanes [this message]
2015-06-13 14:36   ` Tim Cuthbertson
2015-06-14 13:47     ` Simon Cruanes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8AD46EC2-3269-4DD5-B1E7-C518B33EAC07@m4x.org \
    --to=simon.cruanes.2007@m4x.org \
    --cc=caml-list@inria.fr \
    --cc=tim@gfxmonk.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).