On Thu, 23 Jun 2005, OpenMacNews wrote:

> tho, next 'make' failure is:
> 
>    ...
> 
>    cc exim_monitor/em_version.c
>    cc -o eximon.bin
>    /usr/bin/ld: warning multiple definitions of symbol __XawTextSearch
>    em_TextPop.o definition of __XawTextSearch in section (__TEXT,__text)
>    /usr/X11R6/lib/libXaw.dylib(TextPop.o) definition of __XawTextSearch
>    /usr/bin/ld: warning multiple definitions of symbol __XawTextDoSearchAction
>    em_TextPop.o definition of __XawTextDoSearchAction in section
>    (__TEXT,__text)
>    /usr/X11R6/lib/libXaw.dylib(TextPop.o) definition of
> __XawTextDoSearchAction
>    /usr/bin/ld: warning multiple definitions of symbol
>    __XawTextPopdownSearchAction
>    em_TextPop.o definition of __XawTextPopdownSearchAction in section
>    (__TEXT,__text)
>    /usr/X11R6/lib/libXaw.dylib(TextPop.o) definition of
>    __XawTextPopdownSearchAction
>    >>> exim monitor binary built

Only warnings, so probably OK. The X11 code is ancient. One of these 
days eximon should be rewritten to use a modern toolkit. Here is a 
comment from OS/Makefile-Default:

# A modified version of the Athena TextPop module is supplied with Exim. The
# modification is to remove the "replace" part of the "search and replace"
# operation because it isn't wanted. TextPop is only one of a number of
# modules that make up the Text widget. Some antique link editors cannot handle
# the case of a replacement module for one of a set of modules. To allow
# the monitor to be linked in such cases, set the value of EXIMON_TEXTPOP
# to be empty. The search operations will then contain a useless "replace"
# option, which is untidy, but does no harm.                           
                                                                        
EXIMON_TEXTPOP=em_TextPop.o  

>    cc dnsdb.c
>    dnsdb.c:45: error: 'T_A' undeclared here (not in a function)
>    dnsdb.c:52: error: 'T_CNAME' undeclared here (not in a function)
>    dnsdb.c:54: error: 'T_MX' undeclared here (not in a function)
>    dnsdb.c:56: error: 'T_NS' undeclared here (not in a function)
>    dnsdb.c:57: error: 'T_PTR' undeclared here (not in a function)

Something needs including to get these macros. On my Linux box these 
values are defined in

/usr/include/arpa/nameser_compat.h:

which is included by

/usr/include/arpa/nameser.h

which is included by Exim's "#include <arpa/nameser.h>".

I note that the actual definitions are of the form

#define T_CNAME              ns_t_cname

so it looks like a naming change. I will insert some conditionals 
definitions to check for the ns_t_ formats and define the old ones 
myself if they aren't already defined. Maybe that will solve this one.

>    dnsdb.c: In function 'dnsdb_find':
>    dnsdb.c:223: warning: comparison between pointer and integer
>    dnsdb.c:235: warning: pointer/integer type mismatch in conditional
>    expression
>    dnsdb.c:235: warning: pointer/integer type mismatch in conditional
>    expression
>    dnsdb.c:235: warning: initialization makes integer from pointer without a
>    cast
>    dnsdb.c:243: warning: comparison between pointer and integer
>    dnsdb.c:283: warning: comparison between pointer and integer
>    dnsdb.c:320: warning: comparison between pointer and integer

These are a consequence of the lack of T_ macros, I think.

-- 
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