Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 202109
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Ruby Team <ruby@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Tim Harder <radhermit@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 202109 depends on: 205276 Show dependency tree
Bug 202109 blocks:
Votes: 10    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-12-13 08:53 0000
New release.

------- Comment #1 From Richard Brown (RETIRED) 2007-12-15 17:37:21 0000 -------
I've added this to cvs masked, I've had to make quite a few changes because the
setup.rb changed. ruby@ it would be great if some of you could test this before
I unmask it.

------- Comment #2 From Hans de Graaff 2007-12-17 19:45:06 0000 -------
I've just installed it. 

The warning about ruby18_with_gems can probably be dropped by now, this refers
to stuff that has left the tree for quite some time.

One problem so far:

$ gem outdated
Updating metadata for 5 gems from http://gems.rubyforge.org
.....
complete
ERROR:  While executing gem ... (NoMethodError)
    undefined method `<=>' for nil:NilClass

------- Comment #3 From Hans de Graaff 2007-12-18 07:20:51 0000 -------
As already mentioned on IRC my problem with gem is most likely caused by me
aborting the gem cache using Ctrl-C. After refreshing the cache things work as
expected.

------- Comment #4 From Hans de Graaff 2007-12-19 07:30:50 0000 -------
Interesing gotcha with rubygems 0.9.5: Gem.cache.search('rails', '~>1.2.0') now
returns to results for me instead of just the installed rails 1.2.6 version,
because suddenly 'rails' also matches 'rails_analyzer' which I've got installed
(and which has version 1.4.0...). Using a regexp fixes this, e.g.
Gem.cache.search(/^rails$/, '~>1.2.0').

------- Comment #5 From Hans de Graaff 2007-12-19 07:33:37 0000 -------
So I've just downgraded to rubygems-0.9.4-r2 because rubygems 0.9.5 suddenly
could no longer find YAML in my rails project and I actually need to do work on
this machine today. My verdict: by no means ready to be unmasked, sadly.

------- Comment #6 From Richard Brown (RETIRED) 2007-12-21 09:43:35 0000 -------
Ok, 1.0.1 is now in the tree to test, I've left it package masked for now.

------- Comment #7 From Hans de Graaff 2007-12-21 15:46:18 0000 -------
Same problem with YAML with 1.0.1. I'm using YAML in a rake task in a rails
project. I can fix that with a "require 'yaml'" in the task file, but this is
still a regression from 0.9.4.

After fixing this, when running 'rake' in a rails project I'm getting the
wonderful:

/home/graaff/projects/wvwo/git/test/mocks/test/time.rb:5: undefined method
`cattr_accessor' for Time:Class (NoMethodError)
        from /home/graaff/projects/wvwo/git/test/mocks/test/time.rb:3:in
`class_eval'
        from /home/graaff/projects/wvwo/git/test/mocks/test/time.rb:3
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext/time.rb:2
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext.rb:1
         ... 23 levels...
        from
/usr/lib64/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb:5:in
`load'
        from
/usr/lib64/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb:5
        from
/usr/lib64/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb:5:in
`each'
        from
/usr/lib64/ruby/gems/1.8/gems/rake-0.7.3/lib/rake/rake_test_loader.rb:5


My best guess right now is that this has something to do with load order?

------- Comment #8 From Hans de Graaff 2007-12-21 15:50:15 0000 -------
Just checked some of my other rails projects...

Again running rake to run tests and specs:

/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:263:in
`load_missing_constant': uninitialized constant Spec::VERSION::REV (NameError)
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:452:in
`const_missing'
        from
/home/graaff/projects/winkwaves/vsnu/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb:13
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
        from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in
`new_constants_in'
        from
/usr/lib64/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in
`require'
        from
/home/graaff/projects/winkwaves/vsnu/vendor/plugins/rspec_on_rails/lib/spec/rails.rb:16


A few ruby-only projects with rspec seem to work fine, but they don't have
external dependencies either.

------- Comment #9 From Vlastimil Babka (Caster) 2008-01-21 08:32:10 0000 -------
Seems it was unmasked already, fails though:

>>> Install rubygems-1.0.1 into /var/tmp/portage/dev-ruby/rubygems-1.0.1/image/ category dev-ruby
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/cache
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/doc
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/specifications
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/cache
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/doc
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/specifications
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems

This seems to help (0.9.4-r2 does it like that) but I'm not sure it's the
proper fix.
-       export GEM_HOME="/usr/$(get_libdir)/ruby/gems/${ver}"
+       export GEM_HOME="${D}/usr/$(get_libdir)/ruby/gems/${ver}"

------- Comment #10 From Richard Brown (RETIRED) 2008-01-21 09:16:58 0000 -------
(In reply to comment #9)
> ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/gems

> This seems to help (0.9.4-r2 does it like that) but I'm not sure it's the
> proper fix.
> -       export GEM_HOME="/usr/$(get_libdir)/ruby/gems/${ver}"
> +       export GEM_HOME="${D}/usr/$(get_libdir)/ruby/gems/${ver}"
> 

Setting GEM_HOME like that was for installing a gem at the same time, which we
no longer have to do.

Could you give me a clue as to which part of src_install is going to wrong
place for you, your emerge info if you're still using portage, otherwise the
nearest equivalent, and I guess, what version of ruby you're using.

Thanks

------- Comment #11 From Vlastimil Babka (Caster) 2008-01-21 09:54:22 0000 -------
(In reply to comment #10)
> Could you give me a clue as to which part of src_install is going to wrong

This one: 
${RUBY} setup.rb $myconf --prefix="${D}" || die "setup.rb install failed"

If you want me to trace what part of setup.rb that is, please hint, I have no
ruby knowledge :)

BTW it seems to happen only if those dirs don't exist on the system yet, i.e.
no gems installed yet. Upgrades and reinstalls are fine. Either it ignores
prefix for some mkdirs, or ruby tries to create those itself?

> place for you, your emerge info if you're still using portage, otherwise the
> nearest equivalent, and I guess, what version of ruby you're using.

"STILL" using portage? pfft
$ emerge --info
Portage 2.1.4 (default-linux/amd64/2007.0/desktop, gcc-4.2.2, glibc-2.7-r1,
2.6.23-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.23-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3000+
Timestamp of tree: Unknown
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.3
dev-lang/python:     2.5.1-r5
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -msse3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env
/usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config
/var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c
/etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon64 -msse3 -pipe"
DISTDIR="/data/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y"
FEATURES="assume-digests ccache collision-protect cvs distlocks parallel-fetch
sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.upc.cz/mirrors/gentoo-mirror 
http://gentoo.osuosl.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en cs"
MAKEOPTS="-j2"
PKGDIR="/usr/portage-packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles
--exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/mozilla
/usr/portage/local/layman/openrc /usr/portage/local/crossdev
/proj/gentoo/java/java-overlay /proj/gentoo/java/java-experimental
/usr/portage/local/caster"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X a52 aac acl acpi alsa amd64 amr apache2 audiofile
bash-completion berkdb bitmap-fonts bluetooth branding bsf bzip2 cairo caps cdr
cjk cli cracklib crypt cups curl dbus djvu dri dts dvd dvdr dvdread dvi emboss
encode evo fam ffmpeg fftw firefox flac fontconfig fortran gdbm ggi gif gmp gpm
gstreamer gtk hal iconv icq idn ipv6 isdnlog java java5 javascript jmf jpeg kde
kdeenablefinal kdehiddenvisibility kerberos kipi ladspa lcms ldap libnotify
libsamplerate lm_sensors lua lzo mad maildir matroska mbox midi mikmod mmx
mmxext mozdevelop moznoirc mp3 mpeg mplayer mudflap musicbrainz ncurses nls
nptl nptlonly nsplugin ntfs nvidia ogg openal opengl openmp oscar pam pcre pdf
perl png pppd python qt3 qt3support qt4 quicktime readline reflection reiserfs
rtc ruby sdl seamonkey session slang sockets soundtouch speex spell spl sqlite
sse sse2 ssl svg t1lib tcl tcpd tetex threads tiff tk truetype truetype-fonts
type1-fonts unicode usb v4l vamp vorbis webdav xcb xcomposite xine xml xorg
xosd xulrunner xv xvid zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw
asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa
lfloat linear meter mulaw multi null plug rate route share shm softvol"
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd
authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile
authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd
deflate dir disk_cache env expires ext_filter file_cache filter headers ident
imagemap include info log_config logio mem_cache mime mime_magic negotiation
proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so
speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc"
INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz
cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en cs"
USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa fbdev v4l"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

ruby is 1.8.6_p111-r1

------- Comment #12 From Richard Brown (RETIRED) 2008-01-21 09:56:44 0000 -------
(In reply to comment #11)
> 
> If you want me to trace what part of setup.rb that is, please hint, I have no
> ruby knowledge :)
> 
> BTW it seems to happen only if those dirs don't exist on the system yet, i.e.
> no gems installed yet. Upgrades and reinstalls are fine. Either it ignores
> prefix for some mkdirs, or ruby tries to create those itself?

Thanks, that should help me track it down

------- Comment #13 From Richard Brown (RETIRED) 2008-01-21 11:07:42 0000 -------
(In reply to comment #10)
> (In reply to comment #9)
> > ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/gems
> 
> > This seems to help (0.9.4-r2 does it like that) but I'm not sure it's the
> > proper fix.
> > -       export GEM_HOME="/usr/$(get_libdir)/ruby/gems/${ver}"
> > +       export GEM_HOME="${D}/usr/$(get_libdir)/ruby/gems/${ver}"
> > 
> 
> Setting GEM_HOME like that was for installing a gem at the same time, which we
> no longer have to do.

Or maybe it wasn't.

setup.rb is requiring the rubygems it's installing, which is making sure all
the right GEM_HOME directories exist. I've changed this back in CVS, thanks

------- Comment #14 From Vlastimil Babka (Caster) 2008-01-21 11:58:35 0000 -------
Fixed this :)
-       export GEM_HOME="{$D}/usr/$(get_libdir)/ruby/gems/${ver}"
+       export GEM_HOME="${D}/usr/$(get_libdir)/ruby/gems/${ver}"

------- Comment #15 From Richard Brown (RETIRED) 2008-01-21 12:03:49 0000 -------
That's my last commit for the day then, since I also didn't commit when I said
I did. thanks for fixing it.

------- Comment #16 From Gerrit Visscher 2008-07-06 14:00:25 0000 -------
The problem still exists with version 1.2.0. I got

ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems/1.8/cache                        
ACCESS DENIED  mkdir:     /usr/lib64/ruby/gems
...

When I created the directories by hand, the installation worked fine.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug