Re: [exim-dev] v4.52 -- make failure on OSX 10.4.1 (was: Se…

Pàgina inicial
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
A: OpenMacNews
CC: exim-dev
Assumpte: Re: [exim-dev] v4.52 -- make failure on OSX 10.4.1 (was: Second candidate for 4.52 release -- make failure on OSX 10.4.1)
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,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book