Ruslan Ermilov wrote: > > Seriously, the "Evolution" build process is seriously > > broken; it works on Linux because Linux has a simple > > threads implementation, rather than an efficient one. > > Doctor's Assistant: "No library should ever have an explicit > dependency on libc".
One case that springs to mind is the mount system call interface change. A librarr that wrapped mount expecting the old version of the interface should be linked against the shared object that exports the interface on which it depends (in this case, that's libc.so.<previous>). There are some cases where this is true, but it's incredibly rare. In this case, though, we have a threaded program that doesn't link libc_r first, which it's *required* to do, even if it *happens* to work on Linux, it *won't* on a lot of other UNIX systems. It's questionable whether it's also erroneous to link the .so's that link gainst libc.so with libc.so instead of libc_r.so, if they are threaded, anyway. Oh... another libc.so linked to a shared object example that's valid: libc_r.so should be linked against libc.so. Duh! Nearly missed that one! 8-). -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message