4 messages in net.sourceforge.lists.courier-usersRe: [courier-users] trouble compiling...
FromSent OnAttachments
PetroMay 14, 2000 11:40 pm 
PetroMay 15, 2000 9:53 pm 
PetroMay 15, 2000 10:49 pm 
PetroMay 16, 2000 12:00 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [courier-users] trouble compiling Courier on OPENBSD machine.Actions...
From:Petro (pet@bounty.org)
Date:May 15, 2000 9:53:19 pm
List:net.sourceforge.lists.courier-users

On Sun, 14 May 2000, Petro wrote:

I am attempting to compile, install, and play with Courier on a i386 OpenBSD box, and I am running across this little problem in soxwrap:

soxwrap.c: In function `dl_get': soxwrap.c:115: `RTLD_NOW' undeclared (first use in this function) soxwrap.c:115: (Each undeclared identifier is reported only once soxwrap.c:115: for each function it appears in.)

RTLD_NOW should be defined in your <dlfcn.h> as a flag to set immediate binding of shared library addresses.

Do you have something equivalent instead?

No, the closest, in fact, the only RTLD_* that is defined in /usr/include/dlfcn.h is RTLD_LAZY. Some digging (but not asking) on the OpenBSD misc mailing list shows this same problem cropping up with PHP4. Apparently the fix--which I am trying now (compiling, it's a slow box) is to change RTLD_NOW to RTLD lazy in the source, or to define it in the header. I am not really sure how to go about doing that yet (I'm not much of a programmer).

This apparently changes things to "Deferred function binding". Is this going to cause a problem?

The other option, I think, would be to define it in /usr/include/dlfcn.h, however, this may not be a good idea, if for come reason OpenBSDs linker doesn't support immediate binding.

Interestingly enough, Linux doesn't define it in /usr/include/dlfcn.h, but does in /usr/include/bits/dlfcn.h, which gets included by /usr/include/dlfcn.h. Solaris does define it explicitly in /usr/include/dlfcn.h, along with a lot of others that neither Linux nor OpenBSD do.

Oh well, I guess we'll see.

Thanks for your information.