I tried to emerge ruby-gnome2 (to try out a gnome2 music player) and ruby-glib2 is one of its dependencies. It gave an error stating that some file is missing. Reproducible: Always Steps to Reproduce: ACCEPT_KEYWORDS="~x86" emerge ruby-gnome2 Actual Results: after compiling: >>> Install ruby-glib2-0.8.0 into /var/tmp/portage/ruby-glib2-0.8.0/image/ category dev-ruby make[1]: Entering directory `/var/tmp/portage/ruby-glib2-0.8.0/work/ruby-gnome2-all-0.8.0/glib/src' glib2.so -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so chmod 0755 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so ./lib/mkmf-gnome2.rb -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/mkmf-gnome2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/mkmf-gnome2.rb ./lib/glib2.rb -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/glib2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/glib2.rb ./rbglib.h -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu /usr/lib/ruby/1.6/ftools.rb:23:in `open': No such file or directory - "/var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu" (Errno::ENOENT) from /usr/lib/ruby/1.6/ftools.rb:23:in `syscopy' from /usr/lib/ruby/1.6/ftools.rb:43:in `copy' from /usr/lib/ruby/1.6/ftools.rb:160:in `install' from -e:1 make[1]: *** [install] Error 1 make[1]: Leaving directory `/var/tmp/portage/ruby-glib2-0.8.0/work/ruby-gnome2-all-0.8.0/glib/src' make: *** [install] Error 2 !!! ERROR: dev-ruby/ruby-glib2-0.8.0 failed. !!! Function ruby-gnome2_src_install, Line 45, Exitcode 2 !!! make install failed Expected Results: It should have proceeded to the next step. >>> Install ruby-glib2-0.8.0 into /var/tmp/portage/ruby-glib2-0.8.0/image/ category dev-ruby make[1]: Entering directory `/var/tmp/portage/ruby-glib2-0.8.0/work/ruby-gnome2-all-0.8.0/glib/src' glib2.so -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so chmod 0755 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so ./lib/mkmf-gnome2.rb -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/mkmf-gnome2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/mkmf-gnome2.rb ./lib/glib2.rb -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/glib2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/1.6/glib2.rb ./rbglib.h -> /var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu /usr/lib/ruby/1.6/ftools.rb:23:in `open': No such file or directory - "/var/tmp/portage/ruby-glib2-0.8.0/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu" (Errno::ENOENT) from /usr/lib/ruby/1.6/ftools.rb:23:in `syscopy' from /usr/lib/ruby/1.6/ftools.rb:43:in `copy' from /usr/lib/ruby/1.6/ftools.rb:160:in `install' from -e:1 make[1]: *** [install] Error 1 make[1]: Leaving directory `/var/tmp/portage/ruby-glib2-0.8.0/work/ruby-gnome2-all-0.8.0/glib/src' make: *** [install] Error 2 !!! ERROR: dev-ruby/ruby-glib2-0.8.0 failed. !!! Function ruby-gnome2_src_install, Line 45, Exitcode 2 !!! make install failed
Thanks for reporting. It's not missing any files but the install directory (ruby's sitearchdir) was not created during src_install. I added dodir to ruby-gnome2.eclass to fix the problem. Please emerge sync and try again.
I ran emerge sync and tried again. this is what I got: by the way - a friend of mine had a look at it and he says it looks like something it tries to use doesn't exist in the sandbox or something. wasn't sure. I can't really recall the conversation and it was only speculation anyway :) maybe the portage mirror doesn't have the latest ebuild? how long does it take for a mirror to update? spoedvark root # ACCEPT_KEYWORDS="~x86" emerge ruby-gnome2 Calculating dependencies ...done! >>> emerge (1 of 6) dev-ruby/ruby-glib2-0.8.1 to / >>> md5 src_uri ;-) ruby-gnome2-all-0.8.1.tar.gz >>> Unpacking source... >>> Unpacking ruby-gnome2-all-0.8.1.tar.gz to /var/tmp/portage/ruby-glib2-0.8.1/work >>> Source unpacked. checking for GCC... yes checking for rb_define_alloc_func()... no checking for rb_block_proc()... no checking for new allocation framework... no checking for attribute assignment... no checking for gobject-2.0... yes checking for G_PLATFORM_WIN32... no creating Makefile make[1]: Entering directory `/var/tmp/portage/ruby-glib2-0.8.1/work/ruby-gnome2-all-0.8.1/glib/src' make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_boxed.o rbgobj_boxed.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_signal.o rbgobj_signal.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_paramspecs.o rbgobj_paramspecs.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_typemodule.o rbgobj_typemodule.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgutil.o rbgutil.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_valuetypes.o rbgobj_valuetypes.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_type.o rbgobj_type.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_enums.o rbgobj_enums.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbglib.o rbglib.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_object.o rbgobj_object.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobject.o rbgobject.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o utils_int64.o utils_int64.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbglib_convert.o rbglib_convert.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_value.o rbgobj_value.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbglib_messages.o rbglib_messages.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_typeplugin.o rbgobj_typeplugin.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_param.o rbgobj_param.c gcc -fPIC -march=athlon-xp -O2 -fPIC -Wall -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I. -I/usr/lib/ruby/1.6/i686-linux-gnu -I. -DRUBY_GLIB2_COMPILATION -I/usr/lib/ruby/site_ruby/1.6/i686-linux-gnu -c -o rbgobj_closure.o rbgobj_closure.c gcc -shared -L/usr/lib -o glib2.so rbgobj_boxed.o rbgobj_signal.o rbgobj_paramspecs.o rbgobj_typemodule.o rbgutil.o rbgobj_valuetypes.o rbgobj_type.o rbgobj_enums.o rbglib.o rbgobj_object.o rbgobject.o utils_int64.o rbglib_convert.o rbgobj_value.o rbglib_messages.o rbgobj_typeplugin.o rbgobj_param.o rbgobj_closure.o -L. -lruby -lc -lgobject-2.0 -lglib-2.0 -ldl -lcrypt -lm make[1]: Leaving directory `/var/tmp/portage/ruby-glib2-0.8.1/work/ruby-gnome2-all-0.8.1/glib/src' >>> Install ruby-glib2-0.8.1 into /var/tmp/portage/ruby-glib2-0.8.1/image/ category dev-ruby make[1]: Entering directory `/var/tmp/portage/ruby-glib2-0.8.1/work/ruby-gnome2-all-0.8.1/glib/src' glib2.so -> /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so chmod 0755 /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/i686-linux-gnu/glib2.so ./lib/mkmf-gnome2.rb -> /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/mkmf-gnome2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/mkmf-gnome2.rb ./lib/glib2.rb -> /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/glib2.rb chmod 0644 /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/1.6/glib2.rb ./rbglib.h -> /var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu /usr/lib/ruby/1.6/ftools.rb:23:in `open': No such file or directory - "/var/tmp/portage/ruby-glib2-0.8.1/image//usr/lib/ruby/site_ruby/1.6/i686-linux-gnu" (Errno::ENOENT) from /usr/lib/ruby/1.6/ftools.rb:23:in `syscopy' from /usr/lib/ruby/1.6/ftools.rb:43:in `copy' from /usr/lib/ruby/1.6/ftools.rb:160:in `install' from -e:1 make[1]: *** [install] Error 1 make[1]: Leaving directory `/var/tmp/portage/ruby-glib2-0.8.1/work/ruby-gnome2-all-0.8.1/glib/src' make: *** [install] Error 2 !!! ERROR: dev-ruby/ruby-glib2-0.8.1 failed. !!! Function ruby-gnome2_src_install, Line 45, Exitcode 2 !!! make install failed
Hum.. If you have /usr/portage/eclass/ruby-gnome2.eclass version 1.4 it should be solved (I tested it with ruby-glib2-0.8.0.ebuild and you tried ruby-glib2-0.8.1.ebuild this time though). What does `emerge info` and `epm ruby` (epm is in app-portage/epm) and `ruby -r rbconfig -e 'puts Config::CONFIG["sitearchdir"]'` say?
emerge info: Gentoo Base System version 1.4.3.10p1 Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.20-gentoo-r7) ================================================================= System uname: 2.4.20-gentoo-r7 i686 AMD Athlon(TM) XP 2600+ ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O2" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm avi cups foomaticdb libg++ mad motif gdbm berkdb tetex svga tcltk java gpm tcpd pam libwww python esd imlib gtk gtk2 gnome alsa apache2 -kde -qt -arts -nls acpi bonobo cdr crypt doc dvd encode fbcon gd gif gtkhtml imap innodb ipv6 jikes jpeg mikmod mmx mozilla mpeg mysql ncurses slang oggvorbis opengl pdflib png quicktime readline perl ruby sdl ssl spell tiff truetype usb wmf X xml2 xmms xv zlib 3ds mng evo kerberos krb4 openal samba sse vim-with-x wxwindows" (yeah - I went through the use flag list when I first set up my system and added pretty much everything that looks interesting :) ) epm -q ruby (without q it gives a funny error) returns ruby-1.8.1_pre2-r1 ruby-1.6.8-r1 ruby -r rbconfig -e 'puts Config::CONFIG["sitearchdir"]' returns: /usr/lib/ruby/site_ruby/1.6/i686-linux-gnu
Well, your sitearchdir looks okay, so I wonder why it happens to you. Please run `emerge sync` and emerge ruby-glib2 again, and if your problem still persists, will you emerge ruby-glib2 with --debug option and post the output after >>> Install ruby-glib2-0.8.1 into /var/tmp/portage/ruby-glib2-0.8.1/image/ category dev-ruby ?
hmmm.. another emerge-sync fixed it. Maybe the rsync server wasn't updated yet last time I tried.