RE: [Exim] Libc_r

Pàgina inicial
Delete this message
Reply to this message
Autor: Juha Saarinen
Data:  
A: Philip Hazel
CC: Exim-Users@Exim. Org
Assumpte: RE: [Exim] Libc_r
:: I am seeing this thread, but as I do not have access to a FreeBSD 4.3
:: machine, I can't really do anything to help.

Well, Ollie Cook and another guy managed to build and run Exim 3.22 on
FreeBSD 4.3 from the ports collection, so in theory, it should work.

:: Looks like the FreeBSD port adds things to the basic package. There is
:: no exim.sh script in the base distribution.

It's just a simple wrapper:

# less /usr/local/etc/rc.d/exim.sh
#!/bin/sh
args='-bd -q30m'

case "$1" in
start)
        [ -x /usr/local/sbin/exim ] && /usr/local/sbin/exim $args && echo -n
' exim'
        ;;
stop)
        killall exim && echo -n ' exim'
        ;;
*)
        echo "Usage: `basename $0` {start|stop}" >&2
        exit 64
        ;;
esac


exit 0

An attempt at user-friendliness ;-).

:: 1. Have you tried building from a vanilla distribution instead of the
:: FreeBSD port?

Nope, will try that. The port fetches Exim from one of these sites:

ftp://ftp.cus.cam.ac.uk/pub/software/programs/exim/ \
                http://www.exim.org/ftp/ \
                ftp://ftp.is.co.za/networking/mail/transport/exim/
DISTFILES=      exim-3.22.tar.gz exim-texinfo-3.20.tar.gz


And this is the only patch applied, as far as I can tell:

=====================================================================
This patch makes four changes to the exim_install script:

1) Changes the test used to determine whether a file should be installed
to cope with files which we "touch" to zero bytes for packaging
purposes.

2) Causes an exim.sh startup script to be installed in the BSD-style
${PREFIX}/etc/rc.d

3) Causes the configure file to be installed as a sample only. The
administrator needs to rename this file to "activate" exim.

4) Changes the invocation of make-info to be less prone to fail on
silly errors. XXX Check that this is still necessary from time
to time.

--- scripts/exim_install.orig   Mon Aug  2 17:43:03 1999
+++ scripts/exim_install        Tue Aug  3 14:31:20 1999
@@ -142,9 +142,9 @@
     from=../util/
   fi


-  if [ ! -s ${from}${name} ]; then
+  if [ ! -r ${from}${name} ]; then
     echo $com ""
-    echo $com "*** `pwd`/${from}${name} does not exist or is empty"
+    echo $com "*** `pwd`/${from}${name} does not exist"
     echo $com "*** Have you built Exim successfully?"
     echo $com "*** Exim installation ${ver}failed ***"
     exit 1
@@ -195,25 +195,40 @@
   fi
 done


+# Install exim.sh startup script in FreeBSD's ${PREFIX}/etc/rc.d so that
+# exim will start up on boot once sendmail is disabled and
+# ${PREFIX}/etc/exim/configure is in place.

+echo $com ""

-# If there is no configuration file, install the default.
+if [ -f ${PREFIX}/etc/rc.d/exim.sh ]; then
+  echo $com "${PREFIX}/etc/rc.d/exim.sh exists, not overwritten"
+else
+  echo $com "Installing exim.sh startup script in ${PREFIX}/etc/rc.d"
+  ${real} mkdir -p ${PREFIX}/etc/rc.d
+  echo ${CP} -p exim.sh ${PREFIX}/etc/rc.d/
+  ${real} ${CP} -p exim.sh ${PREFIX}/etc/rc.d/
+  if [ $? -ne 0 ]; then
+    echo $com ""
+    echo $com "**** Exim installation ${ver}failed ****"
+    exit 1
+  fi
+fi


==========================================================================

:: 2. Have you tried starting Exim with the -d9 option to get more
:: information about where it is crashing? That might enable me to be more
:: helpful.

Yes, tried that.

su-2.05# /usr/local/sbin/exim -d9 -q30m
Exim version 3.22 debug level 9 uid=0 gid=0
probably Berkeley DB version 1.8x (native mode)
Actual local interface address is 192.168.0.239 (xl0)
Actual local interface address is 127.0.0.1 (lo0)
Caller is an admin user
Caller is a trusted user
originator: uid=0 gid=0 login=root name=Charlie Root
pid written to /var/run/exim.pid-q30m
LOG: 0 MAIN
exim 3.22 daemon started: pid=9148, -q30m, not listening for SMTP
set_process_info: 9148 daemon: -q30m, not listening
daemon running with uid=0 gid=0 euid=0 egid=0
SIGALRM received
1 queue-runner process running
Starting queue-runner: pid 9149
LOG: 0 MAIN
Start queue run: pid=9149
queue running main directory
LOG: 0 MAIN
End queue run: pid=9149
Segmentation fault



-- Juha