I am currently trying to build Exim 1.90 on a Solaris 2.6 system using
the Berkeley DB version 1.85.
The attachment below is the script output of the build session and it
appears there are typedef conflicts between the DB include file
(/usr/local/include/db.h) and GCC 2.7.2.3 copy of the
/usr/include/sys/int_types.h.
Other than hacking the /usr/local/include/db.h include file, any other
ideas to get the exim build process round this problem.
I suppose that given 1.85 is no longer supported I should consider
migrating to 2.00 which would have the include file corrected for
Solaris 2.6 ?
Wm.
--
William Craven Email: William.Craven@???
University Computing Services Tel: +1-604-822-8955
University of British Columbia FAX: +1-604-822-5116
Vancouver, BC, Canada V6T 1Z2
cheshire$ make
>>> Creating links to source files...
cd build-${build:-`scripts/os-type`-`scripts/arch-type`}; make
../scripts/Configure-makefile
>>> New makefile installed
>>> Use "make makefile" if you need to force rebuilding of the makefile
../scripts/Configure-os.h
../scripts/Configure-os.c
gcc -O -o buildconfig buildconfig.c -lsocket -lnsl -lkstat
../scripts/Configure-config.h
`buildconfig' is up to date.
Building configuration file config.h
>>> config.h built
sed -e s?CONFIGURE_FILE?/local/etc/mail/exim.cf? \
-e s?BIN_DIRECTORY?/local/lib/exim/1.90/bin? \
-e s?EXICYCLOG_MAX?10? \
-e s?COMPRESS_COMMAND?/usr/local/bin/gzip? \
-e s?COMPRESS_SUFFIX?gz? \
-e s?CHOWN_COMMAND?/usr/bin/chown? \
-e s?CHGRP_COMMAND?/usr/bin/chgrp? \
-e s?MV_COMMAND?/bin/mv? \
-e s?RM_COMMAND?/bin/rm? \
../src/exicyclog.src > exicyclog-t
>>> exicyclog script built
sed -e s?CONFIGURE_FILE?/local/etc/mail/exim.cf? -e s?BIN_DIRECTORY?/local/lib/exim/1.90/bin? ../src/exinext.src > exinext-t
>>> exinext script built
sed -e s?CONFIGURE_FILE?/local/etc/mail/exim.cf? \
-e s?BIN_DIRECTORY?/local/lib/exim/1.90/bin? \
-e s?EXIWHAT_PS_CMD?/bin/ps? \
-e s?EXIWHAT_PS_ARG?-e? \
-e s?EXIWHAT_KILL_ARG?-USR1? \
-e s?EXIWHAT_EGREP_ARG?' exim( |$)'? \
../src/exiwhat.src > exiwhat-t
>>> exiwhat script built
sed -e s?PERL_COMMAND?/usr/local/bin/perl? \
../src/exigrep.src > ../util/exigrep-t
>>> exigrep script built in util directory
sed -e s?PERL_COMMAND?/usr/local/bin/perl? \
../src/eximstats.src > ../util/eximstats-t
>>> eximstats script built in util directory
sed -e s?PERL_COMMAND?/usr/local/bin/perl? \
../src/exiqsumm.src > ../util/exiqsumm-t
>>> exiqsumm script built in util directory
sed -e s?PERL_COMMAND?/usr/local/bin/perl? \
../src/transport-filter.src > ../util/transport-filter.pl-t
>>> transport-filter.pl script built in util directory
gcc -c -O -I. os.c
In file included from dbfn.h:28,
from exim.h:213,
from os.c:1:
/usr/local/include/db.h:54: conflicting types for `int8_t'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/include/sys/int_types.h:62: previous declaration of `int8_t'
/usr/local/include/db.h:56: warning: redefinition of `int16_t'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/include/sys/int_types.h:68: warning: `int16_t' previously declared here
/usr/local/include/db.h:58: warning: redefinition of `int32_t'
/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/2.7.2.3/include/sys/int_types.h:69: warning: `int32_t' previously declared here
*** Error code 1
make: Fatal error: Command failed for target `os.o'
Current working directory /usr/local/lib/exim/1.90/src/exim-1.90/build-SunOS5-5.6-sparc
*** Error code 1
make: Fatal error: Command failed for target `postmakefile'
Current working directory /usr/local/lib/exim/1.90/src/exim-1.90/build-SunOS5-5.6-sparc
*** Error code 1
make: Fatal error: Command failed for target `go'
cheshire$