Very early in the make: ./config/imake/imake -I./config/cf -s ./config/makedepend/Makefile.proto - f ./config/makedepend/Imakefile -DTOPDIR=../.. -DCURDIR=./config/makedepend sh: line 1: /tmp/imakeXxccfO: Permission denied Reproducible: Always Steps to Reproduce: can't reproduce on other machines, but I don't have another machine like this one. Actual Results: (See attached log) Expected Results: compile Xfree Portage 2.0.49-r3 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r3, 2.4.22-rc2-ac3) ================================================================= System uname: 2.4.22-rc2-ac3 i686 VIA Samuel ccache version 2.2 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=c3 -pipe" CHOST="i586-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/qmail/control /var/qmail/alias" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=c3 -pipe" DISTDIR="/usr/gentoo-distfiles" FEATURES="ccache digest cvs sandbox" GENTOO_MIRRORS="http://gentoo.noved.org/ http://csociety- ftp.ecn.purdue.edu/pub/gentoo/ http://adelie.polymtl.ca/" MAKEOPTS="-j2" PKGDIR="/usr/gentoo-packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/gentoo-cvs/gentoo-x86" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 pam 3dnow acl acpi amd apache2 apm cdr crypt curl expat gdbm imap ipv6 gpm ldap libwww maildir mcal mmx mysql ncurses nls cjk nptl offensive perl pic python readline samba slp snmp socks5 spell ssl tcpd tetex usb zlib xml xml2 truetype kde gnome esd opengl oggvorbis mikmod directfb X gif gtk png innodb berkdb tiff jpeg alsa"
Created attachment 17529 [details] portage log
cherenkov-int etc # ls -ld /tmp/ drwxrwxrwt 11 root root 376 Sep 11 16:41 /tmp/
Is the `/tmp' partition on the failing machine mounted `noexec'?
Yes: cherenkov-int .maildir # mount |grep /tmp /dev/hda7 on /tmp type reiserfs (rw,noexec,nosuid,nodev,noatime) And it has saved from a good amount of nastiness. And I confirm that removing noexec allows it to compile fine. Standard configure scripts compile and run their test code in their own directory or a directory known to allow execution, so there is no solid reason that Xfree shouldn't be smarted about where it compiles code. ${T} comes to mind.
Ouch, I was almost going to refer to `XFree86-4.3.0-patches-2.1.11.tar.bz2/patch/ 0128_all_4.2.0-imake-tmpdir.patch', but...now that I look at it, this patch (a) is vulnarable to a buffer overflow if $TMPDIR is more than 242 characters long (b) `strcat()'s to an uninitialized local variable (c) it's 4:15am here and I'm still more than 2 hours away from xfree sources brb, as soon as xfree finishes downlading.
(d) I'm an idiot (possibly result of (c)) Imake does intitalize said variable, just in a somewhat obscure way. Bug #28554, attchement #17596 <http://bugs.gentoo.org/attachment.cgi?id=17596&action=view> fixes (a) and doesn't interfer with any of the other 4.3.99 patches.
Nice I happened across this bug, since for some reason it's not assigned to xfree. Anyway, this patch will be in 4.3.99.12, which is going out shortly. Could you confirm you don't get this issue once you spot .12?
Robin I'd appreciate if you could confirm 4.3.99.12 works.
I've left it compiling, and I'll check it in the morning.
works fine thanks.