Hi. I'm doing an emerge --update --deep --newuse world One of the ebuilds is dev-lang/perl-5.8.6-r5 (I currently have perl-5.8.5-r5 installed). It comes up with the following messages: `sh cflags "optimize='-march=pentium4 -O3 -pipe -fomit-frame-pointer'" util.o` -DPERL_FOR_X2P util.c CCCMD = i686-pc-linux-gnu-gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=pentium4 -O3 -pipe -fomit-frame-pointer `sh cflags "optimize='-march=pentium4 -O3 -pipe -fomit-frame-pointer'" walk.o` -DPERL_FOR_X2P walk.c CCCMD = i686-pc-linux-gnu-gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=pentium4 -O3 -pipe -fomit-frame-pointer `sh cflags "optimize='-march=pentium4 -O3 -pipe -fomit-frame-pointer'" a2p.o` a2p.c CCCMD = i686-pc-linux-gnu-gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=pentium4 -O3 -pipe -fomit-frame-pointer i686-pc-linux-gnu-gcc -o a2p -L/usr/local/lib hash.o str.o util.o walk.o a2p.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc ../miniperl -I../lib find2perl.PL Extracting find2perl (with variable substitutions) make[1]: Leaving directory `/portage/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/x2p' Making B (dynamic) opendir(./../../../../../../../..): Permission denied at ../../lib/File/Find.pm line 597 Use of chdir('') or chdir(undef) as chdir() is deprecated at ../../lib/File/Find.pm line 741. opendir(./../../../..): Permission denied at ../../lib/ExtUtils/MakeMaker.pm line 165 Couldn't change to directory /portage/var/tmp/portage/homedir/C: No such file or directory at Makefile.PL line 18 Writing Makefile for B Warning: No Makefile! make[1]: Entering directory `/portage/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make[1]: *** No rule to make target `config'. Stop. make[1]: Leaving directory `/portage/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make config failed, continuing anyway... make[1]: Entering directory `/portage/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make[1]: *** No rule to make target `all'. Stop. make[1]: Leaving directory `/portage/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make: *** [lib/auto/B/B.so] Error 2 !!! ERROR: dev-lang/perl-5.8.6-r5 failed. !!! Function src_compile, Line 254, Exitcode 2 !!! Unable to make !!! If you need support, post the topmost build error, NOT this status message. I thought that maybe it was a problem with the dependencies but emerge --update --deep --newuse perl throws up the same errors. I've been trying to do this for the past several days, but the same errors occurred for -r1 & -r3
Created attachment 62440 [details] Current emerge & USE settings
are you running this as root? (noting the permission denied lines)
Yes I am. On this machine, only root has rights to run emerge.
Changed the severity from normal to major because this even happens on a clean build. I started re-installing Gentoo on another system to see if the same thing happened, and it does. I get this message half-way through doing emerge -e system CCCMD = i686-pc-linux-gnu-gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -march=pentium4 -O2 -pipe -fomit-frame-pointer i686-pc-linux-gnu-gcc -o a2p -L/usr/local/lib hash.o str.o util.o walk.o a2p.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc ../miniperl -I../lib find2perl.PL Extracting find2perl (with variable substitutions) make[1]: Leaving directory `/home/gentoo/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/x2p' Making B (dynamic) opendir(./../../../../../..): Permission denied at ../../lib/File/Find.pm line 597 Use of chdir('') or chdir(undef) as chdir() is deprecated at ../../lib/File/Find.pm line 741. opendir(./../..): Permission denied at ../../lib/ExtUtils/MakeMaker.pm line 165 Couldn't change to directory /home/gentoo/var/tmp/portage/homedir/C: No such file or directory at Makefile.PL line 18 Writing Makefile for B Warning: No Makefile! make[1]: Entering directory `/home/gentoo/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make[1]: *** No rule to make target `config'. Stop. make[1]: Leaving directory `/home/gentoo/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make config failed, continuing anyway... make[1]: Entering directory `/home/gentoo/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make[1]: *** No rule to make target `all'. Stop. make[1]: Leaving directory `/home/gentoo/var/tmp/portage/perl-5.8.6-r5/work/perl-5.8.6/ext/B' make: *** [lib/auto/B/B.so] Error 2 !!! ERROR: dev-lang/perl-5.8.6-r5 failed. !!! Function src_compile, Line 254, Exitcode 2 !!! Unable to make !!! If you need support, post the topmost build error, NOT this status message. Just for fun, I did # USE="-hardened" emerge perl ...but got the same undesired results
The same here. emerge info: Gentoo Base System version 1.6.12 Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-6mdksmp i686) ================================================================= System uname: 2.6.11-6mdksmp i686 Intel(R) Pentium(R) 4 CPU 3.20GHz Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 10 2005, 18:18:11)] dev-lang/python: 2.3.4-r1 sys-apps/sandbox: [Not Present] sys-devel/autoconf: [Not Present] sys-devel/automake: [Not Present] sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: [Not Present] virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -s -Wall -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -s -Wall -fexceptions" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache cvs distcc distlocks keeptemp keepwork noauto noclean notitles sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="pl_PL.UTF-8" LINGUAS="POLI" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac aalib alsa apm arts avi berkdb bidi bitmap-fonts boundschecking bzip2 cdparanoia cdr crypt crypto cups cupsd div4linux dlloader dvd dvdr dvdread emboss encode foomaticdb fortran gdbm gif glut gnome gpm gtk gtk2 imlib ipv6 ithread jabber java java2 javascript jpeg kde libg++ libwww mad mikmod mmx mmxex motif mp3 mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png posix python qt quicktime readline sdl spell sse sse2 ssl svga tcpd threads tiff truetype truetype-fonts type1-fonts v4l win32codecs wmf xine xml2 xmms xv zlib linguas_POLI userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Hi Wojciech I was experimenting with my make.conf to see if I would maybe stumble on a solution or a work around and I have. It seems to me that if you have "userpriv" and "usersandbox" in your FEATURES list (which we both did) then you'll get that error. Removing either one of them allows Perl to emerge successfully. It that's most probably why we were getting "permission denied" errors. Gentoo/Perl gurus, is this expected behaviour or does the ebuild need to be tweaked? Carlos
Hi Carlos! Thats funny - theese ware standard FEATURES listed in make.conf.example from stage1-x86-2005.0 :) So something must be done with it. But thaks, I'll look at this in few days, case that wasn't my computer but my friend who want to be gentoo user :]
Ok that works.
The best i can think of is to flash a warning if both FEATURES are enabled. i should probably set up a page of 'gotchas' that includes things like this (ok, i guess the modern word for that would be a faq)
Hmmm? I've never had such problems with perl and FEATURES="userpriv usersandbox"...
*** Bug 101295 has been marked as a duplicate of this bug. ***
CLosing because it has been identified as a problem using userpriv - not a perl problem per se.
*** Bug 102862 has been marked as a duplicate of this bug. ***
Can you please make the ebuild bail out when FEATURES="userpriv usersandbox" is set? I don't consider this as fixed when I am using FEATURES that have not been deprecated and still get hit by this bug unwarned. Jakub: WHen you don't get this bug with usersandbox,userpriv it must be some other reason and needs to be investigated further.
(In reply to comment #14) > Jakub: WHen you don't get this bug with usersandbox,userpriv it must be some > other reason and needs to be investigated further. Well, that's quite possible, I've never been able to reproduce this. :/
Mass re-assign.
Yes, I just got bitten by this too, trying to put a new system from stage3 and emerge world -vDatu Might be a problem with ccache? After disabling userpriv sandbox and doing emerge perl, I got: * Adjusting permissions on ccache in /var/tmp/ccache and for quite some time the disk was spinnig. Just a not, I cannot prove it though. The suggested workaround works for me, but it is a PITA.
Trying to increase priority on this and adding /me to CC: cannot up severity :-( Again, this costed me quite a few hours, as emerge world stopped at perl on (yet another) new box (used 2005.1 CD then emerge sync and emerge world -vDatu --newuse). At least I remembered that there was a bug like this somewhere in bugzilla and found it again just to see that the last comment #17 was mine from a week ago. Too hard at work? It seemed like last month that I saw this bug...
*** Bug 114352 has been marked as a duplicate of this bug. ***
(In reply to comment #17) > Might be a problem with ccache? > After disabling userpriv sandbox and doing emerge perl, I got: > * Adjusting permissions on ccache in /var/tmp/ccache > > and for quite some time the disk was spinnig. Just a not, I cannot prove it though. Nope, the permissions change is intended and needed behaviour, otherwise ccache would be broken w/ FEATURES="userpriv usersandbox". (Yeah, it takes a while for large caches...)
I have the same compile problem. I tried to update from 5.8.6-r6 to 5.8.6-r7 and no success. Also re-emerging 5.8.6-r6 is not possible. I use both userpriv and usersandbox for a long time and I'm sure that 5.8.6-r6 was emerged with this (according to /var/db/pkg/dev-lang/perl-5.8.6-r6/FEATURES). I tried to get into the sandbox environment with sandboxshell, but execution of 'emake -j1' was working without this problem (there were ccache access denied problems, but not this problem with Makefile). Any hints?
So I found the problem - permissions to PORTAGE_TMPDIR. If the permission to any subdirectory in that path does not have the permission for reading (this means that there is only permission for execution for user 'portage'), then we have problem: Makefile is written to the "home" directory PORTAGE_TMPDIR/homedir and compile failes. My example: I have PORTAGE_TMPDIR=/mnt/linux/portage-tmp, but /mnt/linux has permission for 'other' only to execute. If I granted the read permission to 'other', then everything started to work. It also started to work when I changed the group of /mnt/linux to 'portage' and granted the read and execute access.
Problem is in abs_path function in Cwd package. Very strange is that my current Perl (5.8.6-r6) is able to return abs_path(".") correctly and the newly compiled one not - tested in subdirectory of directory with this 'execute' only permission.
*** Bug 116487 has been marked as a duplicate of this bug. ***
Just emerged dev-lang/perl-5.8.6-r8 and it seems that this bug is gone... Can anyone confirm this?
*** Bug 119405 has been marked as a duplicate of this bug. ***
marking as closed, no further comments since last all clear
Sorry, the bug is still there (perl-5.8.8-r2), but I cannot reopen. The same errors written. It can be fixed, if the bug #97477 is fixed.
(In reply to comment #28) > marking as closed, no further comments since last all clear I do not understand, why this bug is closed. In comment #27 there is that perl 5.8.6-r8 is probably fixed, but in comment #27 (duplicated bug #119405) there is a failure with perl 5.8.7-r3.