NOTE - This occured during bootstrap.sh and I DID do the env-update, source /etc/profile per the instructions. I chrooted, went through the steps and did scripts/bootstrap.sh from /usr/portage. All went well until it attempted to compile ncurses-5.3 and then cpp failed the sanity check. This happened twice in a row. Reproducible: Always Steps to Reproduce: 1.Set up per instructions. Do chroot 2.cd to /usr/portage 3.scripts/bootstrap.sh Actual Results: cpp failed sanity check in ncurses. Expected Results: Completed the bootstrap. I have the config.log and tar of the ncurses work directory that I can send on if someone will tell me how.
Created attachment 8614 [details] ncurses config.log for this bug.
Created attachment 8616 [details] ncurses config.log for this bug.
Created attachment 8617 [details] ncurses config.log for this bug.
I attempted to upload the tar of the ncurses work directory but it says it's too large. I do not have a web site to post it on. The file is 11.1 meg and I'd be glad to send it if you need it.
Because ncurses-5.3 have c++ bindings, we cannot enable them during bootstrap. Thus disable it if "build" or "bootstrap" in USE, and then get bootstrap.sh to rebuild it afterwards without those flags. Also fix a problem where old build images had ncurses-5.2 libs, which did not get removed. please try again
If I understand correctly I need to put -ncurses in the USE variable? Thank you.
Err, no. You should make sure that you do not have 'build' or 'bootstrap' in your USE ...
I certainly don't have them in my USE variable as they are only for developers. So what do I do now to build Gentoo?
What version portage (portage --version) ?
I'm in the middle of a build from bootstrap.sh. I started fresh, untarged stage1* for x86, then did an emerge sync. I don't remember what the version was when it went by but it's whatever emerge sync would download before a bootstrap.
I managed to get to another console and do emerge -s portage. The version that's unmasked is portage 2.0.46-r12.
Ok, what does: # ls `/usr/bin/gcc-config --get-bin-path`/ -l give you ?
# ls `/usr/bin/gcc-config --get-bin-path`/ -l gives me total 308 -rwxr-xr-x 1 root root 90888 Feb 23 19:24 cpp -rwxr-xr-x 1 root root 89512 Feb 23 19:24 gcc -rwxr-xr-x 1 root root 16253 Feb 23 19:24 gccbug -rwxr-xr-x 1 root root 21132 Feb 23 19:24 gcov -rwxr-xr-x 1 root root 89512 Feb 23 19:24 i686-pc-linux-gnu-gcc
Right .. no c++ compiler. The gcc ebuild only do not compile the c++ compiler if 'build' in USE ....
Okay, what is happening here? Because I misunderstood you I put -ncurses in the USE variable. The stage 1 boostrap completed with no errors!. I'm now doing an emerge system. What is going on here? I've never had ncurses in my USE variable ever before?
Anyhow, I fixed bootstrap to filter harmfull stuff, so it should die if it detects them.
What was the cause and resolution? Should gcc have been built by bootstrap? Do I need to put -nurses in USE? or did you fix bootstrap so that it won't try and build ncurses if gcc doesn't exist? Thank you.
Please reopen this bug. It is not yet completely fixed. Following the instructions for installing on AMD64, I ran the bootstrap.sh script w/o problems. Then the section "Progressing from Stage2 to Stage3" instructs me to run "emerge system". This fails with the same problem, make variable CXX is not set (presumably not available). A workaround is to set USE=bootstrap, but it still needs to be fixed permanently.