View previous topic :: View next topic |
Author |
Message |
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 5:07 pm Post subject: [CCACHE] Deux repertoires de cache ? (resolu) |
|
|
Je suis sous le compte root.
J'ai corrige le bug 103600 relatif a ccache en dehors de portage (correction des fichiers /etc/profile et /etc/env.d/00basic)
Dans /etc/env.d/00basic, j'ai ajoute le chemin de ccache :
Code: | ...
PATH="/usr/lib/ccache/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin"
ROOTPATH="/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
... |
J'ai complete /etc/make.conf avec :
Code: | FEATURES="ccache"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G" |
Lorsque je fais "echo $PATH" j'obtiens toujours "/usr/lib/ccache/bin" en tete de liste.
Lorsque je compile avec emerge (installation de paquets), la compilation a lieu dans /var/tmp/ccache. Par contre lorque je compile en dehors de poratage (compilation du noyau par exemple), la compilation se fait dans ~/.ccache. Pourquoi ?
Last edited by croquignol on Wed Dec 21, 2005 6:26 pm; edited 1 time in total |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1963 Location: 127.0.0.1
|
Posted: Wed Dec 21, 2005 5:27 pm Post subject: |
|
|
Salut,
Certainement que la variable CCACHE_DIR n'est pas définie, car make ne va pas aller lire le fichier make.conf, et ccache prend comme répertoire par défaut ~/.ccache.
Essaye comme ceci :
Code: | CCACHE_DIR="/var/tmp/ccache" make |
De la même manière que pour afficher les stats de ccache. |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 5:34 pm Post subject: |
|
|
pourquoi ne renvoyez-vous pas le CCACHE_DIR de portage vers /root/.ccache ?
(pour ceux qui lancent tout le temps emerge en root)
ça évite pas mal de bidouillage, et ça évite de se retrouver avec 4Go de cache utile à 8% _________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1963 Location: 127.0.0.1
|
Posted: Wed Dec 21, 2005 5:40 pm Post subject: |
|
|
blasserre wrote: | pourquoi ne renvoyez-vous pas le CCACHE_DIR de portage vers /root/.ccache ?
|
Cela dépend comment tu as partitionné.
Mon / fait 2 Go, mais surtout, je considère que le cache est constitué de données temporaires, donc que çà n'a rien à faire sur la partition racine. |
|
Back to top |
|
|
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 5:41 pm Post subject: |
|
|
J'ai tape "emerge --info -v" et j'obtiens bien :
Code: | ...
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G"
CFLAGS="-O2 -march=pentium2 -pipe"
... |
J'ai commence dans "/var/tmp/ccache" et j'ai compile de gros machin (X, firefox ...) aussi je souhaite continuer dans ce repertoire pour pouvoir recompiler rapidement.
Avez-vous un moyen pour localiser le probleme ? (j'utilise gentoo 2005.1-r1)
Last edited by croquignol on Wed Dec 21, 2005 5:47 pm; edited 1 time in total |
|
Back to top |
|
|
Talosectos Guru
Joined: 31 Aug 2004 Posts: 329 Location: Bugey-Libre
|
Posted: Wed Dec 21, 2005 5:42 pm Post subject: |
|
|
blasserre wrote: | pourquoi ne renvoyez-vous pas le CCACHE_DIR de portage vers /root/.ccache ?
(pour ceux qui lancent tout le temps emerge en root)
ça évite pas mal de bidouillage, et ça évite de se retrouver avec 4Go de cache utile à 8% |
En procédant comme ceci j'avais des problèmes à chaque emerge Code: | adjusting cache permissions | (approximativement), pourtant le répertoire /root/.ccache était détenu par l'utilisateur portage et le groupe portage. _________________ Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche ! |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 5:44 pm Post subject: |
|
|
NetFab wrote: |
Cela dépend comment tu as partitionné.
Mon / fait 2 Go, mais surtout, je considère que le cache est constitué de données temporaires, donc que çà n'a rien à faire sur la partition racine. |
fstab wrote: | # System binds
/mnt/local/System/ccache /root/.ccache none bind 0 0 |
quant au temporaire... c'est quand même du temporaire permanent
EDIT ---8<-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------8<-------8<----
Talosectos wrote: | En procédant comme ceci j'avais des problèmes à chaque emerge Code: | adjusting cache permissions | (approximativement), pourtant le répertoire /root/.ccache était détenu par l'utilisateur portage et le groupe portage. |
c'est comme ça chez moi :
Code: | drwxrwsr-x 18 root portage 1408 déc 21 18:56 .ccache |
ça a été mis à jour la première fois par portage et depuis ça roule
/me touche du bois _________________ benj
technicien professionnel, ascendant winner
Last edited by blasserre on Wed Dec 21, 2005 6:02 pm; edited 1 time in total |
|
Back to top |
|
|
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 5:57 pm Post subject: |
|
|
La commande
Code: | CCACHE_DIR="/var/tmp/ccache" make |
fonctionne.
Mais je ne comprend toujours pas pourquoi la compilation ne se fait pas dans ce repretoire pour le noyau. |
|
Back to top |
|
|
Talosectos Guru
Joined: 31 Aug 2004 Posts: 329 Location: Bugey-Libre
|
Posted: Wed Dec 21, 2005 6:01 pm Post subject: |
|
|
croquignol wrote: | Mais je ne comprend toujours pas pourquoi la compilation ne se fait pas dans ce repretoire pour le noyau. |
Peut être que c'est à cause de çà :
NetFab wrote: | Certainement que la variable CCACHE_DIR n'est pas définie, car make ne va pas aller lire le fichier make.conf, et ccache prend comme répertoire par défaut ~/.ccache. |
@NetFab: d'où tiens tu cette information, svp? _________________ Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche ! |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 6:04 pm Post subject: |
|
|
Talosectos wrote: | croquignol wrote: | Mais je ne comprend toujours pas pourquoi la compilation ne se fait pas dans ce repretoire pour le noyau. |
Peut être que c'est à cause de çà :
NetFab wrote: | Certainement que la variable CCACHE_DIR n'est pas définie, car make ne va pas aller lire le fichier make.conf, et ccache prend comme répertoire par défaut ~/.ccache. |
@NetFab: d'où tiens tu cette information, svp? |
dans doute de
(j'ai mis mes perms pour le adjusting ccache blabla) _________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 6:06 pm Post subject: |
|
|
C'est bien pour ca que les chemin ont ete modifies :
Dans /etc/env.d/00basic, j'ai ajoute le chemin de ccache :
Code: | ...
PATH="/usr/lib/ccache/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin"
ROOTPATH="/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
... |
Lorsque je fais "echo $PATH" j'obtiens toujours "/usr/lib/ccache/bin" en tete de liste.
Et pour la derniere commande , je n'obtiens rien (suaf avec emerge --info -v)
Code: | pc-de-toto ~ # echo $CCACHE_DIR
pc-de-toto ~ # |
|
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 6:09 pm Post subject: |
|
|
croquignol wrote: | C'est bien pour ca que les chemin ont ete modifies :
Dans /etc/env.d/00basic, j'ai ajoute le chemin de ccache :
Code: | ...
PATH="/usr/lib/ccache/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin"
ROOTPATH="/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
... |
Lorsque je fais "echo $PATH" j'obtiens toujours "/usr/lib/ccache/bin" en tete de liste. |
oui mais PATH c'est pour lui dire où aller chercher l'exécutable.... 'fin je crois...
il faudrait définir une variable CCACHE_DIR=/comme/dans/ton/makeconf dans ton /root/.profile
Edit : du gras et le chmin de profile _________________ benj
technicien professionnel, ascendant winner
Last edited by blasserre on Wed Dec 21, 2005 6:11 pm; edited 1 time in total |
|
Back to top |
|
|
Talosectos Guru
Joined: 31 Aug 2004 Posts: 329 Location: Bugey-Libre
|
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 6:14 pm Post subject: |
|
|
Talosectos wrote: | Quelles permissions as-tu mis? |
oula j'suis pas le roi de l'édit ce soir....
j'ai édité mon post plus haut il y a les perms définies pour le répertoire
Code: | drwxrwsr-x 18 root portage 1408 déc 21 18:56 .ccache |
le s je sais plus à quoi ça correspond ni comment on le met... _________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 6:17 pm Post subject: |
|
|
Si comme dit precedement je mets dans le make.conf la chose suivante :
Code: | CCACHE_DIR="/root/~.ccache" |
j'ai la garantie que TOUTES LES COMPILATIONS se feront dans ce repertoire (les emerges, les noyau et le quelconque ... ) |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1963 Location: 127.0.0.1
|
Posted: Wed Dec 21, 2005 6:21 pm Post subject: |
|
|
Talosectos wrote: | @NetFab: d'où tiens tu cette information, svp? |
De nulle part : simple supposition
croquignol wrote: | C'est bien pour ca que les chemin ont ete modifies :
Dans /etc/env.d/00basic, j'ai ajoute le chemin de ccache :
Code: |
...
PATH="/usr/lib/ccache/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin"
ROOTPATH="/usr/lib/ccache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
... |
|
Pour moi, les chemins modifiés ne servent juste qu'à dire à ccache de se mettre en branle lorsque tu lances un make, et s'il ne trouve pas de configuration le concernant, il utilise sa configuration par défaut.
Dans la documentation, il est juste dit d'utiliser ccache en dehors de portage, pas de le configurer.
Le fichier make.conf n'est lu que par emerge.
croquignol wrote: | Si comme dit precedement je mets le make.conf la chose :
Code: | CCACHE_DIR="/root/~.ccache" |
j'ai la garantie que TOUTES LES COMPILATIONS se feront dans ce repretoire (les emerges, les noyau et le quelconque ... ) |
Oui, normal. Parce que çà doit correspondre à la configuration par défaut de ccache. |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Wed Dec 21, 2005 6:21 pm Post subject: |
|
|
croquignol wrote: | Si comme dit precedement je mets le make.conf la chose :
Code: | CCACHE_DIR="/root/~.ccache" |
j'ai la garantie que TOUTES LES COMPILATIONS se feront dans ce repretoire (les emerges, les noyau et le quelconque ... ) |
oui (la tu résouds le problème dans l'autre sens) mais ça semble poser problème à certains....
j'ai déjà vu ce problème ailleurs que chez Talosectos
par contre faut virer le tilde avant .ccache Code: | CCACHE_DIR="/root/.ccache" |
_________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
Talosectos Guru
Joined: 31 Aug 2004 Posts: 329 Location: Bugey-Libre
|
|
Back to top |
|
|
croquignol Tux's lil' helper
Joined: 16 Sep 2005 Posts: 125
|
Posted: Wed Dec 21, 2005 6:25 pm Post subject: |
|
|
Ok. Je vire le tilde.
Merci pour l'aide. |
|
Back to top |
|
|
blasserre Veteran
Joined: 10 Feb 2004 Posts: 1362 Location: Lille, Vlaanderen
|
Posted: Fri Dec 23, 2005 3:27 pm Post subject: |
|
|
Talosectos wrote: | blasserre wrote: | sans doute de
|
En fait je voulais savoir pour make ne va pas lire make.conf |
oups j'avais pas vu
make.conf la partie visible de l'iceberg et make.globals sa partie cachée sont des fichiers typiquements gentoo, puisque ce sont les fichiers de conf d'emerge... mais le nom est effectivement trompeur
GNU make n'en connait AMHA pas l'existence. leur seul rapport avec make est de fournir les bonnes variables d'environnement lors de l'execution d'emerge... donc de make s'il est lancé par un emerge, mais pas si tu le lances à la main (noyau, tite compil sur le pouce...) _________________ benj
technicien professionnel, ascendant winner |
|
Back to top |
|
|
|