Building rcairo 'in memory' fails (tmpdir mounted on tmpfs) Reproducible: Always Steps to Reproduce: 1.mount PORTAGE_TMPDIR on a tmpfs 2.try to emerge rcairo 3.watch it fail Actual Results: make install Makefile:183: warning: overriding commands for target `/var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib' Makefile:177: warning: ignoring old commands for target `/var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib' /usr/bin/install -c -m 0755 src/cairo.so /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib make: Circular /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/point.rb <- /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/point.rb dependency dropped. make: Circular /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/path.rb <- /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/path.rb dependency dropped. make: Circular /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/papers.rb <- /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/papers.rb dependency dropped. make: Circular /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb <- /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb dependency dropped. /usr/bin/install -c -m 644 /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb /var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo /usr/bin/install: `/var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb' and `/var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb' are the same file make: *** [/var/tmp/paludis/dev-ruby-rcairo-1.8.0/image/usr/lib64/ruby/gems/1.8/gems/cairo-1.8.0/src/lib/cairo/paper.rb] Error 1 Note that I use paludis, which shouldn't I cause or affect the issue. This was the only package that failed in a total rebuild (over 1100 packages).
Please post the paludis equivalent of "emerge --info" and attach the build.log file (I hope paludis creates such a file, too).
Created attachment 186900 [details] paludis --info dev-ruby/rcairo (emerge --info equiv, i guess)
Created attachment 186902 [details] build log
I should note, if it was not clear already, that I am sure this issue is related to the tmpfs. Unmounting /var/tmp/paludis and attempting again always works.
(In reply to comment #4) > I should note, if it was not clear already, that I am sure this issue is > related to the tmpfs. Unmounting /var/tmp/paludis and attempting again always > works. Then please post more information about the way you mount your tmpfs - an extract of fstab and the output of `mount -v' would probably do.
# mount -v | grep paludis none on /var/tmp/paludis type tmpfs (rw,nr_inodes=1M,size=64G)
$ grep paludis /etc/fstab none /var/tmp/paludis tmpfs nr_inodes=1M,size=64G 0 0
Confirmed. Reproduced like this: mount -o remount,exec /dev/shm PORTAGE_TMPDIR=/dev/shm/ emerge -1av rcairo
It fails for me as well. My first thought is that tmpfs has either better of worse mtime timings which are causing the confusion. The ruby herd will investigate.
Merges for me on amd64... $ emerge --info |grep TMPDIR PORTAGE_TMPDIR="/var/tmp/tmpfs" $ grep /var/tmp/tmpfs /proc/mounts none /var/tmp/tmpfs tmpfs rw,size=1536000k 0 0
Created attachment 187583 [details] log of successful build on amd64
tmpfs and xfs have sub-second precision.
I have this same problem on ~amd64. I'm not using paludis or tmpfs.
Created attachment 188102 [details] failing without paludis/tmpfs
Created attachment 188104 [details] failing without paludis/tmpfs
Doesn't merge for me too, with the same error. Since I read it's a time-related issue, please consider that I'm merging on an SSD (Intel X25-M) on ext4. The gem-only install fails too. System uname: Linux-2.6.29-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.0 [ebuild R ] x11-libs/cairo-1.8.6-r1 USE="X doc glitz opengl svg xcb -cleartype -debug -directfb" 0 kB [ebuild U ] dev-ruby/rcairo-1.8.0 [1.6.2] USE="doc%* (-examples%*)" 0 kB I also notice the following warning: * QA notice * The ebuild doesn't set USE_RUBY explicitly. Defaulting to ruby18. * Please check compatibility and set USE_RUBY respectively. * Installing for ruby18...
Found a workaround: PORTAGE_TMPDIR="/tmp" emerge -av rcairo Works for me.
(In reply to comment #16) > Doesn't merge for me too, with the same error. > > Since I read it's a time-related issue, please consider that I'm merging on an > SSD (Intel X25-M) on ext4. > > The gem-only install fails too. > > System uname: > Linux-2.6.29-gentoo-r1-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.0 > > [ebuild R ] x11-libs/cairo-1.8.6-r1 USE="X doc glitz opengl svg xcb > -cleartype -debug -directfb" 0 kB > [ebuild U ] dev-ruby/rcairo-1.8.0 [1.6.2] USE="doc%* (-examples%*)" 0 kB > > I also notice the following warning: > * QA notice > * The ebuild doesn't set USE_RUBY explicitly. Defaulting to ruby18. > * Please check compatibility and set USE_RUBY respectively. > * Installing for ruby18... > The same issue here as well. Building on normal SATA harddrive with ext4.
I've just added rcairo 1.8.0-r1 to the tree which no longer uses the gem. This version builds find for me where the gem was also failing for me. I've also added a fake gemspec file so that existing software will still assume the gem is there. I'd appreciate some feedback on whether solves the issue before closing the bug.
No new bug reports and works for me, so closing the bug.