tags:

views:

24

answers:

1

In a team environment on a Linux system I just pulled the latest code base from the head of the tree, and some stuff that's been working for a long time has stopped working. We have dynamic shared objects, and the APR library call faills:

err = apr_dso_load(&mod->handle, mod->path, mod->pool);   
if (err ) {
     fprintf (stderr, "Failed %d\n", err);

}

I get error 20019, and have no idea how to make use of this error. I can't call apr_dso_error because I have no valid handle. The file is there, readable and as best I can tell is correct.

TIA.

+1  A: 

Use the following to get a human readable string description of your error:

char* apr_strerror(apr_status_t statcode,
                   char * buf,
                   apr_size_t bufsize
                  )
dirkgently
I do this, and the error string is "DSO load error". Grrr. But thanks for your help.
Leonard
Looks like your module did not get loaded. Try to check all apr_* calls before and upto that line. Also, check if you have a valid mod->handle or not.
dirkgently
Or, you could have a missing dependency.
dirkgently
Actually it turns out it was a new module, and for complicated reasons the other modules I was loading had correct paths, but the new module did not, so it just wasn't finding it at the path.
Leonard