• Re: [gentoo-user] problems emerging some ruby packages

    From Arve Barsnes@21:1/5 to Jack on Tue Oct 11 22:10:01 2022
    On Tue, 11 Oct 2022 at 22:02, Jack <ostroffjh@users.sourceforge.net> wrote:
    Does anybody see what I'm missing?

    Maybe you have something in package.use for this package?

    You could try to get emerge to tell you more explicitly what problem it has

    USE="ruby_targets_ruby31" emerge -av dev-ruby/thor

    Regards,
    Arve

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jack@21:1/5 to All on Tue Oct 11 22:10:01 2022
    I'm helping support a web site hosted at Heroku and written in Ruby on
    Rails. Following some tool upgrades there, I upgraded my local rails
    to 3.1, uninstalling the previous version 2.7. I now have RUBY_TARGETS="ruby31" in make.conf. and several specific dev-ruby
    package versions in package.accept_keywords. Most of them upgraded
    fine, or at least reinstalled (using a version supporting ruby31 after unmerging the old version) but some are giving me grief.

    For example, "emerge -1 dev-ruby/thor" gives me

    !!! Problem resolving dependencies for dev-ruby/thor
    ... done!

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet
    requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)" RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( ruby_targets_ruby27 ruby_targets_ruby30
    ruby_targets_ruby31 )

    I would expect USE_RUBY="ruby31" to translate into ruby_targets_ruby31,
    but even explicitly adding that to package.use has no effect. Is there something I'm missing turning off ruby31, specifically for just a small number of packages? (so far the only other one with this problem is dev-ruby/mini_mime).

    Portage has two versions of thor: 1.1.0 and 1.1.2, both marked stable
    for amd64, and 1.2.1 has USE_RUBY="ruby26 ruby27 ruby30 ruby31" so I
    don't see any reason it's not working.

    I already have railties installed (using -O) with ruby31, and it
    depends on thor via ruby_add_redepend, which I read as requiring thor
    with ruby31. thor is not mentioned in any file under /etc/portage.

    Does anybody see what I'm missing?

    Jack

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jack@21:1/5 to Arve Barsnes on Tue Oct 11 23:30:01 2022
    Thanks for the response.

    On 2022.10.11 16:07, Arve Barsnes wrote:
    On Tue, 11 Oct 2022 at 22:02, Jack <ostroffjh@users.sourceforge.net>
    wrote:
    Does anybody see what I'm missing?
    Maybe you have something in package.use for this package?
    "grep -ir thor ." in /etc/portage has no hits. In addition "grep -ir
    ruby ." in /etc/portage shows only package.accept_keyword entries and RUBY_TARGETS="ruby31" in make.conf.

    You could try to get emerge to tell you more explicitly what problem
    it has
    USE="ruby_targets_ruby31" emerge -av dev-ruby/thor
    I don't see how this is any different from putting it in package.use,
    but it has the same lack of effect.

    Regards,
    Arve
    Can anyone explain (or point me the the fine manual page I missed) the
    exact meaning of (-ruby31) in

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet
    requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)" RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    and why is ruby27 not in parens, but the other two are? Is that just
    the assumption that ruby31 is off in any ebuild which does not
    explicitly mention it, or does it reflect an explicit turning off of
    that flag?

    Jack

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Neil Bothwick@21:1/5 to Jack on Wed Oct 12 01:40:01 2022
    On Tue, 11 Oct 2022 16:02:52 -0400, Jack wrote:

    For example, "emerge -1 dev-ruby/thor" gives me

    !!! Problem resolving dependencies for dev-ruby/thor
    ... done!

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet
    requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)" RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    ruby30 and ruby31 are in parentheses, which means they are not available.

    The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( ruby_targets_ruby27 ruby_targets_ruby30
    ruby_targets_ruby31 )

    I would expect USE_RUBY="ruby31" to translate into ruby_targets_ruby31,
    but even explicitly adding that to package.use has no effect.

    The ebuild contains USE_RUBY="ruby26 ruby27" ruby_add_bdepend "

    Have you tried setting RUBY_TARGETS to ruby27 for this package?

    I must say I find the whole RUBY_* thing even more troublesome than the PYTHON_* stuff, and that's saying something!


    --
    Neil Bothwick

    Ralph's Observation - It is a mistake to allow any mechanical object
    to realize that you are in a hurry.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCAAdFiEE8k9T/rX16EJxEKG692eFu0QSMJgFAmNF42YACgkQ92eFu0QS MJhA3Q/6AnVr+O3NPsOWaLmuTO/xPMwbGCBV8RMPThFBdO3htar4KXrwVPVVdAMP +qseWToJQhBVYOwwzJc3QRmpkjeiEpStoMvwMsULavfql8Ur3IRkb2emoKFqpLq7 J8gVoWjNvpl3V4zHHFv8QU9t3XhBa+cdE8HPV/YGumTI+vaLHVe9s2DrrBV/73EQ cxZnU78uIPM/9Uw/MlY5/ryU6YikebCLq8efeTRDMxGzUj8gWsVWCt78Xy8M0aNo uDWkDnRd0dPwkrIfqxG4jL3PBp/lGCY9eJgfjpoVplj6oTt3iBrXzXheB2GyRFgj sKkgLlTCdatpqSlcDLizYExzaucOOYSKrukfw8J2Ke65tigb1JF8bmJp9vuHy2/6 MsXcv4qa3fMKwfYzk5boLSNfFdpSnnZKVdjOKlHsW2sphsxZUYl77D+bEkytO0Fj fSsWx0NG3SMmWrVMZYoiAS6mPgZxwyrwNgjiyHfNs83OdhjulvrD821/9DaYZtFU g6Or08y4qNgWjpJnImSjjDA9wtza2/kYjLBqm9DERUp9TgiPwQP9NNgPidySJxRx Orlaa4rTWz5Hua9hHYOGM8l6OobJ6r7BOqM6fEmbKIRMvNs/jdhCXmIPV0jxJlyE PRgfNkQyrpUgXP+TIK4RGBXwOwSHlMTs7VG0w/d1hWOBYvsTEks=
    =mG37
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNe
  • From Jack@21:1/5 to Neil Bothwick on Wed Oct 12 02:00:01 2022
    On 2022.10.11 17:43, Neil Bothwick wrote:
    On Tue, 11 Oct 2022 16:02:52 -0400, Jack wrote:

    For example, "emerge -1 dev-ruby/thor" gives me

    !!! Problem resolving dependencies for dev-ruby/thor ... done!

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet
    requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)"
    RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    ruby30 and ruby31 are in parentheses, which means they are not
    available.
    Given everything below - what other reasons might there be for this?
    I've yet to find any pattern of the difference between the ebuilds for
    the small number of dev-ruby packages that show this problem, and those
    for the the thirty plus which have installed just fine.

    The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( ruby_targets_ruby27 ruby_targets_ruby30
    ruby_targets_ruby31 )

    I would expect USE_RUBY="ruby31" to translate into
    ruby_targets_ruby31, but even explicitly adding that to package.use
    has no effect.

    The ebuild contains USE_RUBY="ruby26 ruby27" ruby_add_bdepend "
    Hmm. It looks to me that line should probably be 'USE_RUBY="ruby26
    ruby27 ruby30 ruby31" ruby_add_bdepend "' However, as it only affects
    the required ruby version for two depedencies only if the test use flag
    is set (it is not) I'm not sure why it would matter.

    I suppose it is likely just a typo in the ebuild. They removed ruby25
    from 1.1.0 but didn't add the newer ruby versions. Actually even 1.1.0
    may be broken as it includes ruby30 in USE_RUBY but not on the ruby_add_bdepend line. However, I just made an -r1 in my local
    overlay, adding the new ruby versions to that line, and I still get the
    same error. So I'm actually still stuck figuring out why this ebuild
    won't take ruby31.

    Have you tried setting RUBY_TARGETS to ruby27 for this package?
    Why would I do that if I don't have ruby-2.7 installed, nor do I want
    to?

    I must say I find the whole RUBY_* thing even more troublesome than
    the PYTHON_* stuff, and that's saying something!
    That I agree with. If I knew then what I know now, I would have argued
    much more vigorously against using Ruby on Rails for this web site.
    But that's fodder another entire thread.


    --
    Neil Bothwick
    Jack

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Wed Oct 12 00:41:25 2022
    On Tuesday, 11 October 2022 22:43:02 BST Neil Bothwick wrote:
    On Tue, 11 Oct 2022 16:02:52 -0400, Jack wrote:
    For example, "emerge -1 dev-ruby/thor" gives me

    !!! Problem resolving dependencies for dev-ruby/thor
    ... done!

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet
    requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)" RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    ruby30 and ruby31 are in parentheses, which means they are not available.

    The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( ruby_targets_ruby27 ruby_targets_ruby30

    ruby_targets_ruby31 )

    I would expect USE_RUBY="ruby31" to translate into ruby_targets_ruby31,
    but even explicitly adding that to package.use has no effect.

    The ebuild contains USE_RUBY="ruby26 ruby27" ruby_add_bdepend "

    Have you tried setting RUBY_TARGETS to ruby27 for this package?

    I must say I find the whole RUBY_* thing even more troublesome than the PYTHON_* stuff, and that's saying something!

    As per the emerge man page:

    - prefix not enabled (either disabled or removed)
    [snip...]

    () circumfix forced, masked, or removed

    On a stable system with default ruby targets, I get this:

    [ebuild N ] dev-ruby/thor-1.2.1:1::gentoo USE="-doc -test" RUBY_TARGETS="ruby27 (-ruby30) (-ruby31)" 95 KiB

    and, dev-lang/ruby-2.7.6:2.7 is drawn in as a build dependency:

    [ebuild N ] dev-lang/ruby-2.7.6:2.7::gentoo USE="gdbm ipv6 rdoc ssl - berkdb -debug -doc -examples -jemalloc -jit -rubytests -socks5 -static-libs - systemtap -tk -xemacs" 11,802 KiB

    NOTE: ruby 3.0 and 3.1 are marked as testing.
    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmNF/yUACgkQseqq9sKV ZxkYfw//XWVfmIKtoh/cr3wuW5KBcIKmSm59CfxpaxQpRqqJGr9hMZ8nJ8UCHiS7 s8qIK+pfTbRN6wnZ02N6sW6YgddkG5KnJvn4JPMw+UiSSbGq9Z//7VMEcW+9U/ch X25jPgYTbkXuuZ7sX3IHQ3EIgqCtvRXQSOWI3tp32OToz4ebzMGrQDKkqRZtgAZI d/8tJoLMjIHPDKXgBeGmqzpyxXBdvd2DtosliSjMEpfqbKd6AVKg0moAJ/mxp8bj AZKRuQ5WWloOzwmpDOtJ21jTYnKKscnX6bsekwOFdSAryP5kK7/u+3V64UjuafOv v1+A8ydC9lGr78vBpFIZ23AAcjORXQwWXP5vjZtI0dHoYAou6FZV/snliijawas2 VeSgcTUq4poiiV+MW7UaQSS9OjFxS+BAcqSWeVXc1Wmv6z55m9ogSSIB7ozpZedu yZyk5l4ETh78mc0hweJhMg/OEgA4qqAYHCdMDJRAURlrQYZmq8Vwa069l3vSh+vN AuUuuZBNuq4n3SlCcMVggFB64h5Vnr6704k2JZWurb+Kg1/YsjZ5iTKAWxJFU8HD AyH640gMh32iETL1dRZ2fMIKR2CQT20L5a1ISEerooEmCww9TPU7DfHj6sc7OBD9 IiEFE+y+fz10bi+rm8zBvOrsxTKm/7PVZzPL/Pmf8pSPXkwvk24=
    =kBzA
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jack@21:1/5 to Michael on Wed Oct 12 02:20:01 2022
    On 2022.10.11 19:41, Michael wrote:
    On Tuesday, 11 October 2022 22:43:02 BST Neil Bothwick wrote:
    On Tue, 11 Oct 2022 16:02:52 -0400, Jack wrote:
    For example, "emerge -1 dev-ruby/thor" gives me

    !!! Problem resolving dependencies for dev-ruby/thor
    ... done!

    !!! The ebuild selected to satisfy "dev-ruby/thor" has unmet requirements.
    - dev-ruby/thor-1.2.1::gentoo USE="-doc -test" ABI_X86="(64)" RUBY_TARGETS="-ruby27 (-ruby30) (-ruby31)"

    ruby30 and ruby31 are in parentheses, which means they are not
    available.

    The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( ruby_targets_ruby27 ruby_targets_ruby30

    ruby_targets_ruby31 )

    I would expect USE_RUBY="ruby31" to translate into
    ruby_targets_ruby31,
    but even explicitly adding that to package.use has no effect.

    The ebuild contains USE_RUBY="ruby26 ruby27" ruby_add_bdepend "

    Have you tried setting RUBY_TARGETS to ruby27 for this package?

    I must say I find the whole RUBY_* thing even more troublesome than
    the
    PYTHON_* stuff, and that's saying something!

    As per the emerge man page:

    - prefix not enabled (either disabled or removed)
    [snip...]

    () circumfix forced, masked, or removed

    On a stable system with default ruby targets, I get this:

    [ebuild N ] dev-ruby/thor-1.2.1:1::gentoo USE="-doc -test" RUBY_TARGETS="ruby27 (-ruby30) (-ruby31)" 95 KiB

    and, dev-lang/ruby-2.7.6:2.7 is drawn in as a build dependency:

    [ebuild N ] dev-lang/ruby-2.7.6:2.7::gentoo USE="gdbm ipv6 rdoc
    ssl -
    berkdb -debug -doc -examples -jemalloc -jit -rubytests -socks5
    -static-libs -
    systemtap -tk -xemacs" 11,802 KiB

    NOTE: ruby 3.0 and 3.1 are marked as testing.
    I explicitly have ruby-3.1 unmasked with "=dev-lang/ruby-3.1.2-r1
    ~amd64" in package.accept_keyword, and USE_RUBY="ruby31" in make.conf.
    I do not see any reference to ruby in the profile. Is there somewhere
    else I need to unmask something? emerge --info also says 'RUBY_TARGETS="ruby31"' as its only reference to a specific ruby
    version.

    As I said in my reply to Neil, why would this happen in just a handful
    of packages, but not in over thirty others? mini_mime is the other
    problem package, and it does not use ruby_add_bdepend so there is only
    one line with USE_RUBY: 'USE_RUBY="ruby26 ruby27 ruby30 ruby31"'.

    So - why is ruby31 disabled for (so far) only these two packages?
    (The other packages which are failing depend on one of these two.)

    Jack

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Arve Barsnes@21:1/5 to Jack on Wed Oct 12 07:20:01 2022
    On Wed, 12 Oct 2022 at 02:12, Jack <ostroffjh@users.sourceforge.net> wrote:
    As I said in my reply to Neil, why would this happen in just a handful
    of packages, but not in over thirty others? mini_mime is the other
    problem package, and it does not use ruby_add_bdepend so there is only
    one line with USE_RUBY: 'USE_RUBY="ruby26 ruby27 ruby30 ruby31"'.

    So - why is ruby31 disabled for (so far) only these two packages?
    (The other packages which are failing depend on one of these two.)

    Maybe these two are just written more strict? I'm unable to read the
    eclass to determine how it masks these flags on a stable system on
    these packages, it will happily install it with ruby31 on my unstable
    system, but you can try to unmask the flag in
    /etc/portage/package.use.mask

    dev-ruby/thor -ruby_targets_ruby31

    Not the minus sign.

    Regards,
    Arve

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Neil Bothwick@21:1/5 to Jack on Wed Oct 12 09:50:01 2022
    On Tue, 11 Oct 2022 19:52:44 -0400, Jack wrote:

    Have you tried setting RUBY_TARGETS to ruby27 for this package?
    Why would I do that if I don't have ruby-2.7 installed, nor do I want
    to?

    We don't always get what we want. If thor currently needs 2.7 then you
    have to have it if you want thor.

    Try it with an emerge -p. Whether it works or not, you will have further
    clues as to the source of the issue.


    --
    Neil Bothwick

    Anything worth fighting for is worth fighting dirty for.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCAAdFiEE8k9T/rX16EJxEKG692eFu0QSMJgFAmNGcCgACgkQ92eFu0QS MJj3YA/9EjnY3bSiBGuzS0RHvGxq1TmK4Y6TrC5Iz64cT0qutzjd3YpklTrIohGp g0B5KNOHJxlAfdnP158wWcFlY1O6eUQtUEnBm1bz5m0AuJ4geBoCdZG/gqMlz4cF uOUUGaVlrmK4Hf5I1cmRtFnYEBykALGtJhWUh64BlKJkSwcng0wNJiAwoX0XLS4l N8UFahIW9/DSlelhIVYYY1ouM0kFVeqeNHApbCZmkGdrNisyNREH7XkxiKhGNv4l z5HVcJd+26Fwwd2g/0ny2HOdYni03STxjRTvaHE80rf+NM+0mVibM7vXjn4wts0D lMyi+PqNTzmX63zg2bE4u60s3dieGcmh6SIShTaeAtc42pYcTTTv/BOzcjRMwsga icPEaJJHMzmUioIaPxjzEV2dL7aXQ4A5sbAOWjhZHkFn5Le9cWcjUaY5Ar5Kn0YU HlEJOY2Y0WEejDgo66rCr9E8dA3KEt+8xdEJwxUyyK4BjLn9sQhUao9aCukeCJWt gOLTuWhxAj2/muUFJk39wdM1oznOtChOopCUDdt3QQIxr8wa7FnwdlsxI3has6Us zD5dU8NT6GdKEuatj802RfcpRUfDSgAX6SwUJgmNovP6lwb1TDbRZMP+bMCa2WGP KT/GmovQaNDaQA9nrACQaP1V+1cTWuYSdoFTP1IZlwZzybzB58I=
    =iGbL
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michael@21:1/5 to All on Wed Oct 12 08:48:21 2022
    On Wednesday, 12 October 2022 01:12:00 BST Jack wrote:
    On 2022.10.11 19:41, Michael wrote:

    NOTE: ruby 3.0 and 3.1 are marked as testing.

    I explicitly have ruby-3.1 unmasked with "=dev-lang/ruby-3.1.2-r1
    ~amd64" in package.accept_keyword, and USE_RUBY="ruby31" in make.conf.

    Try setting in your /etc/make.conf this expression instead:

    RUBY_TARGETS="ruby31"

    as per https://wiki.gentoo.org/wiki/Ruby

    and if you have not yet switched to using it, run:

    eselect ruby set ruby31


    I do not see any reference to ruby in the profile. Is there somewhere
    else I need to unmask something? emerge --info also says 'RUBY_TARGETS="ruby31"' as its only reference to a specific ruby
    version.

    That's what you'd add in your make.conf, for this ruby slot to be used globally.


    As I said in my reply to Neil, why would this happen in just a handful
    of packages, but not in over thirty others? mini_mime is the other
    problem package, and it does not use ruby_add_bdepend so there is only
    one line with USE_RUBY: 'USE_RUBY="ruby26 ruby27 ruby30 ruby31"'.

    I think it is relevant to how these USE variables are parsed and their syntax. If you specify the ruby version via a USE flag, then this should be:

    USE="ruby31" emerge -pv blah-blah


    You need to specify it as above and since you want to use ruby31 wholesale on your system, set it in make.conf as the wiki page explains.
    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmNGcUUACgkQseqq9sKV ZxlNRhAAhrXNLXjACRYAK1wM1kCVapxc91UMlGPJDjRA6NzEAyarOdBRY/B20wx9 X09T6ufydcFh3G8zTTwZhhz0Al7FhScwc5QwoDxhbI9sKSdL9Gsvrqdk0cLvXXaD lRA8i0WF5SG8caEtOQ0qu98yLMjoL3E266MvAr2fEIksuURNCEIHD02RvZnCJPZe a+/1y5tE/3xkScvmlf3Fx6s1iK/o4HXrWwvKQea25RXerN/0ZRaxW6VmywWWQIAc OIFxs/S1woGLiekrjRcQvRP6H/4Q4yXlEWea3ECnm+glgCjAeXxeFrlUxENAO2CQ IZK7ij8TYr6qC8/iwS44RycO+5j7//HXb9eCYrSmJ2DWaquDVRnXrjhpiuk09hn4 EFgDRvPH1So1gyywOdRhZx4tCSvI42zgaKwfdCEzXQBven6KbbCZKswO37Kln/WY 96WgMxC1Rn0wT8pqOAcSBZKa/ZdOJjkvjg7AAYuSp2LqgzLKKl6mM/jn/7BeMV8x 1hqGTExoGHKLidZLspLaFLc/kVkqZuVdkYuRLGDLTRLMxo47sygG8joQQ6SHX7Wd s5IWgkKRfk4HKL2EWin2rGXpZMZi9Ev4CvIRgBjcWQs5uvDG/hTtVablQygOmJHi 0U4ysr3mB8IhvLW3lgIMp3EVNXK4rRe/iT8DuXqjNUezAHs1lvo=
    =uB9o
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)