Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 66827

Summary: Stage 1 bootstrap fails on ncurses-5.4-r5
Product: Gentoo Linux Reporter: Jonas MG <jonasmg>
Component: [OLD] Core systemAssignee: Gentoo Release Team <release>
Status: RESOLVED FIXED    
Severity: blocker CC: base-system, jesusislord8
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jonas MG 2004-10-08 17:00:19 UTC
During execution of Stage 1 install, /usr/portage/scripts/bootstrap-2.6.sh fails on ncurses 5.4-r5.  The last few lines echoed by bootstrap.sh are:

make[1]: Entering directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/c++'
cd ../obj_s;   -I../c++ -I../include -I. -DHAVE_CONFIG_H -I. -I../include  -D_GNU_SOURCE -DNDEBUG -march=pentium -Os -pipe -fomit-frame-pointer -fPIC -fPIC -c ../c++/cursesf.cc
/bin/sh: line 1: -I../c++: No such file or directory
make[1]: *** [../obj_s/cursesf.o] Error 127
make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/c++'
make: *** [all] Error 2

!!! ERROR: sys-libs/ncurses-5.4-r5 failed.
!!! Function src_compile, Line 79, Exitcode 2
!!! make failed

Reproducible: Always
Steps to Reproduce:
1.
mount -t proc none /mnt/ulinux/proc/
env -i HOME=/root TERM="$TERM" /bin/chroot /mnt/ulinux/ /bin/bash
/usr/sbin/env-update; source /etc/profile
emerge sync

2.
nano /etc/make.conf
CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium -Os -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
FEATURES="nodoc noman noinfo"
USE="-* x86 nptl pam livecd ncurses motif gtk truetype zlib gif jpeg png alsa"
^X

gcc 3.4
-----------
unlink /etc/make.profile
ln -s /usr/portage/profiles/gcc34-x86-2004.2 /etc/make.profile

kernel 2.6 (headers)
-----------------------------
nano /var/cache/edb/virtuals
virtual/os-headers sys-kernel/linux-headers
(change to)                 linux26-headers

nano /etc/make.profile/virtuals
virtual/os-headers  sys-kernel/linux-headers
(change to)                  linux26-headers

mkdir /etc/portage
echo "sys-kernel/linux26-headers ~x86" > /etc/portage/package.keywords
echo "sys-devel/gcc ~x86" >> /etc/portage/package.keywords
echo "sys-libs/glibc ~x86" >> /etc/portage/package.keywords
echo "sys-libs/libstdc++-v3 ~x86" >> /etc/portage/package.keywords

3.
/usr/portage/scripts/bootstrap-2.6.sh -f
/usr/portage/scripts/bootstrap-2.6.sh
Actual Results:  
The first time compiles ncurses well. Finalizing, after compiling glibc, it
compiles ncurses again. And it is here where it fails.

So I believe that the failure has something to see with new glibc


Portage 2.0.50-r11 (gcc34-x86-2004.2, gcc-3.3.3,
glibc-2.3.3.20040420-r0,2.3.4.20040808-r1, 2.6.8-gentoo-r7)
=================================================================
System uname: 2.6.8-gentoo-r7 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.16
Autoconf:
Automake:
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium -Os -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
COMPILER=""
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=pentium -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache nodoc noinfo noman sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="-* x86 nptl pam livecd ncurses motif gtk truetype zlib gif jpeg png alsa"
Comment 1 Jonas MG 2004-10-09 06:04:07 UTC
Like ncurses it was the last program to compile to finish bootstrap-26, I decided to change the compiler manually:

gcc-config -l
[1] i386-pc-linux-gnu-3.3.3
[2] i586-pc-linux-gnu-3.4.2
[3] i586-pc-linux-gnu-3.4.2-hardened
[4] i586-pc-linux-gnu-3.4.2-hardenednossp

gcc-config 2
source /etc/profile
emerge ncurses

Now yes it also compiled it well, and 'emerge system' too.
Comment 2 Jonas MG 2004-10-13 09:12:14 UTC
I have been able to compile 'ncurses' from bootstrap-2.6.sh.

I wrote in '/etc/portage/package.keywords' only this:
sys-devel/gcc ~x86
sys-libs/libstdc++-v3 ~x86

Portage 2.0.50-r11 (gcc34-x86-2004.2, gcc-3.4.2, glibc-2.3.3.20040420-r0,2.3.4.20040808-r1, 2.6.8-gentoo-r8)
=================================================================
System uname: 2.6.8-gentoo-r8 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.16
Autoconf:
Automake:
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium -Os -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
COMPILER=""
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=pentium -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa gif gtk jpeg livecd motif ncurses nptl pam png truetype userlocales x86 xprint zlib"
Comment 3 Greg Hellings 2005-02-05 10:41:27 UTC
Interestingly I still get this bug on a regular basis.  In the short of it, the ./configure script is picking up that there is no g++ (at least at that stage it can't discover one), but it is still trying to compile the files, only it is passing no compiler.  Notice the line reads:

cd ../obj_s;   -I../c++ -I../include <snip>

Right after the compile failed for me, I opened up the Makefile in the nurses-5.4/c++ folder and scrolled down, and on the line where it indicates the command to execute to compile c++ files, the command was blank.  The above line should read (similar to the lines that are compiling C programs)

cd ../obj_s; g++ -I../c++ -I../include <snip>

To verify this, I executed the emerge ncurses command and stopped it a few seconding into configuring.  It will give convoluted messages about g++ as follows:
<snip>
checking if you want to ensure bool is consistent with C++... yes
checking for i386-pc-linux-gnu-g++... g++
checking whether we are using the GNU C++ compiler... no
checking whether g++ accepts -g... no
checking for g++... no
checking if you want to build C++ binding and demo... yes
<snip>
As you can see, it thinks that there is support for g++ but it can't find the compiler.  For some reason, it continues on and the configure script does not output any messages to warn you that it can't compile the c++ parts of the program.  Rather, it will use the first example line to attempt to comiple c++ files and give the error message which comes as a result of this "bug."  So, in short, the issue isn't completely resolved as indicated in all situations.

To fix this, I merely compiled a new version of gcc (using ACCEPT_KEYWORDS="~x86") and then used gcc-config to switch to the new version of gcc/g++.  This new version had compiled g++ and, as such, was able to compile ncurses with nary a problem.

As a side note, I managed to resolve this while trying to build a LiveCD using livecd-ng, but the problem still arises for me when I use the old bootstrap.sh on other installs.  Where the root of this problem lies I do not know, but this is just my two cents about the problem, because I still run into it with almost every install I try.
Comment 4 Gregg Casillo 2005-03-16 04:45:24 UTC
Still a problem:

gcc -march=pentium4 -O3 -pipe -fomit-frame-pointer -fPIC -o ncurses ../obj_s/ncurses.o -L../lib -lform -lmenu -lpanel -lncurses    -Wl,-rpath,/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/lib  -I../test -I. -DHAVE_CONFIG_H -I. -I../include  -D_GNU_SOURCE -DNDEBUG -march=pentium4 -O3 -pipe -fomit-frame-pointer -fPIC -fPIC
make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/test'
cd misc && make DESTDIR="" all
make[1]: Entering directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/misc'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/misc'
cd c++ && make DESTDIR="" all
make[1]: Entering directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/c++'
cd ../obj_s;   -I../c++ -I../include -I. -DHAVE_CONFIG_H -I. -I../include  -D_GNU_SOURCE -DNDEBUG -march=pentium4 -O3 -pipe -fomit-frame-pointer -fPIC -fPIC -c ../c++/cursesf.cc
cd ../obj_s;   -I../c++ -I../include -I. -DHAVE_CONFIG_H -I. -I../include  -D_GNU_SOURCE -DNDEBUG -march=pentium4 -O3 -pipe -fomit-frame-pointer -fPIC -fPIC -c ../c++/cursesm.cc
/bin/sh: -I../c++: No such file or directory
make[1]: *** [../obj_s/cursesf.o] Error 127
make[1]: *** Waiting for unfinished jobs....
/bin/sh: -I../c++: No such file or directory
make[1]: *** [../obj_s/cursesm.o] Error 127
make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/c++'
make: *** [all] Error 2

I got this while bootstrapping a machine. My emerge info for reference:
livecd portage # emerge info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.9-gentoo-r1 i686)
=================================================================
System uname: 2.6.9-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.6.10
Python:               [2.3.4 (#1, Oct 24 2004, 00:50:52)]
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     [Not Present]
sys-devel/autoconf:  [Not Present]
sys-devel/automake:  [Not Present]
sys-devel/binutils:  2.15.92.0.2-r6
sys-devel/libtool:   [Not Present]
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -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 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://gentoo.mirrors.tds.net/gentoo"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac acpi alsa arts audiofile avi bash-completion berkdb bitmap-fonts bzlib crypt divx4linux doc dvb dvd dvdread emboss encode ffmpeg flac freetype gdbm gif imlib jpeg kde kdeenablefinal libg++ libwww mad mime mmx mng mp3 mpeg mysql nas ncurses network nls nptl nptlonly nvidiaogg oggvorbis openal opengl oss perl png python qt quicktime readline samba sdl sndfile speex sse sse2 ssl svg tcpd theora tiff truetype truetype-fonts type1-fonts usb xine xml2 xpm xv xvid zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 5 Chris Gianelloni (RETIRED) gentoo-dev 2005-03-16 05:17:10 UTC
Quit using the 2005.0 profile.

We will not support it until after the release.