exim4 install fails with error: incompatible command-line options

Bug #261026 reported by Paul Bryan
42
This bug affects 1 person
Affects Status Importance Assigned to Milestone
exim4 (Debian)
Fix Released
Unknown
exim4 (Ubuntu)
Fix Released
Medium
Unassigned
Hardy
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: exim4

Attempt to install exim4-daemon-light on Ubuntu 8.04.1 results in the following error result:

root@host:~# apt-get install exim4-daemon-light
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  exim4-base exim4-config
Suggested packages:
  exim4-doc-html exim4-doc-info eximon4 gnutls-bin openssl libmail-spf-query-perl mail-reader
Recommended packages:
  mailx
The following NEW packages will be installed:
  exim4-base exim4-config exim4-daemon-light
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 1707kB of archives.
After this operation, 3617kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com hardy/main exim4-config 4.69-2 [310kB]
Get:2 http://us.archive.ubuntu.com hardy/main exim4-base 4.69-2 [981kB]
Get:3 http://us.archive.ubuntu.com hardy/main exim4-daemon-light 4.69-2 [416kB]
Fetched 1707kB in 3s (456kB/s)
Preconfiguring packages ...
hostname: Unknown host
hostname: Unknown host
Selecting previously deselected package exim4-config.
(Reading database ... 11741 files and directories currently installed.)
Unpacking exim4-config (from .../exim4-config_4.69-2_all.deb) ...
Selecting previously deselected package exim4-base.
Unpacking exim4-base (from .../exim4-base_4.69-2_i386.deb) ...
Selecting previously deselected package exim4-daemon-light.
Unpacking exim4-daemon-light (from .../exim4-daemon-light_4.69-2_i386.deb) ...
Setting up exim4-config (4.69-2) ...
hostname: Unknown host
Adding system-user for exim (v4)

Setting up exim4-base (4.69-2) ...

Setting up exim4-daemon-light (4.69-2) ...
 * Starting MTA
exim: incompatible command-line options or arguments
invoke-rc.d: initscript exim4, action "start" failed.
dpkg: error processing exim4-daemon-light (--configure):
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 exim4-daemon-light
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@host:~#

Note the "exim: incompatible command-line options or arguments" error message above.

Revision history for this message
Paul Bryan (pbryan) wrote :

BTW, I followed-up on the "hostname: Unknown host" message above. I've set the hostname properly, purged and re-installed exim4-daemon-light, with the same "incompatible command-line options" error message.

Revision history for this message
TJ (tj) wrote :

This appears to be the Debian bug which has been fixed:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477194

Changed in exim4:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
TJ (tj) wrote :

A work-around which solved it here is to edit "/etc/init.d/exim4" and remove the quotes surrounding variables holding optional parameters passed to start-stop-daemon, since if those variables are empty a pair of quote-marks will be passed to start-stop-daemon.

After editing the file force apt to fix-up the packages:

sudo apt-get -f install

=== /etc/init.d/exim4 fixed start_exim() function ===

start_exim()
{
  [ -e /var/run/exim4 ] || \
    install -d -oDebian-exim -gDebian-exim -m750 /var/run/exim4
  case ${QUEUERUNNER} in
    combined)
      start_daemon -p "$PIDFILE" \
        "$DAEMON" -bd "-q${QFLAGS}${QUEUEINTERVAL}" \
        ${COMMONOPTIONS} ${QUEUERUNNEROPTIONS} ${SMTPLISTENEROPTIONS}
      log_progress_msg "exim4"
      ;;
    separate)
      start_daemon -p "$PIDFILE" \
        "$DAEMON" -bd ${SMTPLISTENEROPTIONS} ${COMMONOPTIONS}
      log_progress_msg "exim4_listener"
      start_daemon -p "$QRPIDFILE" \
        "$DAEMON" -oP "$QRPIDFILE" \
        "-q${QFLAGS}${QUEUEINTERVAL}" ${QUEUERUNNEROPTIONS} ${COMMONOPTIONS}
      log_progress_msg "exim4_queuerunner"
      ;;
    queueonly)
      start_daemon -p "$QRPIDFILE" \
        "$DAEMON" -oP "$QRPIDFILE" \
        "-q${QFLAGS}${QUEUEINTERVAL}" ${QUEUERUNNEROPTIONS} ${COMMONOPTIONS}
      log_progress_msg "exim4_queuerunner"
      ;;
    no|ppp)
      start_daemon -p "$PIDFILE" \
        "$DAEMON" -bd ${SMTPLISTENEROPTIONS}
      log_progress_msg "exim4_listener"
      ;;
    nodaemon)
      ;;
  esac
}

Revision history for this message
Paul Bryan (pbryan) wrote :

Agreed, the workaround resolves the problem and the bug documented in the Debian report appears to be the cause.

Changed in exim4:
status: Unknown → Fix Released
Revision history for this message
ward (ward-pong) wrote :

Hardy's going to be with us for a long time. Can we get this workaround/a patch in the next incremental release?

Revision history for this message
Ian Weisser (ian-weisser) wrote :

This was fixed in Debian version 4.69-3 in April 2008, included in Intrepid (4.69-5) but too late for Hardy (4.69.2). Failure to install is a pretty serious failure.
This bug requires an SRU or backport to fix.
Nominating for SRU

Revision history for this message
Martin Pitt (pitti) wrote :

Fixed in intrepid and above.

Changed in exim4 (Ubuntu):
status: Confirmed → Fix Released
Changed in exim4 (Ubuntu Hardy):
assignee: nobody → Canonical Server Team (canonical-server)
status: New → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

Confirmed that this sounds like a worthwhile SRU. Assigned to server team, but if you feel like digging out/testing the patch or even prepare a debdiff for sponsoring, that would be much appreciated, of course.

Thierry Carrez (ttx)
Changed in exim4 (Ubuntu Hardy):
assignee: canonical-server → ttx
status: Triaged → In Progress
Revision history for this message
Thierry Carrez (ttx) wrote :

The patch looks sane, however I fail to reproduce the issue.
Installing exim4-daemon-light on up-to-date hardy just works for me.

Looking at the Debian bug we are experiencing something different. Their issue was triggered by a change in how start_daemon handles args in lsb>=3.2-9, and hardy runs with 3.2-4ubuntu1. Running the init script in debug mode, in particular, shows no empty ('' '' '') arguments in the start-stop-daemon call :

$ sudo EX4DEBUG=1 /etc/init.d/exim4 start
...
+ /sbin/start-stop-daemon --start --nicelevel 0 --quiet --exec /usr/sbin/exim4 --oknodo --pidfile /var/run/exim4/exim.pid -- -bd -q30m
...

Could someone that experienced that issue confirm lsb-base version and send the result of the "sudo EX4DEBUG=1 /etc/init.d/exim4 start" command ?

Changed in exim4 (Ubuntu Hardy):
status: In Progress → Incomplete
Revision history for this message
Thierry Carrez (ttx) wrote :

Anyone reproducing the issue could answer to my last questions ?

Changed in exim4 (Ubuntu Hardy):
assignee: Thierry Carrez (ttx) → nobody
Revision history for this message
Rolf Leggewie (r0lf) wrote :

Hardy has seen the end of its life and is no longer receiving any updates. Marking the Hardy task for this ticket as "Won't Fix".

Changed in exim4 (Ubuntu Hardy):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.