caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Elisa Rebolini <erebolini@gmail.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Ocamlbuild doc with lacaml module
Date: Thu, 21 Feb 2013 15:32:58 +0100	[thread overview]
Message-ID: <CAPFanBEJ5WJ+KgiORJX_b2SSK=3dGLRZhBc-2ZEDQGhRx5KLHg@mail.gmail.com> (raw)
In-Reply-To: <5126203A.9040205@gmail.com>

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

Two remarks:

1. You should use "ocamlfind" to provide you with machine-portable path
information on OCaml libraries (this only works with libraries that have
ocamlfind support, but that's essentially all libraries worth using, and
otherwise it's a packaging bug that you should report to the library author
or distributor). So instead of the machine-dependent LIB variable, you
could just set:
  LIB=-I,$(shell ocamlfind query lacaml)

2. You don't actually need this include-handling logic as ocamlfind can
deal with that for you. To use it from ocamlbuild, the magic option is
"-use-ocamlfind", and then using "-pkg(s)" instead of "-lib(s)" option. I
was able to reproduce your problem on a test file, and fixed it with the
following Makefile:

all:
    ocamlbuild -use-ocamlfind -pkgs bigarray,lacaml,str,unix -verbose 2
molexc.native

clean:
    ocamlbuild -clean

doc:
    ocamlbuild -use-ocamlfind -pkgs bigarray,lacaml,str,unix
molexc.docdir/index.html

(To see a list of available ocamlfind package, use "ocamlfind list"; see
_build/_log for the actual compilation lines that ocamlbuild uses, if you
want to reproduce them by hand.)

On Thu, Feb 21, 2013 at 2:25 PM, Elisa Rebolini <erebolini@gmail.com> wrote:

> I've installed lacaml 7.0.3 by following the installation procedure
>         'ocaml setup.ml -configure'
>         'ocaml setup.ml -build'
>         'ocaml setup.ml -install'
> The path to the lacaml package is /usr/local/lib/ocaml/site-lib/lacaml
> and my Makefile is
>
> hostname := $(shell uname -n)
>
> # Default
> LIB=-I,+site-lib/lacaml
>
> ifeq ($(hostname),clastos)
> LIB=-I,+site-lib/lacaml
> endif
>
> ifeq ($(hostname),bulle)
> LIB=-I,/usr/local/lib/ocaml/3.12.1/lacaml
> endif
>
> all:
>         ocamlbuild -libs bigarray,lacaml,str,unix -verbose 2 -cflags $(LIB)
> -lflags $(LIB) molexc.native
>
> clean:
>         ocamlbuild -clean
>
> doc:
>         ocamlbuild -libs bigarray,lacaml,str,unix -verbose 2 -cflags $(LIB)
> -lflags $(LIB) molexc.docdir/index.html
>
> thanks
> --
> Elisa
>
> Le 21/02/2013 14:11, Gabriel Scherer a écrit :
> > It would help to have more precise information about your setup. Could
> you
> > detail how you installed lacaml on your system, and provide a directory
> > tarball for a simple project allowing to reproduce your problem (with the
> > _tags file etc.)?
> >
> > On Thu, Feb 21, 2013 at 2:07 PM, Elisa Rebolini <erebolini@gmail.com>
> wrote:
> >
> > Hello list,
> > I'm developping a quantum chemistry software with ocaml and use lacaml
> > as a binding to the LAPACK and BLAS libraries.
> > I have a warning at the compilation with ocamlbuild
> >         Warning: Failed to build the module Lacaml requested by ocamldep
> >         mid rule ocaml: ml -> cmo & cmi (%=parser_epsilon ): cache hit
> > but the compilation is still successful and the program works as
> > expected but when I try to compile the documentation I have an error
> >         Error: Unbound module Lacaml
> > I'm not very skilled (yet?) with caml so any help would be very much
> > appreciated.
> > Thanks a lot
> >>
> >> --
> >> 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
> >>
> >
>

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

  reply	other threads:[~2013-02-21 14:34 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-21 13:07 Elisa Rebolini
2013-02-21 13:11 ` Gabriel Scherer
2013-02-21 13:25   ` Elisa Rebolini
2013-02-21 14:32     ` Gabriel Scherer [this message]
2013-02-21 14:49       ` Elisa Rebolini
2013-02-21 15:54         ` Markus Mottl
2013-02-21 14:34     ` Markus Mottl
2013-02-21 14:37       ` Gabriel Scherer
2013-02-21 14:46         ` Markus Mottl

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='CAPFanBEJ5WJ+KgiORJX_b2SSK=3dGLRZhBc-2ZEDQGhRx5KLHg@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=erebolini@gmail.com \
    /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).