Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 249054 - Configuring gnat-gcc-4.3.2 fails
Summary: Configuring gnat-gcc-4.3.2 fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: ada team [OBSOLETE]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-27 06:57 UTC by onox
Modified: 2011-09-27 18:25 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description onox 2008-11-27 06:57:10 UTC
Tried to emerge gnat-gcc-4.3.2, which resulted in the following error:
configure: error: GNAT is required to build ada

>>> Unpacking source...
>>> Unpacking gcc-core-4.3.2.tar.bz2 to /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work
>>> Unpacking gcc-ada-4.3.2.tar.bz2 to /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work
>>> Unpacking gnatboot-4.1-i386.tar.bz2 to /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work
 * PT PaX marking -E
 *      /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/usr/bin/gnat1
 * Replacing obsolete head/tail with POSIX compliant ones
 *  - fixed fixincludes/configure
 *  - fixed gcc/configure
 *  - fixed gnattools/configure
 *  - fixed intl/configure
 *  - fixed libada/configure
 *  - fixed libcpp/configure
 *  - fixed libdecnumber/configure
 *  - fixed libgcc/configure
 *  - fixed libgomp/configure
 *  - fixed libiberty/configure
 *  - fixed libmudflap/configure
 *  - fixed libssp/configure
 * Running elibtoolize in: gcc-4.3.2
 *   Applying install-sh-1.5.4.patch ...
 *   Applying portage-2.2.patch ...
 *   Applying sed-1.5.6.patch ...
 * Using GNU config files from /usr/share/libtool
 *   Updating config.sub                                                                            [ ok ]
 *   Updating config.guess                                                                          [ ok ]
 * Fixing misc issues in configure files
 * Running autoconf ...                                                                             [ ok ]
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/gcc-4.3.2 ...
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for i686-pc-linux-gnu-gcc... /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/usr/bin/gnatgcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/usr/bin/gnatgcc accepts -g... yes
checking for /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/usr/bin/gnatgcc option to accept ANSI C... none needed
checking for i686-pc-linux-gnu-g++... i686-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... yes
checking whether i686-pc-linux-gnu-g++ accepts -g... yes
checking for i686-pc-linux-gnu-gnatbind... no
checking for gnatbind... gnatbind
checking for i686-pc-linux-gnu-gnatmake... no
checking for gnatmake... gnatmake
checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
checking for correct version of gmp.h... yes
checking for correct version of mpfr.h... yes
configure: error: GNAT is required to build ada
 * 
 * ERROR: dev-lang/gnat-gcc-4.3.2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3627:  Called gnatbuild_src_compile 'src_compile' 'src_compile' 'configure'
 *             environment, line 2528:  Called die
 * The specific snippet of code:
 *                       CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" "${S}"/configure --prefix=${PREFIX} --bindir=${BINPATH} --includedir=${INCLUDEPATH} --libdir="${LIBPATH}" --libexecdir="${LIBEXECPATH}" --datadir=${DATAPATH} --mandir=${DATAPATH}/man --infodir=${DATAPATH}/info --program-prefix=gnat --enable-languages="c,ada" --with-gcc --enable-threads=posix --enable-shared --with-system-zlib ${confgcc} || die "configure failed"
 *  The die message:
 *   configure failed

Portage 2.1.4.5 (hardened/x86/2.6, gcc-3.4.6-hardenednossp, glibc-2.6.1-r0, 2.6.26-hardened-r2 i686)
=================================================================
System uname: 2.6.26-hardened-r2 i686 Intel(R) Pentium(R) M processor 1600MHz
Timestamp of tree: Thu, 20 Nov 2008 19:15:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mtune=i686 -O2 -pipe -fforce-addr -msse2"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-mtune=i686 -O2 -pipe -fforce-addr -msse2"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-detect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test unmerge-orphans userfetch"

It failed with both gcc-3.4.6-r2 and gcc-4.2.3
Comment 1 George Shapovalov (RETIRED) gentoo-dev 2008-11-27 15:40:42 UTC
As discussed on irc, please check portage tree consistency and that you do not have stray ovelrays/eclasses and please attach config.log as generated by this configure.
Comment 2 onox 2008-11-29 00:49:56 UTC
dmesg shows the following that every time ./configure fails:

PAX: execution attempt in: <anonymous mapping>, 5ee48000-5ee60000 bffe8000
PAX: terminating task: /var/tmp/portage/dev-lang/gnat-gcc-4.3.2/work/usr/bin/gnat1(gnat1):16614, uid/euid: 0/0, PC: 5ee5bdd4, SP: 5ee5bd4c

This can be avoided by doing emulating trampolines via pax-mark E (this is already done in gnatbuild.eclass, in gnatbuild_src_unpack())

(Help in kernel configuration says that emulating trampolines is necessary to make certain programs work when CONFIG_PAX_PAGEEXEC or CONFIG_PAX_SEGMEXEC is enabled)

However, this doesn't work if CONFIG_PAX_EMUTRAMP is disabled. In that case PAGEEXEC and SEGMEXEC must be disabled. My experiments showed that pax-mark E must be changed to pax-mark pmsE
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2008-11-29 00:52:41 UTC
Thanks for tracing that. The change is in the tree, closing the bug now..
Comment 4 Christopher Head 2009-10-17 10:16:09 UTC
This problem is back with gnat-gcc-4.2.3 (and also 4.3.2, which I don't actually need but tried installing as an alternative while debugging this problem). Unfortunately it's also necessary to mark the intermediate gnat1 builds between stages (like work/build/prev-gcc/gnat1), which I'm not sure how to do.