My server is down because I don't know how to fix this. I'm on Ubuntu 12.04 I use this PHP5 repository: http://ppa.launchpad.net/ondrej/php5/ubuntu precise main

I've never had a problem until today. A few hours ago, I did an apt-get upgrade and everything went fine until it reached the PHP5-FPM portion:

The following packages have unmet dependencies: php5-fpm : Depends: libsystemd-daemon0 (>= 31) but it is not installable E: Unable to correct problems, you have held broken packages.

I tried to install libsystemd-daemon0 but I get a notice that it has no installation candidate. Can someone tell me how to fix this without me pulling what's left of my hair out?


From this moment, the solution should very easy, just do:

apt-get update
apt-get upgrade

Since it seems that adding another PPAs is too complicated, I have merged all necessary packages into the main repository, so this should not happen anymore.

Edit: JFTR the php5-fpm no longer depends on any systemd component, so it can be installed without the hassle of pulling libsystemd-daemon0.

  • Thanks! One less thing to worry about in deploy scripts. – tedders Aug 1 '13 at 14:40
  • 2
    With the latest update, on precise I get php5-fpm : Depends: sysv-rc (>= 2.88dsf-24) but 2.88dsf-13.10ubuntu11 is to be installed or file-rc (>= 0.8.16) but it is not installable – D-Rock Aug 5 '13 at 18:32
  • 1
    @D-Rock Working on that, it should be fixed in next build of php5. – oerdnj Aug 6 '13 at 8:53
  • 1
    @D-Rock This has been fixed in 5.5.1+dfsg-2+debphp.org~<dist>+2, the php5-fpm package no longer depends on neither systemd nor too new sysv-rc. – oerdnj Aug 6 '13 at 11:40

For anyone (like me) who encountered this and used the repository ppa:ondrej/php5, you'll need their systemd repository as well to get this with apt-get.

sudo add-apt-repository -y ppa:ondrej/systemd
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get install -y php5-fpm
  • 1
    JFTR It's written in the PPA description, but it's impossible to communicate this to people already using the PPA. – oerdnj Jul 31 '13 at 20:10
  • See my answer below, this is no longer necessary. – oerdnj Aug 1 '13 at 6:11

Tedders solution works perfectly.

There's one detail, however, for those who had a working Geo IP PHPFPM support and it broke with the update.

To restore GeoIP functionality:

pecl install geoip

Then cd to /etc/php5/fpm/conf.d and add a 20-geoip.ini file with this content:

; configuration for php geoip module

The upgrade also (re)sets to zero some settings that are useful for PHPFPM high availability:

emergency_restart_threshold = 5
emergency_restart_interval = 2
process_control_timeout = 2
  • The package is there, but it's overridden by the package in the main Ubuntu repository (for Ubuntu raring). Right now you need to either use apt pinning (man apt_preferences) or manually install the php5-geoip package from the repository. I will think of the way how to override default Ubuntu package in meanwhile. – oerdnj Aug 1 '13 at 6:10
  • This should be also OK now, since the php-geoip packages' version is now higher than main Ubuntu version of php-geiop. – oerdnj Aug 6 '13 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.