Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[CCACHE] Deux repertoires de cache ? (resolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 5:07 pm    Post subject: [CCACHE] Deux repertoires de cache ? (resolu) Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1963
Location: 127.0.0.1

PostPosted: Wed Dec 21, 2005 5:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 5:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1963
Location: 127.0.0.1

PostPosted: Wed Dec 21, 2005 5:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 5:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Wed Dec 21, 2005 5:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 5:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 5:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Wed Dec 21, 2005 6:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 6:04 pm    Post subject: Reply with quote

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
Code:
# echo $CCACHE_DIR


(j'ai mis mes perms pour le adjusting ccache blabla)
_________________
benj

technicien professionnel, ascendant winner
Back to top
View user's profile Send private message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 6:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 6:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Wed Dec 21, 2005 6:11 pm    Post subject: Reply with quote

blasserre wrote:
sans doute de
Code:
# echo $CCACHE_DIR

En fait je voulais savoir pour make ne va pas lire make.conf
blasserre wrote:
(j'ai mis mes perms pour le adjusting ccache blabla)

Quelles permissions as-tu mis?
_________________
Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche !
Back to top
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 6:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 6:17 pm    Post subject: Reply with quote

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
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1963
Location: 127.0.0.1

PostPosted: Wed Dec 21, 2005 6:21 pm    Post subject: Reply with quote

Talosectos wrote:
@NetFab: d'où tiens tu cette information, svp?

De nulle part : simple supposition :D

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
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Wed Dec 21, 2005 6:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Wed Dec 21, 2005 6:23 pm    Post subject: Reply with quote

blasserre wrote:

le s je sais plus à quoi ça correspond ni comment on le met...

C'est le sticky bit qui permet où il est apposé d'avoir les droits root (en l'occurence ici c'est le groupe portage qui a les droits root sur le répertoire .ccache). Voilà si je ne dis pas trop de bêtises.

Merci pour l'information.
_________________
Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche !
Back to top
View user's profile Send private message
croquignol
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2005
Posts: 125

PostPosted: Wed Dec 21, 2005 6:25 pm    Post subject: Reply with quote

Ok. Je vire le tilde.

Merci pour l'aide.
Back to top
View user's profile Send private message
blasserre
Veteran
Veteran


Joined: 10 Feb 2004
Posts: 1362
Location: Lille, Vlaanderen

PostPosted: Fri Dec 23, 2005 3:27 pm    Post subject: Reply with quote

Talosectos wrote:
blasserre wrote:
sans doute de
Code:
# echo $CCACHE_DIR

En fait je voulais savoir pour make ne va pas lire make.conf

oups j'avais pas vu :oops:
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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum