I learned more from this single post about portage than I have in while. Thank you. Two questions: 1) should binutils-config be considered part of the toolchain? and 2) why emerge -bke world and not just emerge -ke world given that the objective is to avoid unnecessary recompilation of the toolchain and system. Why build binaries for the world packages at all unless you need them for some other purpose?powerman wrote:Information in this thread help me a lot, thanks!!
You try to solve two different problems: compile toolchain in right order and minimize compilation time. I just don't understand why not use internal portage feature (buildpkg) to speedup compilation without complex scripts? Please explain why this example is wrong or not-so-fast as your scripts:
For me this is sort of resume for all 4 pages in this thread (excluding some crazy ideas like emerging linux-headers twice).Code: Select all
rm -r $(portageq pkgdir)/All/ # just a dirty example of cleanup emerge linux-headers glibc binutils gcc-config gcc gcc-config YOUR_SELECTION && source /etc/profile # ONLY if major gcc upgrade emerge -b glibc binutils gcc portage emerge -bke system emerge -bke world
Code: Select all
emerge linux-headers glibc binutils-config binutils gcc-config gcc
emerge -b glibc binutils gcc portage
emerge -ke system
emerge -bke system
emerge -ke world
emerge -ke worldyes, but that would take me, for example, about a week to do. i use this script to make sure my foundation is solid. a broken package can only affect so much. a broken toolchain affects everything.drphibes wrote:are there non-toolchain libraries in the system list that are compiled against by other system-list packages? also, and similarly, are there libraries in the world that are compiled against by other packages in the world? if yes to first, doesn't that demand that you do emerge -e system twice? and if the second is true, emerge -e world twice?
Theres a bunch of new options--changelog (-l)
Use this in conjunction with the --pretend action. This will show the
ChangeLog entries for all the packages that will be upgraded.
you should have done " emerge world --resume " That picks up where it stoped. It would have started with " kde-i18 " an then continued with the REST OF " emerge world -e "That was ok then I did emerge -e world and it failed on 180 out of 460 with the following
you've found out first-hand how difficult and time consuming it is to maintain a properly constructed toolkit after changing one of its individual components. the answer to your question is really very simple: if it ain't broke don't fix it.lmcogs wrote:As a newbie this experience is extremely difficult and time consuming. I can only follow what I read here in the forums and docs but I am still confuse as to what I should do really to keep the system in good order. Do I do an emerge sync, emerge --update world, emerge -e system, world or perhaps your code which if it takes that amount of time would be much better? And finally is this problem with gcc going to continue if I upgrade to latest gcc and other system related software?