Bug#748271: [latex-cjk-common] latex command did not work until I ran it once under superuser!?
severity 748271 normal
tags 748271 + moreinfo unreproducible
thanks
Hi,
first of all, you are doing tooo many wrong, completely wrong, things:
> env TEXINPUTS="./:EXINPUTS" latex sigproc-sp-copy.tex
Wrong wrong wrong wrong.
Setting TEXINPUTS overrides *all* default settings. That mean, you
tell TeX to *ONLY* search in
./
EXINPUTS
???
Of course you get:
> This produced "LaTeX Error: File `epsfig.sty' not found".
No surprisingly, why should there be an epsfig.sty there.
> : #env TEXINPUTS="./:EXINPUTS" latex sigproc-sp-copy.tex
> env TEXINPUTS="./:EXINPUTS" latex sigproc-sp-copy.tex
Furthermore, since this is a *make* file, you probably have in your
makefile
env TEXINPUTS=./:$TEXINPUTS latex ...
which is wrong, since make expands $T to nothing, which leaves
you with
./:EXINPUTS
which is rubbish....
> インストール・削除・更新されるパッケージがありません。
それをわかりますよ。関係ない。
> : #env TEXINPUTS="./:EXINPUTS" latex sigproc-sp-copy.tex
> env TEXMF=".:EXMF:/usr/share/texlive/texmf-dist/tex/latex/"
Same error here:
TEXMF=".:$TEXMF" ...
in Makefile, $T expanded to nothing
You sould *NOT* need to chagne $TEXMF (or in Makefile you are supposed
to write $$TEXMF, btw)
> tcfmgr: config file `tcfmgr.map' (usually in $TEXMFMAIN/texconfig) not
Of course, because you redefined $TEXMF to a rubbish value, that
cannot work ...
> <==== Note the next line. Somehow epsfig.sty suddenly was found and
You probably have other environment variables set that breaks
everything.
Can you send the output of
tlmgr conf
===============================
Fixing your problem:
You have to *correctly* redefine TEXINPUTS. But you have to say what
you want to achieve.
*** IMPORTANT *****
Never forget a *TRAILING*COLON* in TEXINPUTS.
*******************
What you can do:
TEXINPUTS=./:/home/foobar/bla//:
Note:
* trailing : searches for the *default* setting in texmf.cnf, too
*NEVER* remove that
* ./ is *anyway searched, no need.
* If you want to search *arbitrary* below ., then you have to use double /:
.//
(but be warned, that can be expensive. Think about doing this in
the root of your installation, in this case *ALL* of your harddisk will
be searched!!!)
Then, FIX YOUR MAKEFILE
========================
If you *REALLY* need to change TEXINPUTS (which I *strongly* doubt!)
you need to do the following:
target:
env TEXINPUTS=/some/dir/: latex ....
and if you need to expand a *shell* variable, you need to use $$FOO
============================
End of the line:
* learn to write Makefiles
* don't play around with settings, it works as is
* send me your tlmgr conf
Finally, concerning your *suggestion*
> In any case, after this experience, I think the installers of
> TeX-related packages ought to run a simple test sample file
> to run a simple input file
> (sample-test.tex) through the TeX processor and see if it
> produces a dvi file that mathes to an expected
> sampl-test-expected.dvi supplied in the package
Thanks, I make a lot of tests before uploading packages.
The problem is that *you* messed up your environment. That is nothing
a package maintainer can prohibit. There are valid use cases for
setting TEXINPUT and TEXMF, but in your case *all* of them were *invalid*.
Norbert
------------------------------------------------------------------------
PREINING, Norbert http://www.preining.info
JAIST, Japan TeX Live & Debian Developer
GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------
Reply to: