Gentoo Archives: gentoo-doc

From: Marc Blumentritt <M.Blumentritt@×××××××××××××××.de>
To: gentoo-doc@l.g.o
Subject: [gentoo-doc] Re: Toolchain guide?
Date: Fri, 28 Jul 2006 08:31:32
Message-Id: 44C9CB23.1050609@tu-braunschweig.de
In Reply to: Re: [gentoo-doc] Toolchain guide? by Josh Saddler
1 Josh Saddler schrieb:
2 > Well, on the Gentoo-specific side of things, you're probably looking for the
3 > Gentoo Developer Handbook[1]. Or you might try project-specific[2] information
4 > for whichever arch-specific toolchain you will be working with (they can be
5 > funny beasts between different arches).
6 I looked at these links (have done before in case of the Devbook, but
7 could not find answers, only new places to ask my question.
8 The toolchain is arch-specific? I suspected this, but you confirmed it
9 and for me this is one more reason for a guide to the toolchain! Perhaps
10 it should be part of the Gentoo Handbook, since this is already arch
11 specific?
12
13 > As far as things to think about when updating your toolchain, look in the forums
14 > for threads by robmoss, a retired Gentoo toolchain maintainer. Also search for
15 > early stage 1/3 guides (early 2005 and older) for more input from users and
16 > developers about the toolchain upgrade/downgrade process.
17 I did two stage 1/3 installations and read a lot about the proposed
18 proper "rebuild your system" instructions: emerge -e system && emerge -e
19 system && emerge -e world && emerge -e world (I read also the
20 explanation from BobP, why he proposes this - circular deps and stuff).
21 robmoss was even adding a run of the bootstrap.sh before these
22 instructions in [1]. He does not explain why he would run this command
23 chain. His post is from 2004, so I do not now, if it is still a good
24 advice. I have read different statements, saying that this is absolutly
25 overkill and adds nothing in functionality, speed and stability (e.g.
26 here [2]), because gcc will build itself 3 times during one build
27 process (3-stage bootstrap, does it do this with every emerge or only
28 when you bootstrap?).
29
30 I would like to have something official about this AND some explanation
31 why to do it this way.
32
33 > I think the Gentoo base project folks might be able to give you some more good
34 > links on related documentation available elsewhere, as they maintain gcc et al.
35 > Anything else, like how autotools magic works (or doesn't), you should probably
36 > check out the relevant gnu.org pages.
37 Yes, I can try my luck on gnu.org, but since the toolchain is so central
38 for Gentoo (source based) and it's users (even if they do not know it),
39 I think a guide from Gentoo would be a good thing, because it could
40 point out everything special to Gentoo.
41
42 > If you can put together a doc that's more Gentoo specific (ideally, less having
43 > to do with Linux in general, IMHO), I'm sure it'd be welcomed. Otherwise, you
44 > might consider submitting it to the knowledge base[3] for review.
45 Thought already about submitting this to the knowledge base and read the
46 first posts on the kb mailing list, but I think this topic is to general
47 for kb. As far as I understood the kb is something like "You have this
48 error, than do this.". Correct me, if I'm wrong.
49
50
51 I would like to put together a doc for Gentoo, but I think I do not now
52 nearly enough for this task (that's the reason I asked for this guide in
53 the first place). I have thought about a structure, but I cannot fill it
54 with meaningful content:
55
56 0) Introduction
57 Binaries vs. scripts? Why binaries? What are libs and what is dynamic
58 linking vs. static linking (this is important for rebuilding your
59 system)? Why is Gentoo source based? Why is this so cool compared to
60 binary based?
61
62 1) What is the toolchain aka how to build binaries?
63 Generic
64 A group of programs, which create from source code binaries and install
65 them on your computer.
66 List of programs and a short description:
67 gcc
68 binutils
69 glibc
70 linux-headers
71 ...
72
73 Put these programs in the correct order for the build process. If you
74 create a general binary, than first you use foo to do bar... Since this
75 is different from package to package, a "wrapper" would be cool and
76 tada, here comes portage (point to the next chapter).
77
78 Helper programs
79 Why are they needed
80
81 Arch-Specific
82 Why is the toolchain different from arch to arch?
83 List of arch specific programs
84
85 2) How does Gentoo handle the Toolchain?
86 Short discription of portage (ebuild (the script), emerge, ebuilds (the
87 build instructions), eclasses, USE-flags, ...). Perhaps something about
88 the new alternatives to emerge (or was it portage)?
89
90 What about compilation options (CHOST, CFLAGS and CXXFLAGS)? What to do,
91 if you want to change these? Not a complete list of options (that's
92 gnu.org for), but the general way, how Gentoo handles these, sane
93 compilation options. What to do, if you change these and why could this
94 be critical for your system? How to rebuild your system (twice? world?)?
95
96 3) How does Portage handle updates of Toolchain packages?
97 Difference between minor and major updates, is there a general way to
98 handle this or is it a special case from major update to major update,
99 so that you cannot give general instructions.
100
101 Should you rebuild your complete system (world) after a major update?
102 What do gain from this? What if I do not rebuild it? What to do, if you
103 do not need to rebuild world, but only some special packages (e.g. some
104 libs) to prevent breaking part of your system?
105
106 Major updates and changing of compilation options create similar
107 problems, yes or no? If yes, can they be handled in the same way?
108
109
110
111
112 Well, these are the questions I'm pondering. What do you all think?
113
114 I read the linux-from-scratch guide for some answers about toolchain
115 handling and building of binaries, but this just increased my hunger for
116 a Gentoo guide on this topic.
117
118 Regards,
119 Marc
120
121 [1] http://forums.gentoo.org/viewtopic-p-1368747.html#1368747
122 [2] http://www.mail-archive.com/gentoo-user%40lists.gentoo.org/msg36343.html
123 --
124 gentoo-doc@g.o mailing list

Replies

Subject Author
Re: [gentoo-doc] Re: Toolchain guide? Mike Frysinger <vapier@g.o>