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

Reply via email to