
Code: Select all
echo sys-devel/gcc ~x86 >> /etc/portage/package.keywords

hielvc wrote:Ever heard of distcc there Bob
Jack, if you're a newcomer, you're doing a good job and you're catching on quickly.jack.stay wrote:Given the change in the tutorial to the stable branch, I'm struggling to understand one subtlety related to the installation:
Why does the system compile GCC 3. 4.3 under step 7.1 of the tutorial? Given that the make.conf now includes ACCEPT_KEYWORDS="x86" I was expecting to see something like sys-devel/gcc ~x86 in package.keywords prior to emerging gcc in this step.
I am a complete new comer to Linux, but I have been following the progress of this tutorial with great interest. It has been a wonderful learning experience.
I really need to pick-up a couple of more testbed PCs -- after writing this tut it became painfully obvious that I need some faster testbeds.Bob P wrote:WARNING: This is an ADVANCED installation method. The amount of time required for you to complete this type of installation will equal or exceed that of any other Gentoo installation method. Your time will be well invested, though, as the result will be a very stable Gentoo system. This installation method may prove to be somewhat difficult and cumbersome for users who are new to Gentoo. It will prove especially painful for users who plan to install Gentoo old hardware.
Since there was no update in the tutorial, I recommend everyone who will add xinetd to their default run level read Securing Services in the Gento Security Guide. As a general rule, if you don't know what xinetd or inetd are, you don't need them. Although I do recommend learning what xinetd is and what it is used for.seringen wrote:does a normal person really need to be running xinetd?
The post I wrote here was a complete garbage.I would like to request that users who do not fully understand why certain critical steps in the guide are being taken should refrain from making recommendations to remove them just because they fail to understand them.
Code: Select all
#!/bin/bash
#
# Date 1-12-05 version 1.0, Hiel Van Campen
# Use at yee own risk. It works for me, but then I wrote the damn thing.
# A wraper to run emerge world -uD
# It chechs if linux26-headers or glibc are being updated and if so runs the
# toolchain thang. It then uses an edited -uDp generated list wtih toolchain items removed to
# emerge the rest of the list
#
# Toolchain thang
# emerge linux26-headers glibc && emerge glibc binutils gcc && emerge binutils gcc
#
## Changed the to use awk as it removes toolchain items in one pass
#
# cut -f2 -d "]" -s wrld.lst|awk '!/glibc|glibc|binutils|gcc/ {print $1}'
##
##
## The build script for the edited wrld.lst-->build.lst. Anything that fails to emerge
## is copied to failed.lst To view the build.lst or failed.lst use "less failed.lst"
## for i in $(< wrld1.lst);do emerge --oneshot =$i || echo $i>> failed.lst;done
##
a=0 # If 0 then update doesnt have linux-headers or glibc update and continue emerge. If set to 1 then
# rebuild toolcahin and then emerge from the build list after running toolchain thang.
:>build.lst # empty build.lst and wrld.lst other wise the next time they are run theyll still have
:>wrld.lst # the old stuff in them plus any new stuff, could becaome a very long list.
:>failed.lst # empty failed.lst so that only those that failed this time are listed
emerge world -uDp>>wrld.lst
if echo "linux26" | grep -q linux26 wrld.lst
then a=1
elif echo "glibc" | grep -q glibc wrld.lst
then a=1
fi
if [ "$a" -ge "1" ]
then
for line in $(cut -f2 -d "]" -s wrld.lst|awk '!/glibc|glibc|binutils|gcc/ {print $1}')
do echo $line>>build.lst
done
echo "Found glibc or linux26-headers rebuilding toolchain"
emerge linux26-headers glibc && emerge glibc binutils gcc && emerge binutils gcc \
&& for i in $(< build.lst);do emerge --oneshot =$i || echo $i>> failed.lst;done
else
echo "No glibc or linux26-headers update so procedeing with regular emerge world -uD."
emerge world -uD
fi
exit 0No, let me clarify that. In following this guide, you should not restrict rebuilding of the toolkit in any way. The steps in rebuilding the toolkit have been carefully planned and there are no unnecessary steps in them. Each iteration of the system build is absolutely necessary to ensure system stability, and modifying the sequence of events will only cause problems to pop-up farther down the road.gnough wrote:I think what Bob wants to do in emerge -e system with rsync-restriction stuff is to exclude recompilation of glibc, binutils, gcc, linuxheaders26.
That approach may save you some time, but saving time by using a half-baked approach to rebuild your toolkit after switching C compilers is absolute false economy. You are going to seriously undermine the stability of your Gentoo box by selectively choosing to follow some sections of the tutorial and not others, especially if you decide to throw away some of the sections about building the toolkit. The stability of the system absolutely requires that you take the extra steps to build the toolkit properly, and the stability of your toolkit absolutely requies that you follow ALL of the steps, not just the ones that look good at a casual glance.gnough wrote:ok. This is my first stage1 equivalent installation..
I followed up until:and:Code: Select all
# env-update && source /etc/profile && emerge -C linux-headers && emerge linux26-headers && emerge gcc-config glibc binutils gccI think what Bob wants to do in emerge -e system with rsync-restriction stuff is to exclude recompilation of glibc, binutils, gcc, linuxheaders26.Code: Select all
# gcc-config 2 && env-update && source /etc/profile && emerge glibc binutils gcc portage && emerge -e system
I didn't want them to be recompiled either becuase it takes so much time and time is money and with that money, I can upgrade my system and save compilation time, which is equivalent to saving time because time = money.
/me kids and hides

Code: Select all
echo <package-level>/<package-name> <useflags> >> /etc/portage/package.use
Code: Select all
ACCEPT_KEYWORDS=~x86 emerge libtoolUh huh. I wouldn't induce ACCEPT_KEYWORDS=~x86 so easily.mtamizi wrote:I fixed the problem by first doing the following:Code: Select all
ACCEPT_KEYWORDS=~x86 emerge libtool
Code: Select all
emerge libtool && emerge libtoolWhy would that work?kimchi_sg wrote:Simply emerging libtool twice in a row should solve the problem.Code: Select all
emerge libtool && emerge libtool
well, you've brought up an interesting question. installing x11 is somewhat beyond the scope of this thread, but since its a very popular program that alot of people will be installing, i'd like to hear more -- especially since others have done it without problems while you seem to have hit an obstacle. unfortunately, you haven't given us any specific information to go on. we need more information from you. there are going to be alot of questions specific to your application/installation that may not be relevant for everyone else. could you start a support thread in the Desktops forum so that we can pursue the subject there?mtamizi wrote:I'm finishing up an install using this tutorial and I came across a problem when emerging ttmkfdir -- a dependency for x11. I fixed the problem by first doing the following:Code: Select all
ACCEPT_KEYWORDS=~x86 emerge libtool
unfortunately, the state of documentation for use flags is somewhat behind the times. there are already over 100 undocumented use flags, which makes the subject of use flags a difficult one to address.Clyde wrote:Which, if any, of the USE flags in section 6.5 are considered required before building the toolchain? I ask because several of them are not in the global use.desc, specifically:
freetype hal ide ithreads pthreads userlocales
although some are in use.local.desc for certain packages.
I used these same flags and so far so good - booted fine, everything works fine. I'll see when I get home from work if nvidia and xorg emerged properly.Fanatic wrote:Worked fine here aswell, it's stable but it doesn't feel much more 'optimised' than it did with gcc 3.3But apps do seem to compile faster than in gcc 3.3.
Code: Select all
CFLAGS="-O2 -mtune=athlon-xp -march=athlon-xp -fomit-frame-pointer -fforce-addr -momit-leaf-frame-pointer -frename-registers -fweb -ftracer -pipe" CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
i left out the part about NPTL. if you compile perl/libperl without NPTL support, you won't see the ithreads message. IIRC, if you compile perl/libperl with the nptl use flag set, then they look for the status of the ithreads flag and issue an error warning if both ntpl and ithreads are not both set. at least that's the way i remember it.Bob P wrote:ithreads and pthreads are necessary for the system. they are also poorly documented. ithreads is specifically needed to fully support nptl by perl/libperl. i had never heard of the flag until i saw it roll across the screen as i watched perl/libperl compile. if you don't use ithreads, perl/libperl issue screen output asking you to set that flag and then recompile them.

Honestly, I do not know. But I know it works. I had that problem, and that was the fix.mtamizi wrote:Why would that work?kimchi_sg wrote:Simply emerging libtool twice in a row should solve the problem.Code: Select all
emerge libtool && emerge libtool