On Mon, 15 May 2000, Petro wrote:
On Mon, 15 May 2000, Petro wrote:
This apparently changes things to "Deferred function
binding". Is this going to cause a problem?
Yes. RTLD_NOW is the exact opposite of RTLD_LAZY:
flag must be either RTLD_LAZY, meaning resolve undefined
symbols as code from the dynamic library is executed, or
RTLD_NOW, meaning resolve all undefined symbols before
dlopen returns, and fail if this cannot be done.
Hmmm -- this seems to imply that either RTLD_LAZY or RTLD_NOW must be
set. Maybe in freebsd simply the absence of RTLD_LAZY is sufficient to
force RTLD_NOW behavior. In that case RTLD_NOW can simply be #defined to
0.
#ifndef RTLD_NOW
#define RTLD_NOW 0
#endif
But the question is whether this is the right thing to do.
Hmmm... Ok. I put the above in soxwrap.c and restarted the compile.
That compiled just fine, but the build died when compiling
Well, compilation is one thing. The real question is whether it'll work.
Yup.
Anyway, with those 2 changes it compiles fine, but I get an
error when I run "make check".
The make check fails in courier/module.local with the commmand:
./testsuite | cmp -s - ./testsuite.txt
giving an "Error code 1". However, when I cd to that directory and
run the command manually, it completes silently (successfully?).
I commented out the command under make check in the
modules.local directory, and the rest of the make check went file. I
am going to finish the install tomorrow and see if it works.
Thanks for your help.