[Exim] exim 4.02 and perl 5.6.1 compilation problem - solved

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Bernard Stern
Data:  
Para: exim-users
Assunto: [Exim] exim 4.02 and perl 5.6.1 compilation problem - solved
Hello,

yesterday I posted my problems about exim compilation. The first problem
was quickly solved with the help of Philip:

gcc -D_REENTRANT -fno-strict-aliasing -I/usr/pack/perl-5.6.1-bs/include -D_LARGEFILE_SOURCE -D_FILE
++_OFFSET_BITS=64 -I/usr/pack/perl-5.6.1-bs/lib/5.6.1/sun4-solaris-thread/CORE -c perl.c
In file included from exim.h:325,
                 from perl.c:15:
structs.h:496: `MAX_NAMED_LIST' undeclared here (not in a function)
structs.h:496: size of array `domain_cache' has non-integer type
structs.h:497: `MAX_NAMED_LIST' undeclared here (not in a function)
structs.h:497: size of array `localpart_cache' has non-integer type
structs.h:610: `DNS_MAXNAME' undeclared here (not in a function)
In file included from exim.h:326,
                 from perl.c:15:
globals.h:416: `MAX_NAMED_LIST' undeclared here (not in a function)
globals.h:416: size of array `sender_address_cache' has non-integer type
globals.h:422: `MAX_NAMED_LIST' undeclared here (not in a function)
globals.h:422: size of array `sender_host_cache' has non-integer type


somehow the config.h file in the build directory got lost thus
the errors. Starting from a fresh dowload solved this problem

The second was tougher to find:

In file included from perl.c:27:
/usr/pack/perl-5.6.1-bs/lib/5.6.1/sun4-solaris-thread/CORE/perl.h:23:1: warning: "VOIDUSED" redefin
++ed
/usr/pack/perl-5.6.1-bs/lib/5.6.1/sun4-solaris-thread/CORE/config.h:3118:1: warning: this is the lo
++cation of the previous definition
perl.c: In function `xs_init':
perl.c:59: warning: passing arg 3 of `Perl_newXS' from incompatible pointer type
perl.c: In function `init_perl':
perl.c:75: warning: passing arg 2 of `perl_parse' from incompatible pointer type
perl.c:81: `thr' undeclared (first use in this function)
perl.c:81: (Each undeclared identifier is reported only once
perl.c:81: for each function it appears in.)
perl.c: In function `call_perl_cat':
perl.c:120: `thr' undeclared (first use in this function)

Thorough search through cpp output always hinted at perl threads. Then I
remembered that for some reason I cannot fathom right now, the local perl
has been compiled with thread support:

       -Dusethreads \
       -Duse5005threads \


With a fresh copy of perl _without_ both these options, I was able
to compile exim without any more problem.

I'm just wondering if anyone has experienced similar problems...

Regards,

Bernard Stern, SWITCH

____________S_W_I_T_CH___Swiss Academic_______________________________________
        mail: SWITCH Head Office       a          Tel: +41 1 268 1520
              Limmatquai 138           n          Fax: +41 1 268 1568
              CH-8001 Zurich           d        e-mail: stern@???
________________________________________Reseach Network_______________________