Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 178140 - dev-lang/gnat-gpl fails on QA Notice - installed in ${D}/${D}
Summary: dev-lang/gnat-gpl fails on QA Notice - installed in ${D}/${D}
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: ada team [OBSOLETE]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-12 03:40 UTC by Bobby D. Bryant
Modified: 2007-05-26 13:39 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
scanelf-execstack.log, as mentioned in the emerge abort message (scanelf-execstack.log,1.28 KB, text/plain)
2007-05-12 03:41 UTC, Bobby D. Bryant
Details
a patch reverting access violation fix (seems to not be necessary anymore) (gnatbuild.diff,843 bytes, text/plain)
2007-05-16 17:07 UTC, George Shapovalov (RETIRED)
Details
diff to the ebuild to reverse the change (gnat-gpl-3.4.6.2006-r1.diff,1.30 KB, patch)
2007-05-16 17:56 UTC, George Shapovalov (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Bobby D. Bryant 2007-05-12 03:40:13 UTC
Attempts to build gnat-gpl bomb off with a QA Notice.

Reproducible: Always

Steps to Reproduce:

1. emerge --unmerge gnat
2. unset ADA_INCLUDE_PATH ADA_OBJECTS_PATH
3. ACCEPT_KEYWORDS=~x86 emerge -va gnat-gcc


Actual Results:  
 * QA Notice: The following files contain executable stacks
 *  Files with executable stacks will not work properly (or at all!)
 *  on some architectures/operating systems.  A bug should be filed
 *  at http://bugs.gentoo.org/ to make sure the file is fixed.
 *  For more information, see http://hardened.gentoo.org/gnu-stack.xml
 *  Please include this file in your report:
 *  /home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/temp/scanelf-execstack.log
 * RWX --- --- usr/lib/gnat-gpl/i686-pc-linux-gnu/3.4/adalib/libgnat-2006.so
RWX --- --- usr/libexec/gnat-gpl/i686-pc-linux-gnu/3.4/gnat1
RWX --- --- usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatbind
RWX --- --- usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatls
RWX --- --- usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatmake
RWX --- --- home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/image/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatbind
RWX --- --- home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/image/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatls
RWX --- --- home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/image/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatmake

 * QA Notice: // installed in ${D}/${D}
 * QA Notice: //usr installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4 installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatbind installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatbl installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatchop installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnat installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatkr installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatlink installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatls installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatmake installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatname installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatprep installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatxref installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatfind installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatclean installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gprmake installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatgcov installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatgccbug installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatcpp installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/gnatgcc installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/i686-pc-linux-gnu-gcc-3.4.6 installed in ${D}/${D}
 * QA Notice: //usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/i686-pc-linux-gnu-gnatgcc installed in ${D}/${D}

!!! ERROR: dev-lang/gnat-gpl-3.4.6.2006-r1 failed.
Call stack:
  misc-functions.sh, line 570:   Called install_qa_check
  misc-functions.sh, line 212:   Called die

!!! Aborting due to QA concerns: 25 files installed in /home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/image///home/saves/portage/temp/portage/dev-lang/gnat-gpl-3.4.6.2006-r1/image/
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/home/saves/portage/logs/dev-lang:gnat-gpl-3.4.6.2006-r1:20070512-032822.log'.

!!! install_qa_check failed; exiting.


Expected Results:  
Successful emerge.



I will attach the file as suggested in the abort message.

This is probably the same as bug 178138, though the fix will have to be applied to both packages.
Comment 1 Bobby D. Bryant 2007-05-12 03:41:40 UTC
Created attachment 118961 [details]
scanelf-execstack.log, as mentioned in the emerge abort message
Comment 2 George Shapovalov (RETIRED) gentoo-dev 2007-05-12 08:28:28 UTC
Hm, I wonder what has changed or rather what may be different in your installs? Please post your emerge info (emerge --info) to either of these bugs.
Thanks!

George
Comment 3 Kevin F. Quinn (RETIRED) gentoo-dev 2007-05-12 12:54:48 UTC
gnat-gpl-3.4.6.2006-r1 does the same for me (still checking gnat-gcc).
execstack is understand and can be ignore (although the ebuild could set QA_EXECSTACK to prevent it being an error when FEATURES=stricter).


February 2006, portage svn started checking for stuff going to ${D}/${D}:

http://sources.gentoo.org/viewcvs.py/portage/main/trunk/bin/ebuild.sh?r1=2606&r2=2620

I think it was in from release 2.1 of portage, which was the middle of last year.  It's an unconditional check (i.e. not dependent on FEATURES=stricter, unlike the execstack check).


emerge --info:
Portage 2.1.2.7 (hardened/x86/2.6, gcc-4.1.2/hardened, glibc-2.5-r2, 2.6.20-hardened-r2 i686)
=================================================================
System uname: 2.6.20-hardened-r2 i686 Mobile Intel(R) Pentium(R) III CPU - M  1200MHz
Gentoo Base System release 1.12.9
Timestamp of tree: Unknown
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [disabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.3.5-r3, 2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.15.92.0.2-r9, 2.15.92.0.2-r10, 2.16-r1, 2.16.1-r3, 2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-ggdb2 -O2 -march=pentium3 -pipe -Wall -Wstack-protector -Wtrampolines"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/fax /usr/share/X11/xkb /usr/share/config /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect /etc/gconf /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-ggdb2 -O2 -march=pentium3 -pipe -Wall -Wstack-protector -Wtrampolines"
DISTDIR="/data/g2/distfiles"
FEATURES="autoaddcvs cvs distlocks fixpackages installsources metadata-transfer pax sandbox sfperms sign splitdebug strict test userpriv"
GENTOO_MIRRORS="http://212.219.56.135/sites/www.ibiblio.org/gentoo/ ftp://212.219.56.134/sites/www.ibiblio.org/gentoo/ ftp://212.219.56.139/sites/www.ibiblio.org/gentoo/ ftp://212.219.56.132/sites/www.ibiblio.org/gentoo/ http://212.219.56.133/sites/www.ibiblio.org/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="en_GB en it de es fr"
MAKEOPTS="-j1"
PKGDIR="/data/g2/pkgdir"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/data/g2/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/data/g2/dev-overlays/kevquinn/hardened/toolchain/branches/pieworld /data/g2/dev-overlays/kevquinn/hardened/xorg /var/portage"
SYNC="cvs://kevquinn@cvs.gentoo.org:/var/cvsroot"
USE="X a52 aac acl acpi alsa apache2 arts berkdb bluetooth boundschecking bzip2 caps cdr cgi clamav crypt cups dbus dillo dri dts dv dvd dvdr dvdread encode enscript faad fastcgi fbcon ffmpeg fortran gcj gif gnokii gnutls gtk gtk2 hal hardened hardenedphp ieee1394 imagemagick imap ipv6 java javascript jikes jpeg jpeg2k kde kdeenablefinal kerberos ldap libcaca mad madwifi mailwrapper mbox midi mmx mozilla mp3 mp4 mpeg mysql nas nls nptl nsplugin odbc ogg openexr opengl oss pam pda pdf perl pic png postgres python qt qt3 qt4 quicktime readline samba scanner sdl slp sndfile spamassassin spell sqlite sse ssl svg tcl tcltk tcpd test theora threads tidy tiff timidity tk truetype unicode urandom usb v4l vorbis wifi wma x264 x86 xinerama xml xml2 xorg xprint xv xvid zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en it de es fr" USERLAND="GNU" VIDEO_CARDS="radeon vesa vga"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 4 Kevin F. Quinn (RETIRED) gentoo-dev 2007-05-12 18:33:29 UTC
For the record; I get the same results here (3.4.6.2006-r1) as Bobby.  'diff'ing the two directories; i.e. ${D}/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/ and ${D}/${D}/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/ shows that:

1) gnatgcc differs between the two directories
   i686-pc-linux-gnu-gnatgcc is the same file, and differs in the same way
2) i686-pc-linux-gnu-gcc-3.4.6 is only in ${D}/usr/i686-pc-linux-gnu/gnat-gpl-bin/3.4/ (it's a copy of gnatgcc)
3) All others files are present in both directories, and are identical.
Comment 5 Bobby D. Bryant 2007-05-12 18:54:03 UTC
Here's the output of emerge --info on the system where the previous errors were generated:

Portage 2.1.2.2 (default-linux/x86/no-nptl, gcc-4.1.1, glibc-2.5-r2, 2.6.18-gentoo-r7c i686)
=================================================================
System uname: 2.6.18-gentoo-r7c i686 Intel(R) Xeon(R) CPU           X5355  @ 2.66GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Sat, 12 May 2007 02:30:01 +0000
ccache version 2.4 [enabled]
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O3 -march=pentium4 -pipe"
DISTDIR="/home/saves/portage/sources"
FEATURES="ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/ http://mirror.utdlug.org/linux/distributions/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo"
MAKEOPTS="-j9"
PKGDIR="/home/saves/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/home/saves/portage/temp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/saves/portage/overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apm berkdb bitmap-fonts bonobo cli cracklib crypt cups doc dri dvd dvdread edl eds emacs emboss encode f77 foomatic foomaticdb fortran freetype gcj gdbm gif gimp gimpprint glade glibc-omitfp glut gnome gpm gstreamer gtk gtk2 gtkhtml guile iconv image imagemagick imlib imlib2 ipv6 isdnlog javascript jpeg jpeg2k lcms libg++ libwww mad midi mikmod mixer mmx mng motif moznocompose moznoirc moznomail mp3 mpeg mpeg4 mplayer music ncurses nls nvidia offensive ogg openal opengl openssh oss pam pcre pdf perl plotutils png ppds pppd python qt3 qt4 quicktime readline real reflection regex sdk sdl session sndfile spell spl sqlite src sse sse2 ssl svg tcpd tetex theora threads tiff timidity truetype truetype-fonts type1 type1-fonts unicode videos vorbis win32codecs x86 xine xinerama xml xorg xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 6 George Shapovalov (RETIRED) gentoo-dev 2007-05-12 23:41:28 UTC
Hm, strange - just a few days ago somebody installed these without a problem (there was a test report in another bug) and I definitely was taking care of this in the ebuilds (some stuff had to be moved in src_install because of this). Looks like a recent change in some eclass affecting toolchain/multilib.

Anyway, the fix should be easy (adapting the cleanup part of src_install, but first I have to see how install image differs now). The only thing - I had a hardware failure (my HDD was acting increasingly bad lately - bad blocks, sounds..) and I am in the middle of rebuilding the system now on a new HDD. Will get to fixing this in a few days only unfortunately.

Bobby: your info looks reasonable, looks like an "unfortunate timing". As above - I guess some changes were made to some core eclass, most likely pushed by recent release of 2007.0. Will adjust the ebuilds soon..

George
Comment 7 George Shapovalov (RETIRED) gentoo-dev 2007-05-15 13:13:13 UTC
Well, what do you know? I cannot reproduce this :(.

In any case, this is the most likely place in the gnatbuild.eclass that is causing it:

        # The install itself. Straight make DESTDIR=${D} install causes access
        # violation (unlink of gprmake). A siple workaround for now.
        cd "${GNATBUILD}"
        make DESTDIR=${D} bindir="${D}${BINPATH}"  install || die
        mv "${D}${D}${PREFIX}/${CTARGET}" "${D}${PREFIX}"

simply because this is the only place where ${D}${D} is invoked. 

I can change bindir specification to point to something less obvoius. That may remove the QA complaint, however the installation will still be breakins, as apparently that mv instruction does not catch the right location everywhere. BTW, this was done specifically to work around the ACT's build scripts, thus the problem in gnat-gcc case is only superficial (only / is under ${D}${D}. And, btw, there are no slashes after ${D}'s because that variable contains the trailing one. May be I should actually add them, as sometime portage people might decide to drop the trailing slashes there).

Can somebody please try to scroll up and search for the complaint about a failed mv instruction and post it here? (Bobby: I hope you did not remove the build dir. If it is still there, just reissue the install instruction: ebuild gnat-gpl-3.4.6.2006-r1.ebuild setup install) I'll try to figure out how it is different from what I am getting and how I can make it more generic (although the way it is now - using no hard paths seemed foolproof. Whell, I guess not..)

George
Comment 8 George Shapovalov (RETIRED) gentoo-dev 2007-05-15 14:07:44 UTC
Actually I just added a "|| die" to that mv line. You should see the install failing right at that point.
Comment 9 George Shapovalov (RETIRED) gentoo-dev 2007-05-16 05:57:40 UTC
Just for completeness, my emerge --info
main system:

Portage 2.1.2.7 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.5-r2, 2.6.21-gentoo x86_64)
=================================================================
System uname: 2.6.21-gentoo x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System release 1.12.10
Timestamp of tree: Tue, 15 May 2007 07:50:01 +0000
dev-java/java-config: 1.3.7, 2.0.32
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests cvs digest distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en de fr ru uk"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi ada aim alsa amd64 apache2 arts audiofile avahi bash-completion berkdb bitmap-fonts blas bluetooth branding bzip2 calendar caps cdparanoia cli cracklib crypt cups dba dbus dga directfb dlloader dri dts dvd dvdr dvdread encode exif fam fbcon ffmpeg fftw flac fortran ftp gd gdbm ggi gif gimp ginac glut gmp gphoto2 gpm hal iconv icq idn ieee1394 imagemagick isdnlog java javascript jpeg jpeg2k kde kdehiddenvisibility kdepim lapack latex ldap libcaca libg++ lm_sensors logrotate lzo mad mbrola midi mime mmx mng mp3 mplayer msn musepack musicbrainz ncurses nls nptl nptlonly nsplugin nvidia ofx ogg oggvorbis openal opengl pam pcmcia pcre pda pdf perl physfs png postgres ppds pppd python qt3 readline reflection samba scanner sdl session sms sndfile sockets sox speex spell spl sqlite sqlite3 sse sse2 ssl subversion svg szip tcpd tetex theora threads tidy tiff truetype truetype-fonts type1-fonts udev unicode vcd vim vorbis wifi wmf xine xinerama xml xml2 xorg xosd xprint xscreensaver xsl xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="mouse keyboard synaptics joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de fr ru uk" USERLAND="GNU" VIDEO_CARDS="fbdev vesa nv nvidia vmware"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


32 bit chroot, that I did not update in a while (no problem either, so this is not arch, should be something else):

Portage 2.1.2_rc1-r7 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.21-gentoo i686)
=================================================================
System uname: 2.6.21-gentoo i686 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System version 1.12.6
Last Sync: Tue, 15 May 2007 07:50:01 +0000
dev-lang/python:     2.3.6, 2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe  -ftracer -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=athlon-xp -pipe  -ftracer -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect cvs digest distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://mirror.datapipe.net/gentoo http://pandemonium.tiscali.de/pub/gentoo/"
LINGUAS="en de fr ru uk"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X acl ada alsa arts audiofile bash-completion berkdb bitmap-fonts blas cairo caps cdr cli cracklib crypt cups dbus dri dvd dvdr eds elibc_glibc emboss encode esd fam fbcon fftw firefox fortran ftp gdbm gif gmp gpm gstreamer gtk hal iconv ieee1394 input_devices_joystick input_devices_keyboard input_devices_mouse input_devices_synaptics ipv6 isdnlog jpeg kde kdeenablefinal kdepim kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text ldap libg++ linguas_de linguas_en linguas_fr linguas_ru linguas_uk lzo mad midi mikmod mime mp3 mpeg ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl oss pam pcre perl plotutils png postgres ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session sox spell spl sqlite ssl subversion tcpd threads truetype truetype-fonts type1-fonts unicode userland_GNU video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vmware vim vorbis win32codecs xml xorg xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 10 George Shapovalov (RETIRED) gentoo-dev 2007-05-16 17:07:55 UTC
Created attachment 119456 [details]
a patch reverting access violation fix (seems to not be necessary anymore)

Well, looks like that bindir="${D}${BINPATH}" is no longer necessary (I have no idea though why, or why it was causing sandbox violation previously). Reverting that change should fix the ${D}/${D} issue.

Bobby (and Kevin): could you please test this patch? Apply it (after syncing) to /usr/portage/eclass/gnatboot.eclass (patch -p1 gnatbuild.eclass < gnatbuild.diff) and try rerunning the install phase. This should fix the problem, but I'd prefer to have it tested on the system where this problem was observed before committing it.

George
Comment 11 George Shapovalov (RETIRED) gentoo-dev 2007-05-16 17:56:30 UTC
Created attachment 119459 [details, diff]
diff to the ebuild to reverse the change

Please also apply this patch to the ebuild (this one is against 3.4.6.2006-r1).
Comment 12 George Shapovalov (RETIRED) gentoo-dev 2007-05-16 18:15:08 UTC
Actually in that last diff (against the ebuild) the first chunk will fail now - I just committed the QA_EXECSTACK bypass. Just delete the first chunk before applying the patch (or ignore the warning).
Comment 13 Kevin F. Quinn (RETIRED) gentoo-dev 2007-05-17 21:39:24 UTC
Installed fine with those mods.

While you're at it :)  The eclass says 'eselect compiler set <profile>' which needs to be 'eselect gnat set <profile>', and I think it'd be useful if the eselect gnat module did 'env-update' when switching gnat compilers, and perhaps warn the user to do 'source /etc/profile' after switching in the current shell.
Comment 14 George Shapovalov (RETIRED) gentoo-dev 2007-05-19 12:13:28 UTC
changes to the eclass and ebuild are in. However I am not closing the bug yet, as correctly implementing "running env update from within gnat.eselect" requires resolution of #172472.
Comment 15 George Shapovalov (RETIRED) gentoo-dev 2007-05-26 13:39:22 UTC
eselect-gnat-1.0 now runs env-update (not do_action env update because the env module is basically broken, as described above). The warning to . /etc/profile is spit on every gnat-xxx merge and I would rather keep update/set actions of gnat-eselect silent (it is used elsewhere and changing its behavior might break something).
Closing the bug.