- Pivotal Cloud Foundry versions 1.9.1 and lower
- Ruby buildpack versions 1.6.40 and higher
Push notification tile install fails.
Running errand Push Push Notifications Service fails with
ERROR: Failed to build gem native extension.
Starting app push-scheduler in org system / space push-notifications as admin...
Installing sinatra 1.4.5 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. ...... Results logged to /tmp/app/vendor/bundle/ruby/2.4.0/extensions/x86_64-linux/2.4.0-static/json-1.8.2/gem_make.out An error occurred while installing json (1.8.2), and Bundler cannot continue. Make sure that `gem install json -v '1.8.2'` succeeds before bundling. ...... Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
This is a known issue for push versions earlier than 1.9.1. There is a compatibility issue between push tile and newer ruby buildpacks. Starting from 1.6.40 the default ruby version is 2.4.1 which can cause applications to panic.
The ruby buildpack gets bumped to 1.6.40 when upgrading Elastic Runtime (ERT) to 1.10.15 and higher (see ERT release notes).
This issue is fixed in 1.9.1+ release of push notification tile which is compatible with latest ruby buildpack.
- Get the latest release of tile from https://network.pivotal.io/products/push-notification-service/
Alternatively, the ruby buildpack can be downgraded to resolve the issue:
Download ruby buildpack 1.6.39 from network.pivotal.io: https://network.pivotal.io/products/buildpacks/#/releases/5434
Log into cf CLI and update the buildpack to 1.6.39 version:
cf update-buildpack ruby_buildpack -p ruby_buildpack-cached-v1.6.39+1494621864.zip
Re-run the errand and confirm that issue is resolved.
This may lead to compatibility issues with other ERT components and ruby buildpack, so upgrading push notification tile is the preferred option.