# [TEXLIVE 2008-2009]texconfig rehash

## Mickael

Salut,

je me demande pourquoi la commande texconfig rehash  ne met pas à jour mes fichiers tex personnels :

```
$ texconfig rehash 

mktexlsr: //etc/texmf: directory not writable. Skipping...

mktexlsr: /usr/local/share/texmf: directory not writable. Skipping...

mktexlsr: /usr/share/texmf: directory not writable. Skipping...

mktexlsr: /usr/share/texmf-dist: directory not writable. Skipping...

mktexlsr: /usr/share/texmf-doc: directory not writable. Skipping...

mktexlsr: /usr/share/texmf-site: directory not writable. Skipping...

mktexlsr: //var/lib/texmf: directory not writable. Skipping...

mktexlsr: Done.

```

et mon ~/texmf/ , alors???

```
 ls texmf/

beamer/  tex/

```

what happen...

----------

## Alexis

il ne le fait que pour les arbres définis avec un !! devant dans ton texmf.cnf; s'il n'y en a pas, kpathsea se débrouille sans les fichiers ls-R.

----------

## Mickael

Salut Alexis,

tout s'explique alors! moi j'avais interprété différemment cette histoire de !!. Je croyais que cela imposait  un ordre dans la recherche des *.sty, et qu'il ne fallait pas mettre !! dans le fichier texmf.cnf, afin de ne pas ralentir la recherche .... donc je n'avais rien compris  :Smile: 

----------

## Mickael

ça ne fonctionne pas Alexis. :/

J'ai pourtant rajouter à la mano les deux points d'exclamation dans le fichier texmf.cnf, puis refait un texhash sur mon répertoire hometexmf et un texhash en root, mais ça veut pas ...

----------

## kernelsensei

Moi aussi je ne vois pas mon rep perso quand je fais rehash, par contre les fichiers qui sont dedans sont bien pris en compte. Par contre je me souviens qu'au début j'avais aussi un problème pour les faire détecter. Faut que je retrouve ce que j'avais fait et je te tiens au jus.

Sinon t'as redéfini ta variable TEXMFHOME ?

EDIT : Si tu fais simplement mktexlsr ~/texmf  en user ça ne marche pas ?

Que retourne la commande kpsewhich --var-value=TEXMFHOME ?

----------

## Alexis

rajoute le à la variable TEXMFDBS aussi

----------

## Mickael

Salut vous deux, voici ce que retourne la commande, kernelsensei : 

```
 kpsewhich --var-value=TEXMFHOME

/home/mickael/texmf

```

et j'ai rajouté !!$texmfhome, à la variable texmfdbs suivi d'un texhash :

 *Quote:*   

> # texhash 
> 
> texhash: Updating //etc/texmf/ls-R... 
> 
> texhash: Updating //var/lib/texmf/ls-R... 
> ...

 

----------

## Alexis

chelou, t'es sûr que t'as pas fait une faute de frappe?

```

$ TEXMFDBS='!!$TEXMFHOME' texhash

texhash: Updating /home/alexis/texmf/ls-R... 

texhash: Done.

```

----------

## Mickael

wait a bit, je refais la manoeuvre

```
 $ TEXMFDBS='!!$TEXMFHOME' texhash 

texhash: Updating /home/mickael/texmf/ls-R... 

texhash: Done.

```

```
$ pdflatex \\nonstopmode\\input SA_globale.tex

/usr/share/texmf-dist/tex/latex/listings/listings.cfg))

! LaTeX Error: File `beamerthemeCEA.sty' not found.

Type X to quit or <RETURN> to proceed,

or enter new name. (Default extension: sty)

Enter file name: 

! Emergency stop.

<read *> 

         

l.17 \usetheme{CEA}

                   ^^M

!  ==> Fatal error occurred, no output PDF file produced!

Transcript written on SA_globale.log.
```

et si je mets tous les *.sty (dans le répertoire où se trouve les fichiers sources de ma présentation) concernant le theme cea, ben ça fonctionne. :/

----------

## Alexis

ha mais attends, tes fichiers tu les as pas mis directement dans ~/texmf, si?

mets les plutot dans ~/texmf/tex/latex/$package/

----------

## Mickael

ben je crois bien que j'ai respecté la structure normale :

```

ls texmf/

beamer/  ls-R  tex/

$ ls texmf/beamer/

themes/

$ ls texmf/beamer/themes/

color/  font/  inner/  outer/  theme/

 $ ls texmf/tex/latex/

Memo/

```

mais je suis sur les rotules depuis un mois que je suis en région parisienne... (5h00 du mat --> 20h00) ce que je vais faire pour ce soir, c'est me couché et reprendre tout ça demain à tête reposée, en  décrivant toute mes manipes passées, ainsi que le tas de variables qui doivent trainer depuis les tests dédiés à texlive-2005....

En attendent merci, mais j'ai les paupières dans kes chaussettes là j'en peu plus, @plus Alexis.

----------

## kernelsensei

Euh minute... moi j'ai pas autant bricolé et ça marche... je n'ai pas touché à la variable mentionnée par Alexis (TEXMFDBS) et à priori il me trouve les paquets, par exemple :

```
% kpsewhere -all avm.sty        

/home/boris/.texmf/tex/latex/avm/avm.sty

```

Après peut-être que je n'ai pas tout compris à ce que tu veux.

----------

## Alexis

Oué c'est bizarre. Normalement t'as pas besoin de bricoler, si t'as pas de ls-R il se débrouille bien sans, c'est juste un peu plus lent mais pour un "overlay" c'est pas gênant et ça évite de se prendre la tête à les regénérer à chaque fois.

----------

## Mickael

bump...

ben j'en suis toujours au même point... je vous écoute pour vous fournir toutes les infos que vous voulez ; pour ma part je suis en plein dans la quadrature du cercle  :Wink: 

----------

## Mickael

je vous donne les infos contenues dans le fichier :  /etc/texmf/texmf.d/05searchpaths.cnf : 

```

% 

   Part 1: Search paths and directories.

% You can set an environment variable to override TEXMF if you're testing

% a new TeX tree, without changing anything else.

%

% You may wish to use one of the $SELFAUTO... variables here so TeX will

% find where to look dynamically.  See the manual and the definition

% below of TEXMFCNF.

% The tree containing the runtime files closely related to the specific

% program version used:

TEXMFMAIN = $SELFAUTODIR/share/texmf

% The main distribution tree:

TEXMFDIST = $SELFAUTODIR/share/texmf-dist

% The Gentoo site tree

TEXMFSITE = $SELFAUTODIR/share/texmf-site

% A place for local additions to a "standard" texmf tree.

% This tree is not used for local configuration maintained by

% texconfig, it uses TEXMFCONFIG below.

TEXMFLOCAL = $SELFAUTODIR/local/share/texmf

% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.

% With teTeX-3.0 or later, this must be set.

% For sharing this tree with $TEXMFMAIN:

%   TEXMFSYSVAR = $TEXMFMAIN

% For using a separate tree:

%   TEXMFSYSVAR = $SELFAUTOPARENT/texmf-var

% On Gentoo you should not modify this value, the different

% ebuilds will install their format files there.

% If you do modify it, you'll have to face the consequences of having format

% files out of control of the package manager.

TEXMFSYSVAR = $SELFAUTOPARENT/var/lib/texmf

% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.

% With teTeX-3.0 or later, this must be set.

% For sharing this tree with $TEXMFMAIN:

%   TEXMFSYSCONFIG = $TEXMFMAIN

% For using a separate tree:

%   TEXMFSYSCONFIG = $SELFAUTOPARENT/texmf-config

TEXMFSYSCONFIG = $SELFAUTOPARENT/etc/texmf

% User texmf trees are allowed as follows.

% This used to be HOMETEXMF.

TEXMFHOME = ~/texmf

% TEXMFVAR, where texconfig stores variable runtime data.

% With teTeX-3.0 or later, this must be set.

% For sharing this tree with $TEXMFMAIN:

%   TEXMFVAR = $TEXMFMAIN

% For using a separate tree:

%   TEXMFVAR = ~/.texmf-var  # teTeX 3.0 default

TEXMFVAR = ~/.texlive2009/texmf-var

% TEXMFCONFIG, where texconfig stores configuration data.

% With teTeX-3.0 or later, this must be set.

% For sharing this tree with $TEXMFMAIN:

%   TEXMFCONFIG = $TEXMFMAIN

% For using a separate tree:

%   TEXMFCONFIG = ~/.texmf-config  # teTeX 3.0 default

% For using a separate tree:

%   TEXMFCONFIG = $SELFAUTOPARENT/texmf-config

TEXMFCONFIG = ~/.texlive2009/texmf-config

% Now, list all the texmf trees. If you have multiple trees you can

% use shell brace notation, like this:

%   TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}

% The braces are necessary.

%

% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named

% explicitly and before all other trees.

% 

% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the only

% files in TEXMFMAIN are tightly coupled with the particular version of

% the distribution, such as format files.  Overriding them would be more

% likely to cause trouble than help.  On the other hand, all the

% standard packages and fonts are in TEXMFDIST, and locally-installed

% versions should take precedence over those (although it is generally a

% source of confusion to have different versions of a package installed,

% whatever the trees, so try to avoid it).

TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFSITE,!!$TEXMFDIST}

% The system trees.  These are the trees that are shared by all the users.

% If a tree appears in this list, the mktex* scripts will use

% VARTEXFONTS for generated files, if the original tree isn't writable;

% otherwise the current working directory is used.

SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFSITE;$TEXMFDIST

% We use GLOBALVARTEXFONTS in order to always be able to search in the global

% font cache even if VARTEXFONTS is overridden.

GLOBALVARTEXFONTS = $SELFAUTOPARENT/var/cache/fonts

% Where generated fonts may be written.  This tree is used when the sources

% were found in a system tree and either that tree wasn't writable, or the

% varfonts feature was enabled in MT_FEATURES in mktex.cnf.

VARTEXFONTS = $GLOBALVARTEXFONTS

% Where to look for ls-R files.  There need not be an ls-R in the

% directories in this path, but if there is one, Kpathsea will use it.

% By default, this is only the !! elements of TEXMF, so that mktexlsr

% does not create ls-R files in the non-!! elements -- because if an

% ls-R is present, it will be used, and the disk will not be searched.

% This is arguably a bug in kpathsea.

%

TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFSITE,!!$TEXMFDIST}

% On some systems, there will be a system tree which contains all the font

% files that may be created as well as the formats.  For example

%   TEXMFVAR = /var/lib/texmf

% is used in many distros.  In this case, set VARTEXFONTS like this

% VARTEXFONTS = $TEXMFVAR/fonts

% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).

%

% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below

% one of the TEXMF directories (avoids overlapping ls-R files).

```

EDIT : Pourquoi n'ai je pas les droits en lecture / ecriture :/

 *Quote:*   

> TEXMFDBS='!!$TEXMFHOME' texhash 
> 
> texhash: /home/mickael/texmf/ls-R: no write permission. Skipping...
> 
> texhash: Done.
> ...

 

----------

