[Pkg-db-devel] Bug#437742: Bug#437742: libdb4.6: FTBFS on arm: in testsuite, run_subsystem: env env007: db open:invalid argument
Steve Langasek
vorlon at debian.org
Thu Sep 4 05:13:36 UTC 2008
On Wed, Sep 03, 2008 at 07:52:30PM +0000, Clint Adams wrote:
> On Tue, Sep 02, 2008 at 01:33:54AM -0700, Steve Langasek wrote:
> > echo "source ../test/test.tcl; run_std env007" | tclsh8.5
> > How do these tcl commands map to C, for better debugging?
> Without looking into the tcl bindings, I would guess that
> berkdb_env -create -home ./TESTDIR -txn -encryptaes $passwd
> berkdb_open -create -btree -mode 0644 -env $env -encrypt a.db
> maps (modulo error checking) to something like
> DB_ENV *env;
> DB *d;
> int i;
>
> i = db_env_create(&env, 0);
> i = env->set_encrypt(env, "passw0rd", DB_ENCRYPT_AES);
> i = env->open(env, "./TESTDIR", DB_INIT_TXN | DB_CREATE, 0666);
> i = db_create(&d, env, 0);
> i = d->open(d, NULL, "a.db", NULL, DB_BTREE, DB_CREATE, 0644);
> or something.
> As for disabling encryption on a release arch, I don't know.
Had to refine this a bit to reproduce the error from the tcl test:
#include <stdio.h>
#include <string.h>
#include <db.h>
int main() {
DB_ENV *env;
DB *d;
int i;
i = db_env_create(&env, 0);
i = env->set_encrypt(env, "passw0rd", DB_ENCRYPT_AES);
i = env->open(env, "./TESTDIR", DB_INIT_MPOOL | DB_INIT_TXN | DB_CREATE, 0666);
i = db_create(&d, env, 0);
i = d->set_flags(d, DB_ENCRYPT);
i = d->open(d, NULL, "a.db", NULL, DB_BTREE, DB_CREATE, 0644);
printf("error is: %s\n",strerror(i));
}
This gives the EINVAL from the tcl test, and appears to be otherwise
correct.
But figuring out where this EINVAL originates seems to be non-trivial.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
More information about the Pkg-db-devel
mailing list