Failed to emerge gnustep-back versions 0.7.9, 0.8.0, and 0.8.3. Occurs while running WindowMaker and in raw CLI-mode (bash). I was logged in as superuser. I received errors regarding not being able to make locked directory, even after breaking old locks (ACCESS DENIED). On versions 0.7.9 and 0.8.3, I tested compile options -O[0|1|2|s]. Reproducible: Always Steps to Reproduce: 1. Login to Gentoo GNU/Linux as root. 2. Type 'cd /usr/portage/dev-util/gnustep-back'. 3. Type 'emerge gnustep-back-0.7.9.ebuild', 'emerge gnustep-back-0.8.0.ebuild', or 'emerge gnustep-back-0.8.3.ebuild'. 4. Repeat 1-3, using -O0, -O1, -O2, and -Os CFLAGS settings in '/etc/make.conf'. Actual Results: #### Here was the error-output when trying to 'emerge gnustep-back-0.7.9'. For this version, I tried doing the emerge with -O0, -O1, -O2, and -Os optimizations, with the same error-output: make[3]: *** [shared_obj/ix86/linux-gnu/gnu-gnu-gnu/XGFont.o] Error 1 make[2]: *** [xlib.all.subproject.variables] Error 2 make[2]: Leaving directory `/var/tmp/portage/gnustep-back-0.7.9/work/gnustep-back-0.7.9/Source/xlib' make[1]: *** [libgnustep-back.all.bundle.variables] Error 2 make[1]: Leaving directory `/var/tmp/portage/gnustep-back-0.7.9/work/gnustep-back-0.7.9/Source' make: *** [internal-all] Error 2 !!! ERROR: dev-util/gnustep-back-0.7.9 failed. !!! Function src_compile, Line 29, Exitcode 2 !!! (no error message) #### Here was the error output when trying to 'emerge gnustep-back-0.8.0': make[3]: *** [shared_obj/ix86/linux-gnu/gnu-gnu-gnu/XGFont.o] Error 1 make[2]: *** [xlib.all.subproject.variables] Error 2 make[2]: Leaving directory `/var/tmp/portage/gnustep-back-0.8.0/work/gnustep-back-0.8.0/Source/xlib' make[1]: *** [libgnustep-back.all.bundle.variables] Error 2 make[1]: Leaving directory `/var/tmp/portage/gnustep-back-0.8.0/work/gnustep-back-0.8.0/Source' make: *** [internal-all] Error 2 !!! ERROR: dev-util/gnustep-back-0.8.0 failed. !!! Function src_compile, Line 29, Exitcode 2 !!! (no error message) #### Here was the error output when trying to 'emerge gnustep-back-0.8.3' (repeated ad-nauseum for about 30s...only pasted last screen of error output). For this version, I tried doing the emerge with -O0, -O1, -O2, and -Os, with the same error output: ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck 2003-04-20 20:35:04.750 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck 2003-04-20 20:35:04.860 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck 2003-04-20 20:35:04.969 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck 2003-04-20 20:35:05.079 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck ACCESS DENIED mkdir: /home/GNUstep/Defaults/.GNUstepDefaults.lck 2003-04-20 20:35:05.190 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied 2003-04-20 20:35:05.190 make_services[12767] Failed to lock user defaults databa se even after breaking old locks! 2003-04-20 20:35:05.190 make_services[12767] WARNING - unable to create shared u ser defaults! 2003-04-20 20:35:05.190 make_services[12767] Failed to create lock directory '/h ome/GNUstep/Defaults/.GNUstepDefaults.lck' - Permission denied 2003-04-20 20:35:05.192 make_services[12767] Failed to lock user defaults databa se even after breaking old locks! #### In each case, after encountering this error, when I type 'emerge -p gnustep-back', I get the following output, verifying that it did not install properly: These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] dev-util/gnustep-back-0.8.3 Expected Results: I expected the software to emerge without problems. #### This error occured while in WindowMaker and running wTerm as root, and a wterm as the user, using Irssi, along with a Dillo window open. The same errors occured while in raw CLI-mode, in which I have little running (most kernel options were modularized, was using bash shell, 8139too driver, and NVdriver autoloaded). #### This is the output of 'emerge info': Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.20-gentoo-r2 i686 AMD Athlon(tm) Processor GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" 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" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow avi crypt cups encode gif jpeg mmx mpeg ncurses oggvorbis pdflib png quicktime sdl spell truetype xml2 xmms xv zlib gdbm readline tetex svga guile gpm tcpd pam libwww ssl perl imlib opengl cdr X -gtk -gnome alsa -arts -berkdb -kde -gnome2 -libg++ -mikmod -motif -nls -python -qt -slang -gnome2 -apm -arts -gtk -java -kde -mikmod -motif" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -Os -pipe -fomit-frame-pointer" CXXFLAGS="-march=athlon-tbird -Os -pipe -fomit-frame-pointer" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache buildpkg"
I've listed this bug with a severity of major because I believe it prevents the installation of GNUstep programs, which is not good for those of us who want to use WindowMaker.
I've had nightmares because of this bug also. I submitted ebuilds for gnustep-make and gnustep-base (versions 1.6.0) and ran into this problem constantly. I've traced the error to (and I'd like some extra verification on this) how a gnustep utility determines the current user's home directory when the shell script "/usr/GNUstep/System/Makefiles/GNUstep.sh" is sourced. This error prevented me from submitting the ebuilds for gnustep-back and gnustep-gui (versions 0.8.5) like I had hoped to. It seems to me that the "/usr/GNUstep/System/Makefiles/GNUstep.sh" script tries to set a default directory in either a user's home directory or root's directory depending on how you have logged in / su-ed in and when the "/usr/GNUstep/System/Makefiles/GNUstep.sh" script has been called previous to running the emerge (I've tried countless combinations of both). After that script tries to set the default directory under a home directory emerge encounters sandbox violations and that gives you your error. I have tried to come up with a solution but have nothing promising. I have almost resorted to setting all the environment variables in the ebuild file rather than sourcing the "/usr/GNUstep/System/Makefiles/GNUstep.sh" shell script. I would love to hear ideas on how this could be fixed.
Looking at Bug 18774 it looks like manipulating the FEATURES variable for emerge can help, but it seems to me that there should be a better solution. I'm at work now, so I cannot test this.
I tried typing [code]FEATURES="-userpriv" emerge gnustep-back[/code] But that resulted in the exact same errors.
Try -sandbox as well... Or alter the GNUSTEP_HOME_DIR after it has been set... or whatever that was.
IT WORKS! Thank you Z. Lin and M.R. Taylor for the tips. For the record, to get gnustep-back to install correctly, you have to type the following at the command line: FEATURES="-userpriv -sandbox" emerge gnustep-back I think I'm going to change my signature to, "Gentoo -- better tech support for free than you can get from an OEM for $300" I don't think that would be the most elegant way to solve the bug, however (just including a FEATURES="-userpriv -sandbox" in the gnustep-back.ebuild. I'm not a developer, but it would seem to me that the way to fix this is to go to the root or source (no puns intented) of the problem.
again, reassigning to bug-wranglers. no time to work on these unfortunately.
I don't have time to look at the gnustep/windowmaker stuff at the moment :(
Until the gnustep.eclass has solidified I have added a small fix to the make of gnustep-back-0.8.5.ebuild which should work around your ACCESS DENIED problems... emerge sync emerge gnustep-back please test.
the current gnustep.eclass should take care of this problem