Skip to content

Unable to use red-arrow gem on Heroku/Ubuntu 20.04 (focal) #29672

@asfimport

Description

@asfimport

 

Hello,

 

I am not able to get the Ruby gems, red-arrow and red-parquet, to work properly on Heroku.  Heroku itself is merely an Ubuntu 20.04 LTS (focal) container so this really is a question about what dependencies must be installed to get these gems to work on Focal?

So far I have specified the following in Heroku's Aptfile

# Get Heroku's Ubuntu distro for your Stack.  Heroku-20 = focal
# Running bash on ⬢ <app_name>... up, run.1471 (Hobby)
# ~ $ lsb_release --codename --short

:repo:deb [trusted=yes arch=amd64] https://apache.jfrog.io/artifactory/arrow/ubuntu/ focal mainlibarrow-dev

libparquet-dev
libarrow-glib-dev
libparquet-glib-dev
libgirepository-1.0-1
libgirepository1.0-dev
libglib2.0-dev
libglib2.0-0
gir1.2-glib-2.0
gobject-introspection

Note: the above contains additional packages that were required by red-arrow that WERE NOT SPECIFIED in the Installation guide at https://arrow.apache.org/install/.

Despite all my efforts, I am unable to solve this issue:

2021-09-21T23:05:11.469561+00:00 heroku[worker.1]: Process exited with status 1
2021-09-21T23:05:11.263179+00:00 app[worker.1]: bundler: failed to load command: sidekiq (/app/vendor/bundle/ruby/2.7.0/bin/sidekiq)
2021-09-21T23:05:11.263465+00:00 app[worker.1]: /app/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require': /tmp/build_29fd2902/vendor/bundle/ruby/2.7.0/gems/extpp-0.0.9/ext/extpp/libruby-extpp.so: cannot open shared object file: No such file or directory - /app/vendor/bundle/ruby/2.7.0/gems/red-arrow-4.0.0/lib/arrow.so (LoadError)
2021-09-21T23:05:11.263508+00:00 app[worker.1]: from /app/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
2021-09-21T23:05:11.263521+00:00 app[worker.1]: from /app/vendor/bundle/ruby/2.7.0/gems/red-arrow-4.0.0/lib/arrow/loader.rb:112:in `require_extension_library'
2021-09-21T23:05:11.263532+00:00 app[worker.1]: from /app/vendor/bundle/ruby/2.7.0/gems/red-arrow-4.0.0/lib/arrow/loader.rb:31:in `post_load'
2021-09-21T23:05:11.263544+00:00 app[worker.1]: from /app/vendor/bundle/ruby/2.7.0/gems/gobject-introspection-3.4.4/lib/gobject-introspection/loader.rb:45:in `load'
2021-09-21T23:05:11.263565+00:00 app[worker.1]: from /app/vendor/bundle/ruby/2.7.0/gems/gobject-introspection-3.4.4/lib/gobject-introspection/loader.rb:25:in `load'

 What is super frustrating is that the directory, /app/vendor/bundle/ruby/2.7.0/gems/red-arrow-4.0.0/lib, is specified in LD_LIBRARY_PATH, so I'm not sure why it's not being found.

Any help determining the full list of dependent packages for Ubuntu 20.04 (focal) would be greatly appreciated.  

 

Extra environment details:

 

Ruby 2.7.4 on Ubuntu 20.04/Heroku

 

Relevant gem versions:

red-arrow (4.0.0)

red-parquet (4.0.0)

gio2 (3.4.4)

gobject-introspection (3.4.4)

 

 

 

Environment: Ruby 2.7.4 on Ubuntu 20.04/Heroku
Reporter: Daniel Rice
Assignee: Kouhei Sutou / @kou

Note: This issue was originally created as ARROW-14076. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions