Extension not installing on Ruby 2.6

On Ruby 2.6 and higher the AppSignal for Ruby gem does not install and no data is being received by AppSignal.com.

Affected components

  • AppSignal for Ruby package versions: v2.8.0 and earlier (until v1.0.0).
  • Systems:

Description

Upon upgrading to Ruby 2.6 or higher on Linux based hosts AppSignal stops reporting data because the AppSignal extension could not be installed on Ruby 2.6. This is caused by system libraries that are not linked against the Ruby installation being required by the AppSignal gem. The two problematic required libraries are pthread and dl.

In order to fix the installation issue for the AppSignal extension these libraries need to be statically linked to the extension library created during installation of the AppSignal gem in your app. This was added in Ruby gem 2.8.1.

The following AppSignal extension builds are affected:

  • Linux musl builds. Used by Alpine Linux and older libc versions installed on app hosts.
  • Linux libc builds. Used by most Linux distributions, such as Ubuntu.

Symptoms

  • No data is being received by AppSignal from your app after upgrading your app's Ruby version.

  • When your application starts AppSignal for Ruby logs the following message in the appsignal.log file:

    [<timestamp> (process) #<pid>][ERROR] appsignal: Failed to load extension (cannot load such file -- appsignal_extension), please check the install.log file in the ext directory of the gem and email us at support@appsignal.com
    [<timestamp> (process) #<pid>][INFO] appsignal: Not starting appsignal, extension is not loaded
    
  • The install.log file in the AppSignal for Ruby gem ext/ directory contains a platform specific error message.

      E, [<timestamp> #<pid>] ERROR -- : Installation failed: Aborting installation, libappsignal.a or appsignal.h not found
    

Workaround

Downgrade to an earlier Ruby version.

Solution

Upgrade to AppSignal for Ruby gem version 2.8.1.

Please let us know at support@appsignal.com if you are currently experiencing this issue and an upgrade did not help.

Want to help us improve this documentation page?

Create a pull request

Need more help?

Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial