Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Dbm: linking problem
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Gerd Stolpmann <info@g...>
Subject: Re: [Caml-list] Dbm: linking problem
On Fre, 2004-04-23 at 17:34, Sebastien Ferre wrote:
> Hello,
> I try to build a cross-platform program that uses the
> Dbm library. More specifically, I want to use a version
> of DBM that allows for arbitrary size data (like GDBM,
> unlike DBM).
> On my RedHat station, it works fine as 'libndbm.a' is
> linked to 'libdb2.a'. (One database file is created with
> extension 'db'.)
> But on a Solaris station, I got the Dbm_error("dbm_store failed"),
> and from my experiments it seems that this occurs when
> the data is over 1024 bytes. I don't know which library
> is actually used. (2 database files are created with extension
> 'dir' and 'pag'.) However, I found the library 'libgdbm.a'
> but I don't know how to force ocamlrun to link this
> library instead of the default one.
> My questions are:
> 1. How do I know which libraries are to be linked at execution
>     time (by ocamlrun) ?
> 2. Can I specify a different library to be used, and how ?
>     (possibly without recompiling the OCaml library Dbm)
> Thanks for your help!

For GODI, I had the same problem: How to force linking with gdbm when a
system-wide ndbm is present (often enough, directly in libc). I could
achieve this only with a quite heavy patch:

The reason is that one cannot call the ndbm functions, one must call the
corresponding gdbm functions instead. The ndbm layer for gdbm generally
does not work in this case.

Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: