Rubber : Unmet Dependencies for libapache2-mod-passenger

442 views Asked by At

When I try to deploy with rubber, I receive the following error :

The following packages have unmet dependencies:
** [out :: staging.xxx.com] 
** [out :: staging.xxx.com] libapache2-mod-passenger : Depends:   passenger (= 1:5.0.8-1~trusty1) but it is not going to be installed
** [out :: staging.xxx.com] 
** [out :: staging.xxx.com] E
** [out :: staging.xxx.com] :
** [out :: staging.xxx.com] Unable to correct problems, you have held broken packages.

What can I do to resolve this?

2

There are 2 answers

0
Phil On

For me it helped to change the first line of rubber-passenger.yml into

passenger_version: '1:5.0.15-1~`lsb_release -sc`1'

(What means, changing the version number)

Then again something like

cap rubber:install_packages
1
irbanana On

Same thing happened to me.

I tried tinkering with the version numbers like @Phil said, changing them in my rubber-passenger.yml file arbitrarily and incrementally based on https://oss-binaries.phusionpassenger.com/apt/passenger/dists/trusty/main/binary-amd64/Packages and then running cap <alias> rubber:install_packages. This was horrible, and at about here:

# passenger_version: '1:5.0.10-1~`lsb_release -sc`1' # fail
# passenger_version: '1:5.0.11-1~`lsb_release -sc`1' # fail
# passenger_version: '1:5.0.13-1~`lsb_release -sc`1' # fail
# passenger_version: '1:5.0.14-1~`lsb_release -sc`1' # fail
# passenger_version: '1:5.0.15-1~`lsb_release -sc`1' # fail
# passenger_version: '1:5.0.16-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.18-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.19-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.20-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.21-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.22-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.23-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.24-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.25-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.26-1~`lsb_release -sc`1'
# passenger_version: '1:5.0.27-1~`lsb_release -sc`1'

I got fed up and just removed the version number. That worked. So now my roles spec in rubber-passenger.yml looks like this:

roles:
  passenger:
    # packages: [apache2-mpm-prefork, apache2-prefork-dev, libcurl4-openssl-dev, libapache2-mod-xsendfile, [libapache2-mod-passenger, "#{passenger_version}"]]
    packages: [apache2-mpm-prefork, apache2-prefork-dev, libcurl4-openssl-dev, libapache2-mod-xsendfile, libapache2-mod-passenger]
    rolling_restart_port: "#{passenger_listen_port}"

  web_tools:
    rolling_restart_port: "#{web_tools_port}"