Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[kind of solved] cave/paludis problem updating dev-lang/ruby
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
andi456
Tux's lil' helper
Tux's lil' helper


Joined: 06 Mar 2005
Posts: 122
Location: Germany

PostPosted: Sat Sep 07, 2013 10:00 am    Post subject: [kind of solved] cave/paludis problem updating dev-lang/ruby Reply with quote

Hi everybody,

trying to update dev-lang/ruby:2.0 with cave the following output occurs:
Code:

s   dev-lang/ruby:2.0::gentoo 2.0.0_p247-r1 to ::installed
    "An object-oriented scripting language"
    berkdb -debug doc -examples gdbm ipv6 ncurses rdoc readline -rubytests -socks5 ssl tk -xemacs yaml build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: app-text/docbook-xsl-stylesheets-1.78.0:0::installed, dev-ruby/json-1.8.0:0::gentoo, dev-ruby/racc-1.4.9:0::gentoo, 4 more
    10.31 MBytes to download

u   dev-ruby/rake:0::gentoo 0.9.6 to ::installed replacing 0.9.2.2
    -doc (-test) RUBY_TARGETS: -jruby ruby18 ruby19 (ruby20)* build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: dev-lang/ruby-2.0.0_p247-r1:2.0::gentoo, dev-ruby/json-1.8.0:0::gentoo, dev-ruby/racc-1.4.9:0::gentoo
    121.00 kBytes to download

u   dev-ruby/json:0::gentoo 1.8.0 to ::installed replacing 1.7.7
    -doc (-test) RUBY_TARGETS: -jruby ruby18 ruby19 (ruby20)+ build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: dev-lang/ruby-2.0.0_p247-r1:2.0::gentoo, dev-ruby/rdoc-4.0.1-r1:0::gentoo
    145.50 kBytes to download

u   dev-ruby/racc:0::gentoo 1.4.9 to ::installed replacing 1.4.8
    -doc (-test) RUBY_TARGETS: -jruby ruby18 ruby19 (ruby20)+ build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: dev-ruby/rdoc-4.0.1-r1:0::gentoo
    106.50 kBytes to download

n   dev-ruby/rdoc:0::gentoo 4.0.1-r1 to ::installed
    "An extended version of the RDoc library from Ruby 1.8"
    -doc (-test) RUBY_TARGETS: -jruby ruby18 ruby19 (ruby20) build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: !<dev-ruby/rdoc-2 from dev-lang/ruby-1.8.7_p374:1.8::installed, !<dev-ruby/rdoc-3.9.4 from dev-lang/ruby-1.9.3_p448:1.9::installed, !<dev-ruby/rdoc-3.9.4 from dev-lang/ruby-2.0.0_p247-r1:2.0::gentoo, 2 more
    456.50 kBytes to download

u   dev-ruby/rubygems:0::gentoo 2.0.3 to ::installed replacing 1.8.24
    -server (-test) RUBY_TARGETS: -jruby ruby18 ruby19 (ruby20)* build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: !<dev-ruby/rubygems-1.8.10-r1 from dev-lang/ruby-1.9.3_p448:1.9::installed, !<dev-ruby/rubygems-1.8.10-r1 from dev-lang/ruby-2.0.0_p247-r1:2.0::gentoo, dev-lang/ruby-1.9.3_p448:1.9::installed, 2 more
    326.37 kBytes to download

Total: 4 upgrades, 1 new slot installs, 1 new installs, 11.43 MBytes to download

Build Options:
    dwarf_compress:                Compress DWARF2+ debug information
    optional_tests:                Run tests considered by the package to be optional
    symbols:                       How to handle debug symbols in installed files
    trace:                         Trace actions executed by the package (very noisy, for debugging broken builds only)
    work:                          Whether to preserve or remove working directories

USE:
    berkdb:                        Add support for sys-libs/db (Berkeley DB for MySQL)
    debug:                         Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
    doc:                           Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
    examples:                      Install examples, usually source code
    gdbm:                          Add support for sys-libs/gdbm (GNU database libraries)
    ipv6:                          Add support for IP version 6
    ncurses:                       Add ncurses support (console display library)
    rdoc:                          Install dev-ruby/rdoc after installing Ruby.
    readline:                      Use the sys-libs/readline library to provide the readline extension, used for instance by the irb tool. This flag is meaningful only if the libedit USE flag is disabled. If neither libedit nor readline USE flags are enabled, the readline extension will not be built (and irb will lose line editing functionality).
    rubytests:                     Install ruby tests that can only be run after ruby is installed
    socks5:                        Add support for the socks5 proxy
    ssl:                           Add support for Secure Socket Layer connections
    test:                          Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore
    tk:                            Add support for Tk GUI toolkit
    xemacs:                        Add support for XEmacs
    yaml:                          Use the dev-libs/libyaml library to build the psych extension, available since Ruby 1.9.2_rc2, in alternative to the bundled syck-based parser.

ruby_targets:
    jruby:                         Build with JRuby
    ruby18:                        Build with MRI Ruby 1.8.x
    ruby19:                        Build with MRI Ruby 1.9.x
    ruby20:                        Build with MRI Ruby 2.0.x

I encountered the following errors:

!   virtual/rubygems
    Reasons: target, dev-ruby/json-1.8.0:0::gentoo, dev-ruby/racc-1.4.9:0::gentoo, 2 more
    Unsuitable candidates:
      * virtual/rubygems-6:ruby20::gentoo
        Did not meet virtual/rubygems[ruby_targets_ruby18], use existing if possible, installing to / from dev-ruby/rdoc-4.0.1-r1:0::gentoo
            Flag 'ruby_targets_ruby18' enabled


What am I supposed to do? Is this a problem of the ebuild or of cave/paludis?

Regards Andreas


Last edited by andi456 on Mon Sep 16, 2013 1:14 pm; edited 1 time in total
Back to top
View user's profile Send private message
Ant P.
Advocate
Advocate


Joined: 18 Apr 2009
Posts: 2208
Location: UK

PostPosted: Sat Sep 07, 2013 6:17 pm    Post subject: Re: cave/paludis problem updating dev-lang/ruby Reply with quote

andi456 wrote:
Code:
!   virtual/rubygems
    Reasons: target, dev-ruby/json-1.8.0:0::gentoo, dev-ruby/racc-1.4.9:0::gentoo, 2 more
    Unsuitable candidates:
      * virtual/rubygems-6:ruby20::gentoo
        Did not meet virtual/rubygems[ruby_targets_ruby18], use existing if possible, installing to / from dev-ruby/rdoc-4.0.1-r1:0::gentoo
            Flag 'ruby_targets_ruby18' enabled

dev-ruby/rdoc has «RUBY_TARGETS: ruby18» set, which wants virtual/rubygems:ruby18, but for some reason it's only trying to install the highest version available.

It seems like paludis is the one being stupid here since those are correctly slotted packages and there's a valid dependency resolution for them. The ebuild's use of a USE dep instead of the more straightforward slot dep probably doesn't help matters though.

It should be fixable by doing:
Code:
cave update-world virtual/rubygems:ruby18 virtual/rubygems:ruby20
Back to top
View user's profile Send private message
andi456
Tux's lil' helper
Tux's lil' helper


Joined: 06 Mar 2005
Posts: 122
Location: Germany

PostPosted: Sat Sep 07, 2013 7:12 pm    Post subject: Reply with quote

Quote:
Code:
cave update-world virtual/rubygems:ruby18 virtual/rubygems:ruby20


tried that, but received an error message:

Code:
Error:
  * In program cave update-world virtual/rubygems:ruby18 virtual/rubygems:ruby20:
  * When splitting out category and package names from 'virtual/rubygems:ruby18':
  * Name 'rubygems:ruby18' is not a valid package name part (paludis::PackageNamePartError)
Back to top
View user's profile Send private message
Ant P.
Advocate
Advocate


Joined: 18 Apr 2009
Posts: 2208
Location: UK

PostPosted: Sat Sep 07, 2013 7:14 pm    Post subject: Reply with quote

That's odd, slots used to work there. If you install those two manually it should clear things up.
Back to top
View user's profile Send private message
andi456
Tux's lil' helper
Tux's lil' helper


Joined: 06 Mar 2005
Posts: 122
Location: Germany

PostPosted: Mon Sep 09, 2013 9:25 am    Post subject: Reply with quote

Tried the following:
Code:
cave resolve ='virtual/rubygems-1:ruby18'

and ended up with essentially the same problem:
Code:
n   virtual/rubygems:ruby18::gentoo 1 to ::installed
    "Virtual ebuild for rubygems"
    RUBY_TARGETS: (ruby18) build_options: symbols=split -dwarf_compress -optional_tests -trace work=tidyup
    Reasons: target

Total: 1 new installs

Build Options:
    dwarf_compress:                Compress DWARF2+ debug information
    optional_tests:                Run tests considered by the package to be optional
    symbols:                       How to handle debug symbols in installed files
    trace:                         Trace actions executed by the package (very noisy, for debugging broken builds only)
    work:                          Whether to preserve or remove working directories

ruby_targets:
    ruby18:                        Build with MRI Ruby 1.8.x

I encountered the following errors:

!   virtual/rubygems
    Reasons: dev-ruby/json-1.8.0:0::installed, dev-ruby/rake-0.9.6:0::installed, dev-ruby/rdoc-4.0.1-r1:0::installed
    Unsuitable candidates:
      * virtual/rubygems-6:ruby20::gentoo
        Did not meet virtual/rubygems[ruby_targets_ruby18], use existing if possible, installing to / from dev-ruby/json-1.8.0:0::installed (and 1 more)
            Flag 'ruby_targets_ruby18' enabled
        Did not meet virtual/rubygems[ruby_targets_ruby19], use existing if possible, installing to / from dev-ruby/json-1.8.0:0::installed (and 1 more)
            Flag 'ruby_targets_ruby19' enabled
Back to top
View user's profile Send private message
Devlin
n00b
n00b


Joined: 18 Jan 2007
Posts: 2

PostPosted: Wed Sep 11, 2013 8:55 am    Post subject: Reply with quote

The problem is that ruby 2.0 has been forced for some packages and paludis does not seem to work well with this kind of forcing on the profile. You can override these forced use flags and masked ruby 2.0 so it won't try to build it.

Create a custom profile directory if you don't already have one, I use /etc/paludis/profile and add it to your repository configuration (/etc/paludis/repositories/gentoo.conf) on the profiles section, mine looks like:
Code:
profiles = /etc/make.profile /etc/paludis/profile


And remove the forced use flags from the ruby packages in your custom profile. Create a file named package.use.force in the custom profile directory and put this inside:
Code:
>=dev-ruby/rubygems-2.0.3 -ruby_targets_ruby20
>=dev-ruby/rake-0.9.6 -ruby_targets_ruby20
>=dev-ruby/json-1.8.0 -ruby_targets_ruby20
>=dev-ruby/racc-1.4.9 -ruby_targets_ruby20
>=dev-ruby/rdoc-4.0.1-r1 -ruby_targets_ruby20


Then mask ruby 2.0 and virtual/rubygems 6 in your package_mask.conf:
Code:
>=virtual/rubygems-6
>=dev-lang/ruby-2.0


Doing that I was able to get paludis working again with the current tree until a fix is done.
Back to top
View user's profile Send private message
christian.
n00b
n00b


Joined: 11 Sep 2013
Posts: 5

PostPosted: Wed Sep 11, 2013 2:57 pm    Post subject: Reply with quote

I have another solution which works at least on my systems:

I added ruby20 to my ruby_targets:

Code:
*/* RUBY_TARGETS: -* ruby18 ruby19 ruby20

in /etc/paludis/use.conf

and then masked
Code:
virtual/rubygems:ruby20

in /etc/paludis/package_mask.conf

Kinda weird: Paludis does not seem to care about the missing virtual/rubygems:ruby20, though I think it should. And it installs only the ruby19 slot of virtual/rubygems. I think :ruby18 and :ruby20 are missing. But, this way I can even install packages with ruby_targets_ruby20 enabled and dev-lang/ruby:2.0.
Back to top
View user's profile Send private message
andi456
Tux's lil' helper
Tux's lil' helper


Joined: 06 Mar 2005
Posts: 122
Location: Germany

PostPosted: Mon Sep 16, 2013 1:13 pm    Post subject: Reply with quote

Thanks for the advice. I used the last approach to "solve" the problem, although both proposals don't seem to be a real solution...

Regards Andreas
Back to top
View user's profile Send private message
christian.
n00b
n00b


Joined: 11 Sep 2013
Posts: 5

PostPosted: Fri Sep 27, 2013 11:05 am    Post subject: Reply with quote

andi456 wrote:
[...] although both proposals don't seem to be a real solution...

They are probably not. :) And, the issue is known for some time according to this bug report. Furthermore, this is from the Paludis user mailing list:
Ciaran McCreesh wrote:
You can only install a single slot, and you might need to mask every
other slot. Gentoo's Ruby dependencies are all broken.

BTW: Paludis 1.4.1 is out for some weeks now and it is still not part of the official Gentoo Portage tree. I'm hoping that's just a minor oversight.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum