Error "update_depot_tools_toggle.py" building libv8 ruby gem #310
Comments
Weirdly, ours has also suddenly started failing in our Github Actions CI.
I'm not sure why it's suddenly started trying to build libv8 from source rather than using the binary, still investigating... 😕 |
Ugh, think it's because bundler 2.2 has just come out, and it's fetching the build-from-source gem rather than the prepackaged binary. |
Ye, I'm locking bundler to version 2.1.4 for now. Thanks @jdelStrother! |
Hi! I'm really sorry the bundler release caused issues for you 🙏. And I don't know why this is happening, because if anything, the new version was expected to choose prepackaged binaries more smartly, but it sounds like it's doing the exact opposite here. What steps can I run to see the issue for myself and investigate it? |
For me somehow installing |
I think that's because |
I'm finding it surprisingly hard to come up with a small reproduction. Anyone else had better luck? @stefanahman you're not also using |
e.g. - name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
# NOTE: Bundler 2.2.0 fails to install libv8
# https://github.com/rubyjs/libv8/issues/310
bundler: "2.1.4"
bundler-cache: true UPDATE - name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler: "Gemfile.lock"
bundler-cache: true |
Oh neat, I didn't know that feature! |
Maybe it was added recently, because from the current docs I wouldn't expect that to be supported. |
travis ci builds are failing with libv8 compilation errors. It might be because bundler 2.2 was released yesterday and we've been installing bundler on travis with "--pre". Something seems to be up with bundler 2.2 being "smart" about fetching pre-built gems. Maybe. rubyjs/libv8#310 (comment)
travis ci builds are failing with libv8 compilation errors. It might be because bundler 2.2 was released yesterday and we've been installing bundler on travis with "--pre". Something seems to be up with bundler 2.2 being "smart" about fetching pre-built gems. Maybe. rubyjs/libv8#310 (comment)
No sorry, I'm using a different CI without Github Actions. |
Same problem here, installing libv8 8.4.255.0 (x86_64-linux) inside a ruby2.6.6-slim buster image, bundler 2.2 |
It looks like you'd need to update the Gemfile.lock to include all platforms you want to support: https://bundler.io/blog/2020/12/09/bundler-v2-2.html (Multiplatform support). I had the same issues as desribed above (dev environment was on Mac, GitHub actions CI on Linux), and after bundling with bundler 2.2.0 on the specific plattforms I noticed the PLATFORMS were updated in te Gemfile.lock, which also fixed the CI for me:
|
Yes, I think I get the issue now. If you have a lockfile generated with an old version of bundler (where platform specific versions were not recorded in the lockfile, but "resolved" at installation time), then bundler 2.2 will see a generic RUBY platform in the lockfile and try to install that (and thus compile native extensions, etc). Wherever that lockfile lives, updating it to what bundler 2.2 generates should fix the issue. However, this was an unintentional incompatibiliity so I'm restoring it with rubygems/rubygems#4127. |
Rebuilding |
Should we include generic
When I do add
I guess this is more a problem of libv8 scripts at the end of the day but I'm running out of ideas over at this PR |
Bundler 2.2 build from source instead of using the prepackaged binary. See: rubyjs/libv8#310
This fixes libv8 installation under GitHub action containers. Bundler 2.2 build from source instead of using the prepackaged binary. See: rubyjs/libv8#310
* Bundler 2.2.16 - rubygems/rubygems#4513 - rubyjs/libv8#310 (comment) - rubygems/rubygems#4497 - https://heroku.support/978905 * Apply suggestions from code review Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com> Co-authored-by: Ed Morley <501702+edmorley@users.noreply.github.com>
* install just the dev package of libxslt * removes trailing spaces * migrates some of our travis configs * database config * retire travis task to avoid double started solr/fedora * remove 2.5 add updated shoulda-matchers * stick to bundler 2.1.4 rubyjs/libv8#310 * only build against 2.6 for now * add optional 2.7 job * reconfigure coveralls * adds simplecov * require simplecov
Closing as this is way outdated, plus depot_tools is a PITA, which libv8-node sidesteps. |
Hello,
I'm trying to build the libv8 ruby gem in our CI. All of a sudden, I'm getting this error:
The text was updated successfully, but these errors were encountered: