Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0
-
None
-
Ruby 2.7.4 on Ubuntu 20.04/Heroku
Description
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)