1 |
> |
2 |
> I'm emergin system and world after a little while, maybe 4 months, I got |
3 |
> directory does not exist /usr/lib/ccache/bin |
4 |
> |
5 |
> I search a bit, and it seems that ccache accelerate compiling. |
6 |
> So it's seems to emerge anyway in a good way. |
7 |
> What should I do to kinda make it better ? Just create that folder?? |
8 |
> |
9 |
|
10 |
The short answer is to edit make.conf and create a new directory. For |
11 |
example, here is a copy from my make.conf of the relevant location |
12 |
(sorry for the line numbers): |
13 |
|
14 |
FEATURES="collision-protect sandbox ccache userpriv usersandbox buildpkg" |
15 |
# features for the cowboy in you |
16 |
#FEATURES="-collision-protect -protect-owned sandbox ccache" |
17 |
CCACHE_DIR="/var/tmp/ccache/" |
18 |
CCACHE_SIZE="2G" |
19 |
|
20 |
You need to add the FEATURE ccache (don't worry about the rest of |
21 |
mine, but you should have some FEATURES I hope!), define the |
22 |
CCACHE_DIR & CCACHE_SIZE variables, and make sure the CCACHE_DIR is |
23 |
created. |
24 |
|
25 |
For more information, you can check the gentoo wiki: |
26 |
http://en.gentoo-wiki.com/wiki/Ccache |
27 |
|
28 |
Personally, right above the FEATURES declaration in make.conf, I have |
29 |
a stack of comments so I can remember what features are available and |
30 |
remember how to use them: |
31 |
|
32 |
# Notes of all possible FEATURES and the respective effects |
33 |
# 'assume-digests' |
34 |
# when commiting work to cvs with repoman(1), assume that all |
35 |
# existing SRC_URI digests are correct. This feature also |
36 |
# affects digest generation via ebuild(1) and emerge(1) (emerge |
37 |
# generates digests only when the 'digest' feature is enabled). |
38 |
# 'autoaddcvs' causes portage to automatically try to add files to cvs |
39 |
# that will have to be added later. Done at generation times |
40 |
# and only has an effect when 'cvs' is also set. |
41 |
# 'buildpkg' causes binary packages to be created of all packages that |
42 |
# are being merged. |
43 |
# 'ccache' enables ccache support via CC. |
44 |
# 'confcache' enable confcache support; speeds up autotool based configure |
45 |
# calls |
46 |
# 'collision-protect' |
47 |
# prevents packages from overwriting files that are owned by |
48 |
# another package or by no package at all. |
49 |
# 'cvs' causes portage to enable all cvs features (commits, adds), |
50 |
# and to apply all USE flags in SRC_URI for digests -- for |
51 |
# developers only. |
52 |
# 'digest' autogenerate digests for packages when running the emerge(1) |
53 |
# command. If the 'assume-digests' feature is also enabled then |
54 |
# existing SRC_URI digests will be reused whenever they are |
55 |
# available. |
56 |
# 'distcc' enables distcc support via CC. |
57 |
# 'distlocks' enables distfiles locking using fcntl or hardlinks. This |
58 |
# is enabled by default. Tools exist to help clean the locks |
59 |
# after crashes: /usr/lib/portage/bin/clean_locks. |
60 |
# 'fixpackages' allows portage to fix binary packages that are stored in |
61 |
# PKGDIR. This can consume a lot of time. 'fixpackages' is |
62 |
# also a script that can be run at any given time to force |
63 |
# the same actions. |
64 |
# 'gpg' enables basic verification of Manifest files using gpg. |
65 |
# This features is UNDER DEVELOPMENT and reacts to features |
66 |
# of strict and severe. Heavy use of gpg sigs is coming. |
67 |
# 'keeptemp' prevents the clean phase from deleting the temp files ($T) |
68 |
# from a merge. |
69 |
# 'keepwork' prevents the clean phase from deleting the WORKDIR. |
70 |
# 'test' causes ebuilds to perform testing phases if they are capable |
71 |
# of it. Some packages support this automaticaly via makefiles. |
72 |
# 'metadata-transfer' |
73 |
# automatically perform a metadata transfer when `emerge --sync` |
74 |
# is run. |
75 |
# 'noauto' causes ebuild to perform only the action requested and |
76 |
# not any other required actions like clean or unpack -- for |
77 |
# debugging purposes only. |
78 |
# 'noclean' prevents portage from removing the source and temporary files |
79 |
# after a merge -- for debugging purposes only. |
80 |
# 'nostrip' prevents the stripping of binaries. |
81 |
# 'notitles' disables xterm titlebar updates (which contain status info). |
82 |
# 'parallel-fetch' |
83 |
# do fetching in parallel to compilation |
84 |
# 'sandbox' enables sandboxing when running emerge and ebuild. |
85 |
# 'strict' causes portage to react strongly to conditions that are |
86 |
# potentially dangerous, like missing/incorrect Manifest files. |
87 |
# 'userfetch' when portage is run as root, drop privileges to |
88 |
# portage:portage during the fetching of package sources. |
89 |
# 'userpriv' allows portage to drop root privileges while it is compiling, |
90 |
# as a security measure. As a side effect this can remove |
91 |
# sandbox access violations for users. |
92 |
# 'usersandbox' enables sandboxing while portage is running under userpriv. |
93 |
|
94 |
Regards, |
95 |
daid |