Closed ccouzens closed 3 years ago
Having the same issue and investigating as well on ruby2.4.4
My colleague @jimeh got this working by modifying the buildpack.
To use this, either add a .pkgr.yml
file with these contents:
buildpack: https://github.com/jimeh/heroku-buildpack-ruby.git
or run pkgr
with the buildpack flag:
pkgr package . --buildpack=https://github.com/jimeh/heroku-buildpack-ruby.git
I expect the solution will be to merge these changes into pkgr's ruby buildpack.
@ccouzens @jimeh thanks very much.
@Jed-Giblin note that this doesn't solve it for the demo app. Depending on your version of ruby this may or may not work.
@ccouzens With a combination of the changes by @jimeh and @obfuscoder in #142 I was able to get this resolved.
@ccouzens @jimeh I applied your fix, but no luck unfortunately. I'm packaging a Ruby on Rails project (ruby 2.1.5, rails 4.1.9 in a docker container (CI pipeline) and getting the following error:
/root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/lib/language_pack/shell_helpers.rb:49:in
run!': Command: 'set -o pipefail; curl -L --get --fail --retry 3 buildcurl.com -d recipe=ruby -d version=2.3.4 -d target=$TARGET -s -o - | tar zxf - ' failed unexpectedly: (LanguagePack::Fetcher::FetchError)
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
from /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/lib/language_pack/fetcher.rb:24:in fetch_untar' from /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/lib/language_pack/installers/heroku_ruby_installer.rb:22:in
block in fetch_unpack'
from /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/lib/language_pack/installers/heroku_ruby_installer.rb:16:in chdir' from /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/lib/language_pack/installers/heroku_ruby_installer.rb:16:in
fetch_unpack'
from /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/bin/support/download_ruby:14:in <main>' /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/bin/compile: line 12: /tmp/tmp.t4BfRLB4Br/bin/ruby: No such file or directory /root/.pkgr/buildpacks/custom/872254ccf5ea3976c818aa8f736a5a7fe72775aa/heroku-buildpack-ruby/bin/compile: line 19: /tmp/tmp.t4BfRLB4Br/bin/ruby: No such file or directory ! ERROR: compile failed
Any suggestions?
@evsav buildcurl.com seems to be down
http://www.isitdownrightnow.com/buildcurl.com.html
Which is why your package fails. I was able to download the buildcurl service from https://packager.io/gh/crohr/buildcurl, set it up on a network host and add an environmental for BUILDCURL_URL
and that got it working
@Jed-Giblin thanks for the prompt reply! I'll try doing the same
@Jed-Giblin worked. I had to convert the buildcurl.deb
into .rpm to install it in our centos7 container. Thanks a lot
I took a different approach than @Jed-Giblin to buildcurl.com being down. Since buildcurl seems to just be a proxy to barebuild.com I decided to just cache the Ruby binary archives I care about here: https://github.com/jimeh/heroku-buildpack-ruby-binaries
Then I customized my buildpack to go off to my cache for the few things I have in the cache. Initially the cached binaries were extracted from existing packages I had at hand, but when buildcurl.com came back I replaced them with archives downloaded directly from buildcurl.com.
I have a PR open on my buildpack which I intend to merge tomorrow morning: https://github.com/jimeh/heroku-buildpack-ruby/pull/1
NOTE: Use my buildpack and cached binaries at your own risk. It's all geared around what I personally need to get some of our legacy projects to build, so I can't give any kind of guarantee it works or will keep working for anyone else.
That said, I intend to spend some time looking at this properly when the smoke has settled, and see if I can get some of the fixes merged upstream into https://github.com/pkgr/heroku-buildpack-ruby
The following commit happened 11 days ago which updates the buildpack for ruby fc83c0c62a9f37f9f858011dc36d08b2543eb5f4.
This isn't yet in any released version of pkgr, but it is in the master branch.
By making my Gemfile
gem 'pkgr', github: 'crohr/pkgr
I can package my test app. I'll investigate further tomorrow, but it looks like the build issues may now be officially solved.
I believe the issue has been fixed since a while now, sorry for not answering at the time. Let me know if you still experience issues.
Hi,
Since Friday afternoon, I've been unable to build ruby apps using pkgr.
I've made a stub app to demonstrate the problem. Effectively, this app is nothing more than a Gemfile and Gemfile.lock. The only gem is pkgr@1.6.0. The version of Ruby is 2.5.1, but I've seen the same problem with 2.4.4, 2.3.7 and 2.3.0.
This gives the following log output:
I'll update the issue with any insights I find.
Kind regards,
Chris