1 |
swift |
1.18 |
<?xml version='1.0' encoding='UTF-8'?> |
2 |
|
|
<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
3 |
|
|
|
4 |
swift |
1.1 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
5 |
swift |
1.39 |
<!-- See http://creativecommons.org/licenses/by-sa/2.0 --> |
6 |
swift |
1.1 |
|
7 |
neysx |
1.45 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-working-portage.xml,v 1.44 2004/11/15 12:47:47 swift Exp $ --> |
8 |
swift |
1.1 |
|
9 |
|
|
<sections> |
10 |
swift |
1.43 |
|
11 |
|
|
<version>1.42</version> |
12 |
neysx |
1.45 |
<date>2004-10-24</date> |
13 |
swift |
1.43 |
|
14 |
swift |
1.1 |
<section> |
15 |
swift |
1.39 |
<title>Welcome to Portage</title> |
16 |
swift |
1.1 |
<body> |
17 |
|
|
|
18 |
swift |
1.2 |
<p> |
19 |
swift |
1.39 |
Portage is probably Gentoo's most notable innovation in software management. |
20 |
|
|
With its high flexibility and enormous amount of features it is frequently seen |
21 |
|
|
as the best software management tool available for Linux. |
22 |
swift |
1.2 |
</p> |
23 |
|
|
|
24 |
|
|
<p> |
25 |
swift |
1.39 |
Portage is completely written in <uri link="http://www.python.org">Python</uri> |
26 |
|
|
and <uri link="http://www.gnu.org/software/bash">Bash</uri> and therefore fully |
27 |
|
|
visible to the users as both are scripting languages. |
28 |
swift |
1.2 |
</p> |
29 |
|
|
|
30 |
|
|
<p> |
31 |
swift |
1.39 |
Most users will work with Portage through the <c>emerge</c> tool. This chapter |
32 |
|
|
is not meant to duplicate the information available from the emerge man page. |
33 |
|
|
For a complete rundown of emerge's options, please consult the man page: |
34 |
swift |
1.2 |
</p> |
35 |
|
|
|
36 |
swift |
1.39 |
<pre caption="Reading the emerge man page"> |
37 |
|
|
$ <i>man emerge</i> |
38 |
swift |
1.2 |
</pre> |
39 |
|
|
|
40 |
|
|
</body> |
41 |
swift |
1.1 |
</section> |
42 |
|
|
<section> |
43 |
swift |
1.39 |
<title>The Portage Tree</title> |
44 |
swift |
1.1 |
<subsection> |
45 |
swift |
1.39 |
<title>Ebuilds</title> |
46 |
swift |
1.2 |
<body> |
47 |
|
|
|
48 |
|
|
<p> |
49 |
swift |
1.39 |
When we talk about packages, we often mean software titles that are available to |
50 |
|
|
the Gentoo users through the Portage tree. The Portage tree is a collection of |
51 |
|
|
<e>ebuilds</e>, files that contain all information Portage needs to maintain |
52 |
|
|
software (install, search, query, ...). These ebuilds reside in |
53 |
|
|
<path>/usr/portage</path> by default. |
54 |
swift |
1.2 |
</p> |
55 |
|
|
|
56 |
|
|
<p> |
57 |
swift |
1.39 |
Whenever you ask Portage to perform some action regarding software titles, it |
58 |
|
|
will use the ebuilds on your system as a base. It is therefore important that |
59 |
|
|
you regularly update the ebuilds on your system so Portage knows about new |
60 |
|
|
software, security updates, etc. |
61 |
swift |
1.2 |
</p> |
62 |
|
|
|
63 |
|
|
</body> |
64 |
|
|
</subsection> |
65 |
|
|
<subsection> |
66 |
swift |
1.39 |
<title>Updating the Portage Tree</title> |
67 |
swift |
1.1 |
<body> |
68 |
swift |
1.2 |
|
69 |
|
|
<p> |
70 |
swift |
1.39 |
The Portage tree is usually updated with <uri |
71 |
|
|
link="http://rsync.gentoo.org">rsync</uri>, a fast incremental file transfer |
72 |
|
|
utility. Updating is fairly simple as the <c>emerge</c> command provides a |
73 |
|
|
front-end for rsync: |
74 |
swift |
1.2 |
</p> |
75 |
|
|
|
76 |
swift |
1.39 |
<pre caption="Updating the Portage tree"> |
77 |
cam |
1.38 |
# <i>emerge --sync</i> |
78 |
swift |
1.2 |
</pre> |
79 |
|
|
|
80 |
|
|
<p> |
81 |
swift |
1.39 |
If you are unable to rsync due to firewall restrictions you can still update |
82 |
swift |
1.40 |
your Portage tree by using our daily generated Portage tree snapshots. The |
83 |
swift |
1.39 |
<c>emerge-webrsync</c> tool automatically fetches and installs the latest |
84 |
|
|
snapshot on your system: |
85 |
swift |
1.2 |
</p> |
86 |
|
|
|
87 |
swift |
1.39 |
<pre caption="Running emerge-webrsync"> |
88 |
swift |
1.2 |
# <i>emerge-webrsync</i> |
89 |
|
|
</pre> |
90 |
swift |
1.1 |
|
91 |
|
|
</body> |
92 |
|
|
</subsection> |
93 |
|
|
</section> |
94 |
|
|
<section> |
95 |
|
|
<title>Maintaining Software</title> |
96 |
|
|
<subsection> |
97 |
swift |
1.39 |
<title>Searching for Software</title> |
98 |
swift |
1.1 |
<body> |
99 |
|
|
|
100 |
swift |
1.3 |
<p> |
101 |
swift |
1.39 |
To search through the Portage tree after software titles, you can use |
102 |
|
|
<c>emerge</c> built-in search capabilities. By default, <c>emerge search</c> |
103 |
neysx |
1.42 |
returns the names of packages whose title matches (either fully or partially) |
104 |
swift |
1.39 |
the given search term. |
105 |
swift |
1.3 |
</p> |
106 |
|
|
|
107 |
|
|
<p> |
108 |
swift |
1.39 |
For instance, to search for all packages who have "pdf" in their name: |
109 |
swift |
1.3 |
</p> |
110 |
|
|
|
111 |
swift |
1.39 |
<pre caption="Searching for pdf-named packages"> |
112 |
|
|
$ <i>emerge search pdf</i> |
113 |
|
|
</pre> |
114 |
|
|
|
115 |
swift |
1.3 |
<p> |
116 |
swift |
1.39 |
If you want to search through the descriptions as well you can use the |
117 |
|
|
<c>--searchdesc</c> (or <c>-S</c>) switch: |
118 |
swift |
1.3 |
</p> |
119 |
|
|
|
120 |
swift |
1.39 |
<pre caption="Searching for pdf-related packages"> |
121 |
|
|
$ <i>emerge --searchdesc pdf</i> |
122 |
|
|
</pre> |
123 |
|
|
|
124 |
swift |
1.3 |
<p> |
125 |
swift |
1.39 |
When you take a look at the output, you'll notice that it gives you a lot of |
126 |
|
|
information. The fields are clearly labelled so we won't go further into their |
127 |
|
|
meanings: |
128 |
swift |
1.3 |
</p> |
129 |
|
|
|
130 |
swift |
1.39 |
<pre caption="Example emerge search output"> |
131 |
|
|
* net-print/cups-pdf |
132 |
|
|
Latest version available: 1.5.2 |
133 |
|
|
Latest version installed: [ Not Installed ] |
134 |
|
|
Size of downloaded files: 15 kB |
135 |
|
|
Homepage: http://cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/ |
136 |
|
|
Description: Provides a virtual printer for CUPS to produce PDF files. |
137 |
|
|
License: GPL-2 |
138 |
|
|
</pre> |
139 |
|
|
|
140 |
swift |
1.3 |
</body> |
141 |
|
|
</subsection> |
142 |
|
|
<subsection> |
143 |
swift |
1.39 |
<title>Installing Software</title> |
144 |
swift |
1.3 |
<body> |
145 |
|
|
|
146 |
|
|
<p> |
147 |
swift |
1.39 |
Once you've found a software title to your liking, you can easily install it |
148 |
|
|
with <c>emerge</c>: just add the package name. For instance, to install |
149 |
swift |
1.3 |
<c>gnumeric</c>: |
150 |
|
|
</p> |
151 |
|
|
|
152 |
swift |
1.39 |
<pre caption="Installing gnumeric"> |
153 |
swift |
1.3 |
# <i>emerge gnumeric</i> |
154 |
|
|
</pre> |
155 |
|
|
|
156 |
|
|
<p> |
157 |
swift |
1.39 |
Since many applications depend on each other, any attempt to install a certain |
158 |
|
|
software package might result in the installation of several dependencies as |
159 |
|
|
well. Don't worry, Portage handles dependencies well. If you want to find out |
160 |
|
|
what Portage <e>would</e> install when you ask it to install a certain package, |
161 |
|
|
add the <c>--pretend</c> switch. For instance: |
162 |
swift |
1.3 |
</p> |
163 |
|
|
|
164 |
swift |
1.39 |
<pre caption="Pretend to install gnumeric"> |
165 |
swift |
1.3 |
# <i>emerge --pretend gnumeric</i> |
166 |
|
|
</pre> |
167 |
|
|
|
168 |
|
|
<p> |
169 |
swift |
1.39 |
When you ask Portage to install a package, it will download the necessary source |
170 |
|
|
code from the internet (if necessary) and store it by default in |
171 |
|
|
<path>/usr/portage/distfiles</path>. After this it will unpack, compile and |
172 |
|
|
install the package. If you want Portage to only download the sources without |
173 |
|
|
installing them, add the <c>--fetchonly</c> option to the <c>emerge</c> command: |
174 |
swift |
1.3 |
</p> |
175 |
|
|
|
176 |
swift |
1.39 |
<pre caption="Download the sourcecode for gnumeric"> |
177 |
swift |
1.3 |
# <i>emerge --fetchonly gnumeric</i> |
178 |
|
|
</pre> |
179 |
|
|
|
180 |
|
|
</body> |
181 |
|
|
</subsection> |
182 |
|
|
<subsection> |
183 |
swift |
1.39 |
<title>Removing Software</title> |
184 |
swift |
1.3 |
<body> |
185 |
|
|
|
186 |
|
|
<p> |
187 |
swift |
1.39 |
When you want to remove a software package from your system, use <c>emerge |
188 |
|
|
unmerge</c>. This will tell Portage to remove all files installed by that |
189 |
|
|
package from your system <e>except</e> the configuration files of that |
190 |
|
|
application if you have altered those after the installation. Leaving the |
191 |
|
|
configuration files allows you to continue working with the package if you ever |
192 |
|
|
decide to install it again. |
193 |
swift |
1.3 |
</p> |
194 |
|
|
|
195 |
|
|
<p> |
196 |
swift |
1.39 |
However, a <brite>big warning</brite> applies: Portage will <e>not</e> check if |
197 |
|
|
the package you want to remove is required by another package. It will however |
198 |
|
|
warn you when you want to remove an important package that breaks your system |
199 |
|
|
if you unmerge it. |
200 |
swift |
1.3 |
</p> |
201 |
|
|
|
202 |
swift |
1.39 |
<pre caption="Removing gnumeric from the system"> |
203 |
|
|
# <i>emerge unmerge gnumeric</i> |
204 |
swift |
1.3 |
</pre> |
205 |
|
|
|
206 |
|
|
<p> |
207 |
swift |
1.39 |
When you remove a package from your system, the dependencies of that package |
208 |
|
|
that were installed automatically when you installed the software are left. To |
209 |
|
|
have Portage locate all dependencies that can now be removed, use |
210 |
|
|
<c>emerge</c>'s <c>depclean</c> functionality. We will talk about this later on. |
211 |
swift |
1.3 |
</p> |
212 |
|
|
|
213 |
swift |
1.39 |
</body> |
214 |
|
|
</subsection> |
215 |
|
|
<subsection> |
216 |
|
|
<title>Updating your System</title> |
217 |
|
|
<body> |
218 |
swift |
1.32 |
|
219 |
swift |
1.3 |
<p> |
220 |
swift |
1.39 |
To keep your system in perfect shape (and not to mention install the latest |
221 |
|
|
security updates) you need to update your system regularly. Since Portage only |
222 |
|
|
checks the ebuilds in your Portage tree you first have to update your Portage |
223 |
|
|
tree. When your Portage tree is updated, you can update your system with |
224 |
|
|
<c>emerge --update world</c>: |
225 |
swift |
1.3 |
</p> |
226 |
|
|
|
227 |
swift |
1.39 |
<pre caption="Updating your system"> |
228 |
|
|
# <i>emerge --update world</i> |
229 |
swift |
1.3 |
</pre> |
230 |
|
|
|
231 |
|
|
<p> |
232 |
swift |
1.39 |
Portage will then search for newer version of the applications you have |
233 |
|
|
installed. However, it will only verify the versions for the applications you |
234 |
|
|
have explicitly installed - not the dependencies. If you want to update every |
235 |
|
|
single package on your system, add the <c>--deep</c> argument: |
236 |
swift |
1.3 |
</p> |
237 |
|
|
|
238 |
swift |
1.39 |
<pre caption="Updating your entire system"> |
239 |
|
|
# <i>emerge --update --deep world</i> |
240 |
swift |
1.3 |
</pre> |
241 |
|
|
|
242 |
|
|
<p> |
243 |
swift |
1.39 |
If you have altered any of your <uri link="?part=2&chap=2">USE flags</uri> |
244 |
|
|
lately you might want to add <c>--newuse</c> as well. Portage will then verify |
245 |
|
|
if the change requires the installation of new packages or recompilation of |
246 |
|
|
existing ones: |
247 |
swift |
1.3 |
</p> |
248 |
|
|
|
249 |
swift |
1.39 |
<pre caption="Performing a full update"> |
250 |
|
|
# <i>emerge --update --deep --newuse world</i> |
251 |
swift |
1.3 |
</pre> |
252 |
|
|
|
253 |
swift |
1.1 |
</body> |
254 |
|
|
</subsection> |
255 |
|
|
<subsection> |
256 |
swift |
1.39 |
<title>Stub Packages</title> |
257 |
swift |
1.11 |
<body> |
258 |
|
|
|
259 |
|
|
<p> |
260 |
swift |
1.39 |
Some packages in the Portage tree don't have any real content but are used to |
261 |
|
|
install a collection of packages. For instance, the <c>kde</c> package will |
262 |
|
|
install a complete KDE environment on your system by pulling in various |
263 |
|
|
KDE-related packages as dependencies. |
264 |
swift |
1.11 |
</p> |
265 |
|
|
|
266 |
|
|
<p> |
267 |
swift |
1.39 |
If you ever want to remove such a package from your system, running <c>emerge |
268 |
|
|
unmerge</c> on the package won't have much effect as the dependencies remain on |
269 |
|
|
the system. |
270 |
swift |
1.11 |
</p> |
271 |
|
|
|
272 |
|
|
<p> |
273 |
swift |
1.39 |
Portage has the functionality to remove orphaned dependencies as well, but since |
274 |
|
|
the availability of software is dynamically dependent you first need to update |
275 |
|
|
your entire system fully, including the new changes you applied when changing |
276 |
|
|
USE flags. After this you can run <c>emerge depclean</c> to remove the orphaned |
277 |
|
|
dependencies. When this is done, you need to rebuild the applications that were |
278 |
|
|
dynamically linked to the now-removed software titles but don't require them |
279 |
|
|
anymore. |
280 |
swift |
1.11 |
</p> |
281 |
|
|
|
282 |
|
|
<p> |
283 |
swift |
1.39 |
All this is handled with the following three commands: |
284 |
swift |
1.11 |
</p> |
285 |
|
|
|
286 |
swift |
1.39 |
<pre caption="Removing orphaned dependencies"> |
287 |
|
|
# <i>emerge --update --deep --newuse world</i> |
288 |
|
|
# <i>emerge depclean</i> |
289 |
|
|
# <i>revdep-rebuild</i> |
290 |
swift |
1.11 |
</pre> |
291 |
|
|
|
292 |
swift |
1.34 |
<p> |
293 |
swift |
1.39 |
<c>revdep-rebuild</c> is provided by the <c>gentoolkit</c> package; don't forget |
294 |
|
|
to emerge it first: |
295 |
swift |
1.34 |
</p> |
296 |
|
|
|
297 |
swift |
1.39 |
<pre caption="Installing the gentoolkit package"> |
298 |
|
|
# <i>emerge gentoolkit</i> |
299 |
swift |
1.34 |
</pre> |
300 |
|
|
|
301 |
swift |
1.11 |
</body> |
302 |
|
|
</subsection> |
303 |
swift |
1.39 |
</section> |
304 |
|
|
<section> |
305 |
|
|
<title>When Portage is Complaining...</title> |
306 |
swift |
1.11 |
<subsection> |
307 |
swift |
1.39 |
<title>About SLOTs, Virtuals, Branches, Architectures and Profiles</title> |
308 |
swift |
1.1 |
<body> |
309 |
|
|
|
310 |
swift |
1.3 |
<p> |
311 |
swift |
1.39 |
As we stated before, Portage is extremely powerful and supports many features |
312 |
|
|
that other software management tools lack. To understand this, we explain a few |
313 |
|
|
aspects of Portage without going in too much detail. |
314 |
swift |
1.3 |
</p> |
315 |
|
|
|
316 |
|
|
<p> |
317 |
swift |
1.39 |
With Portage different versions of a single package can coexist on a system. |
318 |
|
|
While other distributions tend to name their package to those versions (like |
319 |
|
|
<c>freetype</c> and <c>freetype2</c>) Portage uses a technology called |
320 |
|
|
<e>SLOT</e>s. An ebuild declares a certain SLOT for its version. Ebuilds with |
321 |
|
|
different SLOTs can coexist on the same system. For instance, the |
322 |
|
|
<c>freetype</c> package has ebuilds with <c>SLOT="1"</c> and <c>SLOT="2"</c>. |
323 |
swift |
1.3 |
</p> |
324 |
|
|
|
325 |
|
|
<p> |
326 |
swift |
1.39 |
There are also packages that provide the same functionality but are implemented |
327 |
|
|
differently. For instance, <c>metalogd</c>, <c>sysklogd</c> and <c>syslog-ng</c> |
328 |
|
|
are all system loggers. Applications that rely on the availability of "a system |
329 |
|
|
logger" cannot depend on, for instance, <c>metalogd</c>, as the other system |
330 |
|
|
loggers are as good a choice as any. Portage allows for <e>virtuals</e>: each |
331 |
|
|
system logger provides <c>virtual/syslog</c> so that applications can depend on |
332 |
|
|
<c>virtual/syslog</c>. |
333 |
swift |
1.3 |
</p> |
334 |
|
|
|
335 |
|
|
<p> |
336 |
swift |
1.39 |
Software in the Portage tree can reside in different branches. By default your |
337 |
|
|
system only accepts packages that Gentoo deems stable. Most new software titles, |
338 |
|
|
when committed, are added to the testing branch, meaning more testing needs to |
339 |
|
|
be done before it is marked as stable. Although you will see the ebuilds for |
340 |
|
|
those software in the Portage tree, Portage will not update them before they are |
341 |
|
|
placed in the stable branch. |
342 |
swift |
1.3 |
</p> |
343 |
|
|
|
344 |
|
|
<p> |
345 |
swift |
1.39 |
Some software is only available for a few architectures. Or the software doesn't |
346 |
|
|
work on the other architectures, or it needs more testing, or the developer that |
347 |
|
|
committed the software to the Portage tree is unable to verify if the package |
348 |
|
|
works on different architectures. |
349 |
swift |
1.25 |
</p> |
350 |
|
|
|
351 |
|
|
<p> |
352 |
swift |
1.39 |
Each Gentoo installation adheres to a certain <c>profile</c> which contains, |
353 |
|
|
amongst other information, the list of packages that are required for a system |
354 |
|
|
to function normally. |
355 |
swift |
1.3 |
</p> |
356 |
|
|
|
357 |
swift |
1.1 |
</body> |
358 |
|
|
</subsection> |
359 |
swift |
1.39 |
<subsection id="blocked"> |
360 |
|
|
<title>Blocked Packages</title> |
361 |
swift |
1.1 |
<body> |
362 |
|
|
|
363 |
swift |
1.39 |
<pre caption="Portage warning about blocked packages (with --pretend)"> |
364 |
|
|
[blocks B ] gnome-base/bonobo-activation (from pkg gnome-base/libbonobo-2.4.0) |
365 |
|
|
</pre> |
366 |
swift |
1.3 |
|
367 |
swift |
1.39 |
<pre caption="Portage warning about blocked packages (without --pretend)"> |
368 |
|
|
!!! Error: the gnome-base/bonobo-activation package conflicts with another package. |
369 |
|
|
!!! both can't be installed on the same system together. |
370 |
|
|
!!! Please use 'emerge --pretend' to determine blockers. |
371 |
swift |
1.3 |
</pre> |
372 |
|
|
|
373 |
|
|
<p> |
374 |
swift |
1.41 |
Ebuilds contain specific fields that inform Portage about its dependencies. |
375 |
swift |
1.39 |
There are two possible dependencies: build dependencies, declared in |
376 |
|
|
<c>DEPEND</c> and run-time dependencies, declared in <c>RDEPEND</c>. When one of |
377 |
|
|
these dependencies explicitly marks a package or virtual as being <e>not</e> |
378 |
|
|
compatible, it triggers a blockage. |
379 |
swift |
1.3 |
</p> |
380 |
|
|
|
381 |
swift |
1.11 |
<p> |
382 |
swift |
1.39 |
To fix a blockage, you can choose to not install the package or unmerge the |
383 |
|
|
conflicting package first. In the given example, you can opt not to install |
384 |
|
|
<c>libbonobo</c> or to remove <c>bonobo-activation</c> first. |
385 |
swift |
1.11 |
</p> |
386 |
|
|
|
387 |
swift |
1.1 |
</body> |
388 |
|
|
</subsection> |
389 |
swift |
1.39 |
<subsection id="masked"> |
390 |
|
|
<title>Masked Packages</title> |
391 |
swift |
1.1 |
<body> |
392 |
|
|
|
393 |
swift |
1.39 |
<pre caption="Portage warning about masked packages"> |
394 |
|
|
!!! all ebuilds that could satisfy "bootsplash" have been masked. |
395 |
|
|
</pre> |
396 |
|
|
|
397 |
|
|
<pre caption="Portage warning about masked packages - reason"> |
398 |
|
|
!!! possible candidates are: |
399 |
swift |
1.3 |
|
400 |
swift |
1.39 |
- gnome-base/gnome-2.8.0_pre1 (masked by: <i>~x86 keyword</i>) |
401 |
|
|
- lm-sensors/lm-sensors-2.8.7 (masked by: <i>-sparc keyword</i>) |
402 |
|
|
- sys-libs/glibc-2.3.4.20040808 (masked by: <i>-* keyword</i>) |
403 |
|
|
- dev-util/cvsd-1.0.2 (masked by: <i>missing keyword</i>) |
404 |
|
|
- media-video/ati-gatos-4.3.0 (masked by: <i>package.mask</i>) |
405 |
|
|
- sys-libs/glibc-2.3.2-r11 (masked by: <i>profile</i>) |
406 |
swift |
1.35 |
</pre> |
407 |
|
|
|
408 |
swift |
1.3 |
<p> |
409 |
swift |
1.39 |
When you want to install a package that isn't available for your system, you |
410 |
|
|
will receive this masking error. You should try installing a different |
411 |
|
|
application that is available for your system or wait until the package is put |
412 |
|
|
available. There is always a reason why a package is masked: |
413 |
swift |
1.3 |
</p> |
414 |
|
|
|
415 |
swift |
1.35 |
<ul> |
416 |
|
|
<li> |
417 |
swift |
1.39 |
<b>~arch keyword</b> means that the application is not tested sufficiently |
418 |
|
|
to be put in the stable branch. Wait a few days or weeks and try again. |
419 |
swift |
1.35 |
</li> |
420 |
|
|
<li> |
421 |
swift |
1.39 |
<b>-arch keyword</b> or <b>-* keyword</b> means that the application does |
422 |
|
|
not work on your architecture. If you believe the package does work file |
423 |
|
|
a bug at our <uri link="http://bugs.gentoo.org">bugzilla</uri> website. |
424 |
swift |
1.35 |
</li> |
425 |
|
|
<li> |
426 |
swift |
1.39 |
<b>missing keyword</b> means that the application has not been tested on |
427 |
|
|
your architecture yet. Ask the architecture porting team to test the package |
428 |
|
|
or test it for them and report your findings on our <uri |
429 |
|
|
link="http://bugs.gentoo.org">bugzilla</uri> website. |
430 |
swift |
1.35 |
</li> |
431 |
|
|
<li> |
432 |
swift |
1.39 |
<b>package.mask</b> means that the package has been found corrupt, unstable |
433 |
|
|
or worse and has been deliberately marked as do-not-use. |
434 |
swift |
1.35 |
</li> |
435 |
|
|
<li> |
436 |
swift |
1.39 |
<b>profile</b> means that the package has been found not suitable for your |
437 |
|
|
profile. The application might break your system if you installed it or is |
438 |
|
|
just not compatible with the profile you use. |
439 |
swift |
1.35 |
</li> |
440 |
|
|
</ul> |
441 |
|
|
|
442 |
swift |
1.1 |
</body> |
443 |
|
|
</subsection> |
444 |
swift |
1.39 |
<subsection id="missingdependencies"> |
445 |
|
|
<title>Missing Dependencies</title> |
446 |
swift |
1.1 |
<body> |
447 |
|
|
|
448 |
swift |
1.39 |
<pre caption="Portage warning about missing dependency"> |
449 |
|
|
emerge: there are no ebuilds to satisfy ">=sys-devel/gcc-4.2-r4". |
450 |
swift |
1.3 |
|
451 |
swift |
1.39 |
!!! Problem with ebuild sys-devel/gcc-3.4.2-r2 |
452 |
|
|
!!! Possibly a DEPEND/*DEPEND problem. |
453 |
swift |
1.3 |
</pre> |
454 |
|
|
|
455 |
|
|
<p> |
456 |
swift |
1.39 |
The application you are trying to install depends on another package that is not |
457 |
|
|
available for your system. Please check <uri |
458 |
|
|
link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
459 |
|
|
please report it. Unless you are mixing branches this should not occur and is |
460 |
|
|
therefore a bug. |
461 |
swift |
1.3 |
</p> |
462 |
|
|
|
463 |
swift |
1.39 |
</body> |
464 |
|
|
</subsection> |
465 |
|
|
<subsection id="ambiguousebuild"> |
466 |
|
|
<title>Ambiguous Ebuild Name</title> |
467 |
|
|
<body> |
468 |
swift |
1.3 |
|
469 |
swift |
1.39 |
<pre caption="Portage warning about ambiguous ebuild names"> |
470 |
|
|
!!! The short ebuild name "aterm" is ambiguous. Please specify |
471 |
|
|
!!! one of the following fully-qualified ebuild names instead: |
472 |
swift |
1.35 |
|
473 |
swift |
1.39 |
dev-libs/aterm |
474 |
|
|
x11-terms/aterm |
475 |
swift |
1.3 |
</pre> |
476 |
|
|
|
477 |
|
|
<p> |
478 |
swift |
1.39 |
The application you want to install has a name that corresponds with more than |
479 |
|
|
one package. You need to supply the category name as well. Portage will inform |
480 |
|
|
you of possible matches to choose from. |
481 |
swift |
1.35 |
</p> |
482 |
|
|
|
483 |
swift |
1.39 |
</body> |
484 |
|
|
</subsection> |
485 |
|
|
<subsection id="circulardependencies"> |
486 |
|
|
<title>Circular Dependencies</title> |
487 |
|
|
<body> |
488 |
swift |
1.35 |
|
489 |
swift |
1.39 |
<pre caption="Portage warning about circular dependencies"> |
490 |
|
|
!!! Error: circular dependencies: |
491 |
swift |
1.35 |
|
492 |
swift |
1.39 |
ebuild / net-print/cups-1.1.15-r2 depends on ebuild / app-text/ghostscript-7.05.3-r1 |
493 |
|
|
ebuild / app-text/ghostscript-7.05.3-r1 depends on ebuild / net-print/cups-1.1.15-r2 |
494 |
swift |
1.35 |
</pre> |
495 |
|
|
|
496 |
|
|
<p> |
497 |
swift |
1.39 |
Two (or more) packages you want to install depend on each other and can |
498 |
|
|
therefore not be installed. This is most likely a bug in the Portage tree. |
499 |
|
|
Please resync after a while and try again. You can also check <uri |
500 |
|
|
link="http://bugs.gentoo.org">bugzilla</uri> if the issue is known and if not, |
501 |
|
|
report it. |
502 |
swift |
1.3 |
</p> |
503 |
|
|
|
504 |
swift |
1.39 |
</body> |
505 |
|
|
</subsection> |
506 |
|
|
<subsection id="fetchfailed"> |
507 |
|
|
<title>Fetch failed</title> |
508 |
|
|
<body> |
509 |
swift |
1.29 |
|
510 |
swift |
1.39 |
<pre caption="Portage warning about fetch failed"> |
511 |
|
|
!!! Fetch failed for sys-libs/ncurses-5.4-r5, continuing... |
512 |
|
|
<comment>(...)</comment> |
513 |
|
|
!!! Some fetch errors were encountered. Please see above for details. |
514 |
swift |
1.3 |
</pre> |
515 |
|
|
|
516 |
swift |
1.35 |
<p> |
517 |
swift |
1.39 |
Portage was unable to download the sources for the given application and will |
518 |
|
|
try to continue installing the other applications (if applicable). This failure |
519 |
|
|
can be due to a mirror that has not synchronised correctly or because the ebuild |
520 |
|
|
points to an incorrect location. The server where the sources reside can also be |
521 |
|
|
down for some reason. |
522 |
swift |
1.35 |
</p> |
523 |
|
|
|
524 |
|
|
<p> |
525 |
swift |
1.39 |
Retry after one hour to see if the issue still persists. |
526 |
swift |
1.35 |
</p> |
527 |
|
|
|
528 |
swift |
1.1 |
</body> |
529 |
|
|
</subsection> |
530 |
swift |
1.39 |
<subsection id="profileprotect"> |
531 |
|
|
<title>System Profile Protection</title> |
532 |
swift |
1.1 |
<body> |
533 |
swift |
1.3 |
|
534 |
swift |
1.39 |
<pre caption="Portage warning about profile-protected package"> |
535 |
|
|
!!! Trying to unmerge package(s) in system profile. 'sys-apps/portage' |
536 |
|
|
!!! This could be damaging to your system. |
537 |
swift |
1.3 |
</pre> |
538 |
|
|
|
539 |
|
|
<p> |
540 |
swift |
1.39 |
You have asked to remove a package that is part of your system's core packages. |
541 |
|
|
It is listed in your profile as required and should therefore not be removed |
542 |
|
|
from the system. |
543 |
swift |
1.3 |
</p> |
544 |
|
|
|
545 |
swift |
1.1 |
</body> |
546 |
|
|
</subsection> |
547 |
|
|
</section> |
548 |
|
|
</sections> |