-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ubuntu Build Failure: Could not find 'minitar' (= 0.5.4) among 12 total gem(s) #8214
Comments
I dug into this a bit a found that rake bootstrap is blowing up while trying to install minitar with this error: #<Gem::UnsatisfiableDependencyError: Unable to resolve dependency: user requested 'rake (= 12.1.0)'> I believe that is because minitar has dependency on rake < 12 but JRuby ships with 12.1.0
...so this makes sense to why it doesn't work. But JRuby 9.1.12 also ships with 12.1.0 !
so the better question may be why did this ever work ? Anyway, I have the request in to revert the build system back to 9.1.12.0 so all should be happy again. @ph is working on a more strategic fix for how we interact with rake. |
Also @original-brownbear found that the following will allow it work (assuming rake is installed elsewhere):
and @colinsurprenant with rbenv states
|
@jakelandis this is still the case for the 5.6 tree, i don't see any fix applied there. rake is from ruby 2.4.2 (there is no way to downgrade as its a distro level build for packaging)
|
@anthraxx - we didn't really 'fix' it, we just worked around it temporarily in our build systems. The root cause here is a mismatch of dependencies w/r/t the required rake versions. Since it appears that you are using MRI Ruby, I believe that means you should ensure that you have a rake version less then v12 in your set of gems. Perhaps try There is also work currently underway to not require Ruby for the bootstrapping, but I doubt that will be back ported to 5.x. |
@jakelandis the problem is, I can't do that. I'm speaking about packaging for Arch Linux and for that you can't run gem installs via sudo inside a clean build environment and rake must be provided through the ruby package that hips that version. |
@anthraxx - this should only be development/build environment for building from source right ? (e.g. running a Logstash distribution is not effected is it ?) Can you update your clean environment to a different distro, or bake in rbenv or or a different rake version ? FWIW, this is not a new issue, we just recently bumped into this when we upgraded our build environment to JRuby 9.13.0, and are unsure why it didn't bite us before. |
@jakelandis We as a distribution aim to always build from source rather then preconstructed artifacts generated out of a source tree. They may contain precompiled things plus its harder to ensure that its really what the source is showing/claiming to the public inside the repository (has noting to do with mistrust so don't take it as offense, its just the 'build from source' approach). The env is bound to arch, so no different distro is possible and rbenv is not available. i could possibly try to use ruby 2.3.4 instead of 2.4.2 but that feels non optimal. |
@anthraxx - what is the highest version that your builds still work ? We thought this issue was related to upgrade to JRuby 9.1.1.13 (6.0+) , but there may be other compounding factors if you are seeing a change in behavior with 5.6.1. |
@jakelandis first, thanks that you are trying to resolve this problem, much appreciated! looks like the old 5.6.0 also fails, so I assume this may be related to |
@anthraxx - it almost certainly rake 12.0.0 that is doing the bootstrapping that is the issue. For the 5.x stream of code, the requirement to have a rake <12.0.0 for bootstrapping will likely remain. (only production bug fixes are getting push back to 5.x as we are prepping for 6.x) I think this will be formally fixed in 6.1 as we will use Gradle (not Ruby) for boot strapping. Here is the first (of many) change(s) to our build system: #8238 |
@jakelandis thanks a lot for the pointer and explenation, looking forward for the 6.x stuff. Meanwhile i try to make 5.x work with old rake until we get the fancy new stuff, will report back so you know if it worked 😛 |
@jakelandis it worked perfectly with an old rake as bootstrapping. Goess thats good enough until 6.x arrives, thanks again I very much appreciate the assistance. thanks for everything |
Builds are currently failing due to failed dependency resolution, which appear to be related to the recent move to jruby-9.1.13.0:
https://logstash-ci.elastic.co/job/elastic+logstash+master+multijob-unix-compatibility/os=ubuntu/135/console
The text was updated successfully, but these errors were encountered: