Drup / ocaml-lmdb

Ocaml bindings for lmdb.
https://drup.github.io/ocaml-lmdb/dev/
MIT License
48 stars 3 forks source link

Opam doesn't install package correctly #42

Open kgraaf opened 1 year ago

kgraaf commented 1 year ago

I've installed the Lmdb package via Opam and the build goes find, but I can't actually open up the Lmdb package in the repl or when compiling a source file.

madroach commented 1 year ago

Could you provide more details? It works for me on OpenBSD with OCaml 5.00.0 and lmdb 0.9.29.

kgraaf commented 1 year ago

Yeah sure. I'm on Ubuntu 22.04. I've tried it with Ocaml 4.14 and 5.0 and in both cases when I try and open up the repl and "open Lmdb;;" it says there is no such module. Lmdb 1.0 in both cases

kgraaf commented 1 year ago

I tried to install 0.9.29 and there doesn't appear to be such a version on opam

madroach commented 1 year ago

This is how I do it:

% ocaml -I "${OPAM_SWITCH_PREFIX}/lib/bigstringaf" -I "${OPAM_SWITCH_PREFIX}/lib/lmdb" bigstringaf.cma lmdb.cma
OCaml version 5.0.0
Enter #help;; for help.

# open Lmdb;;
# Env.create;;
- : 'a Lmdb.perm ->
    ?max_readers:int ->
    ?map_size:int ->
    ?max_maps:int ->
    ?flags:Lmdb.Env.Flags.t -> ?mode:int -> string -> Lmdb.Env.t
= <fun>
#

It might be easier using utop:

% utop
────────┬─────────────────────────────────────────────────────────────┬────────
        │ Welcome to utop version 2.13.1 (using OCaml version 5.0.0)! │
        └─────────────────────────────────────────────────────────────┘

Type #utop_help for help about using utop.

─( 11:26:42 )─< command 0 >─────────────────────────────────────{ counter: 0 }─
utop # #require "lmdb";;
─( 11:26:43 )─< command 1 >─────────────────────────────────────{ counter: 0 }─
utop # open Lmdb;;
─( 11:26:55 )─< command 2 >─────────────────────────────────────{ counter: 0 }─
utop # Env.create;;
- : 'a perm ->
    ?max_readers:int ->
    ?map_size:int ->
    ?max_maps:int -> ?flags:Mdb.EnvFlags.t -> ?mode:int -> string -> Env.t
= <fun>
─( 11:27:00 )─< command 3 >─────────────────────────────────────{ counter: 0 }─
utop #