Pivotal Knowledge Base

Follow

Push Notifications Service fails with error: Failed to build gem native extension

Environment

Push Notification Tile, versions Pivotal Cloud Foundry© 1.9.1 and lower

Ruby buildpack, 1.6.40 and higher

Symptom

Push notification tile install fails.

Running errand Push Push Notifications Service fails with ERROR: Failed to build gem native extension.

Error Message:

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.

Cause

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).

Resolution

This issue is fixed in 1.9.1+ release of push notification tile which is compatible with latest ruby buildpack.

Alternatively, the ruby buildpack can be downgraded to resolve the issue:

  1. Download ruby buildpack 1.6.39 from network.pivotal.io: https://network.pivotal.io/products/buildpacks/#/releases/5434

  2. 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

  3. 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.

 

Comments

Powered by Zendesk