On Thu, 7 Jul 2005, OpenMacNews wrote:

> i think i've managed to track dow the missing "strnlen" def'n -- in/related-to
> libsrs_alt -- but am unclear as to WHY the problem is manifesting itself i the
> EXIM build ...

That's good, because the code of Exim contains no references to strnlen, 
which is not a standard C function, or to _strnlen.

>    % grep -rln strnlen .../exim-4.52

Precisely!

> as a check, changing in Local/Makefile:
> 
>       ---     EXPERIMENTAL_SRS=yes
> 
> and,
> 
>       ---     LDFLAGS=-L/usr/local/lib -lsrs_alt -lspf2 -ldomainkeys
> -L/usr/local/pcre50/lib -lpcre
>       +++     LDFLAGS=-L/usr/local/lib -lspf2 -ldomainkeys
> -L/usr/local/pcre50/lib -lpcre
> 
> cleaning, then make-ing, results in a SUCCESSFUL BUILD (!):

I'm glad it's Not My Problem (tm), but concerned that you still have 
one.

> so, at 1st glace, it looks like libsrs is the (a?) culprit.

Indeed.

> soooo, why is the _strnlen undef'd in the exim build/compile?

Good question, but I'm afraid I'm pretty ignorant in the way linking is 
done. The function strnlen (without the underscore) is a GNU extension 
to the C library. Many systems do not have it (e.g. Solaris). However, 
_strnlen (with the underscore) could be an internal function of some 
sort; its existence doesn't necessarily mean there is a strlen function, 
though that is highly suggestive.

I suppose the next logical steps are (1) to find a source for libsrs and
scan it for strnlen, and (2) to see if strnlen exists on your box ("man 
strnlen").


-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to