[texhax] ! LaTeX error: File 'rcs.sty' not found.

Vladimir Lomov lomov.vl at gmail.com
Sun Mar 14 05:09:09 CET 2010

2010/3/14 John H Harris <jhharris at unencumbereddesign.com>:
> Hello Vladimir and HH,
> Vladimir wrote:
>    What does command
>    C:> kpsewhich rcs.sty
>    output?
> No output.
>    If there is no output then run
>    C:>mktexlsr
>    as administrator...
> I get "Cannot open rcs.sty/ls-R to write." It does not give the full
> path, so I do not know how to fix it. There is no directory named
> rcs.sty/ under c:/TeXLive.
This "Cannot open rcs.sty/ls-R to write" is strange. You should open
command line (cmd) as administrator and run in it
C:\> mktexlsr
Here 'C:' is path, i.e. you should run with command from top level of C drive.
>    and try again
>    C:>kpswhich rcs.sty
> Again, no output from kpswhich.
>    You should get
>    c:/texlive/2009/texmf-dist/tex/latex/rcs/rcs.sty
> HH wrote:
>    Did you run "texhash" in a terminal?
> I tried that next. No output from kpswhich.
texhash and mktexlsr do the same job.
> I ran mktexlsr --help and learned that there should be an environment
> variable, TEXMFDBS, that was missing. It has the paths of the database
> files. I found several ls-R files scattered around. Looking in one I
> learned it is a "database" file, listing the directory tree in a simple
> format. I set TEXMFDBS to a list of the directories containing the ls-R
> files.
> Looking in c:/texlive/2009/texmf-dist/tex/latex/ls-R I see that
> ./tex/latex/rcs/ is missing. If I delete the ls-R file and run mktexlsr
> again, it rebuilds it, exactly the same way. Yet I can browse to
> c:/texlive/2009/texmf-dist/tex/latex/rcs/rcs.sty and look at it with an
> editor, plain as day. Could this directory be excluded from ls-R
> because the package is not "installed," in some sense? I could just edit
> the ls-R file by hand, but I fear that the system would break again in
> the future.
> I have learned a lot, and have achieved a deeper level of stumpedness.
Hm, something completely is wrong with you installation. For example,
the 'ls-R' files should be only in top level of TEXMF trees, like
but not in

Who did the TeX Live installation?

Sorry, I don't have access now on Windows machine to check variables
but you could check TeX Live variables of your installation:
C:\> kpsewhich -var-value=TEXMF
C:\> kpsewhich -var-value=TEXMFDIST
C:\> kpsewhich -var-value=TEXMFMAIN
C:\> kpsewhich -var-value=TEXMFLOCAL
C:\> kpsewhich -var-value=TEXMFSYSVAR
C:\> kpsewhich -var-value=TEXMFSYSCONFIG
C:\> kpsewhich -var-value=TEXMFHOME
C:\> kpsewhich -var-value=TEXMFVAR
C:\> kpsewhich -var-value=TEXMFDBS

On my system (Linux but this is not essential for now):

=> {/home/lomov/.texlive2009/texmf-config,/home/lomov/.texlive2009/texmf-var,/home/lomov/texmf,!!/usr/local/opt/texlive/texmf-config,!!/usr/local/opt/texlive/texmf-var,!!/usr/local/opt/texlive/texmf,!!/usr/local/opt/texlive/texmf-local,!!/usr/local/opt/texlive/texmf-dist}
=> /usr/local/opt/texlive/texmf-dist
=> /usr/local/opt/texlive/texmf
=> /usr/local/opt/texlive/texmf-local
=> /usr/local/opt/texlive/texmf-var
=> /usr/local/opt/texlive/texmf-config
=> /home/lomov/texmf
=> /home/lomov/.texlive2009/texmf-var
=> {!!/usr/local/opt/texlive/texmf-config,!!/usr/local/opt/texlive/texmf-var,!!/usr/local/opt/texlive/texmf,!!/usr/local/opt/texlive/texmf-local,!!/usr/local/opt/texlive/texmf-dist}

C:\> kpsewhich rcs.sty
=> /usr/local/opt/texlive/texmf-dist/tex/latex/rcs/rcs.sty

You should get something similar:
TEXMFDIST => C:\texlive\2009\texmf-dist
TEXMFMAIN => C:\texlive\2009\texmf
TEXMFLOCAL => C:\texlive\2009\texmf-local (here I not sure)
TEXMFHOME => %USERPROFILE%\texmf (here %USERPROFILE% looks like
C:\Documents and Settings\USER\)
TEXMFVAR => %USERPROFILE%\.texlive2009\texmf-var

You could see how these variables are defined in file
C:\texlive\2009\texmf\web2c\texmf.cnf (i.e. in TEXMFMAIN\web2c\texmf.cnf)

WBR, Vladimir Lomov

More information about the texhax mailing list