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