Todd,

Thank you for your reply.

Below is the exim version currently running on our Solaris machine.

exim -bV
Exim version 3.36 #1 built 07-Dec-2010 03:13:49
Copyright (c) University of Cambridge 2002

Thanks,
Prashanth

-----Original Message-----
From: Todd Lyons [mailto:[email protected]] 
Sent: Wednesday, May 22, 2013 9:23 AM
To: Prashanth Katuri
Cc: [email protected]
Subject: Re: [exim] errors when building Makefile

On Tue, May 21, 2013 at 2:13 PM, Prashanth Katuri <[email protected]> wrote:
>
> We are using SunOne LDAP (5.2 P6) version.
> Below is the output after removing lookups.a and ldap.o files.
>
>
>  make FULLECHO=''
> `Makefile' is up to date.
>
> make[1]: Entering directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> /bin/sh ../scripts/Configure-config.h "make"
> make[2]: Entering directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> make[2]: `buildconfig' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> Building configuration file config.h
>>>> config.h built
>
>>>> version 4.80.1 #46
>
>>>> exicyclog script built
>>>> exinext script built
>>>> exiwhat script built
>>>> exigrep script built
>>>> eximstats script built
>>>> exipick script built
>>>> exiqgrep script built
>>>> exiqsumm script built
>>>> transport-filter.pl script built
>>>> convert4r3 script built
>>>> convert4r4 script built
>>>> exim_checkaccess script built

Something got changed at the Makefile level because it went through and rebuilt 
EVERYTHING.  I really only wanted to see it build the files that I had you 
remove.  But then I saw that it didn't rebuild
those:


> make[2]: Entering directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'

then again a little while later:

> make[2]: Entering directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory 
> `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'

On my system, when I remove the lookups.a file, it rebuilds it on that first 
pass through the lookups subdirectory:

make[2]: Entering directory
`/work/home/exim-build/projects/exim/src/build-Linux-i386/lookups'
ar cq lookups.a
ranlib lookups.a
make[2]: Leaving directory
`/work/home/exim-build/projects/exim/src/build-Linux-i386/lookups'

but then later, something made it build a few specific files in the lookups, 
which mine does in this strange order too:

> gcc lookups/lf_quote.c
> gcc -c -O -I/usr/local/include -I. -I/usr/local/BerkeleyDB/include 
> -I/usr/local/include   lookups/lf_quote.c
> gcc lookups/lf_check_file.c
> gcc -c -O -I/usr/local/include -I. -I/usr/local/BerkeleyDB/include 
> -I/usr/local/include   lookups/lf_check_file.c
> gcc lookups/lf_sqlperform.c
> gcc -c -O -I/usr/local/include -I. -I/usr/local/BerkeleyDB/include 
> -I/usr/local/include   lookups/lf_sqlperform.c

> gcc -o exim  acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o 
> directory.o dns.o drtables.o enq.o exim.o expand.o filter.o filtertest.o 
> globals.o dkim.o header.o host.o ip.o log.o lss.o match.o moan.o os.o parse.o 
> queue.o rda.o readconf.o receive.o retry.o rewrite.o rfc2047.o route.o 
> search.o sieve.o smtp_in.o smtp_out.o spool_in.o spool_out.o std-crypto.o 
> store.o string.o tls.o tod.o transport.o tree.o verify.o lookups/lf_quote.o 
> lookups/lf_check_file.o lookups/lf_sqlperform.o local_scan.o perl.o malware.o 
> mime.o regex.o spam.o spool_mbox.o demime.o bmi_spam.o spf.o srs.o dcc.o 
> version.o \
>           routers/routers.a transports/transports.a lookups/lookups.a \
>           auths/auths.a pdkim/pdkim.a \
>           -lresolv -lsocket -lnsl -lkstat -lm    \
>           -L/usr/lib -R /usr/lib -liconv -lpam -ldb 
> -L/usr/local/BerkeleyDB/lib/ -R /usr/local/BerkeleyDB/lib/ 
> -L/usr/local/lib -lldap -llber  \

Linking does reference the ldap and lber libraries, and gives it the correct 
search path.

>           -R /usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE  
> /usr/perl5/5.8.4/lib/sun4-solaris-64int/auto/DynaLoader/DynaLoader.a 
> -L/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE -lperl -lsocket -lnsl 
> -ldl -lm -lc  -L/usr/local/lib -R/usr/local/lib -lpcre
> ld: warning: global symbol '_END_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);
> ld: warning: global symbol '_START_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);

and based on the error message, it is looking in the version that you 
referenced.

> Undefined                       first referenced
>  symbol                             in file
> ldap_start_tls_s                    lookups/lookups.a(ldap.o)
> ld: fatal: symbol referencing errors. No output written to exim

There was a fair amount of work that went into the TLS routines last year.  
What is the last version that correctly builds for this system?

...Todd
--
The total budget at all receivers for solving senders' problems is $0.
 If you want them to accept your mail and manage it the way you want, send it 
the way the spec says to. --John Levine

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to