0

So I'm doing my bimonthly install of jaxodraw (check it out!) on some machine or another, which requires the LateX style file axodraw4j.sty. I tried the thing I always do:

# kpsewhich -var-value TEXMFLOCAL
/usr/share/texmf-local
# cp /home/cduston/Downloads/axodraw4j.sty /usr/share/texmf-local/tex/latex/
# texhash
texhash: Updating /usr/share/texmf-config/ls-R... 
texhash: Updating /usr/share/texmf-dist/ls-R... 
texhash: Updating /usr/share/texmf-local/ls-R... 
texhash: Updating /usr/share/texmf-var/ls-R... 
texhash: Done.

And I think this matters too:

 more ls-R
% ls-R -- filename database for kpathsea; do not change this line.
./:
.:
ls-R
tex


./tex:
latex

./tex/latex:
axodraw4j.sty

But, no matter what I do, I cannot get users on my system to ever be able to use axodraw4j.sty unless I put it NOT in TEXMFLOCAL, but in HOME:

$ kpsewhich -var-value TEXMFHOME /home/cduston/texmf

But like, I don't want it there, and I can't figure out why I need to clutter up my home directory with that nonesense. TEXMFLOCAL is completely empty, why would texlive require permissions like that? I should be able to READ /usr/share/texmf-local fine right? Why can't my tex installation ever see style files in that directory?

EDIT: From comments:

$ ls /usr/share/texmf-local/tex/latex
axodraw4j.sty
$ kpsewhich axodraw4j.sty
/usr/share/texmf-local/tex/latex/axodraw4j.sty: Permission denied
/usr/share/texmf-local/tex/latex/axodraw4j.sty: Permission denied

More:

$ ls -la
-rw-r----- 1 root root 70021 Jul 29 14:09 axodraw4j.sty
texmf-local/tex/latex$ kpsewhich axodraw4j.sty
./axodraw4j.sty: Permission denied
./axodraw4j.sty: Permission denied
/usr/share/texmf-local/tex/latex/axodraw4j.sty: Permission denied
/usr/share/texmf-local/tex/latex/axodraw4j.sty: Permission denied
20
  • 2
    what happens if you run it as root sudo mktexlsr?
    – Celdor
    Jul 29, 2022 at 18:45
  • 2
    @DavidCarlisle I see. I don't know how to help with such a version of TeX. In future cases, how do you recognise the TeX distribution is installed from the OS repository? Thanks
    – Celdor
    Jul 29, 2022 at 19:16
  • 2
    @levitopher no we are using texlive as origially packaged by TUG which is the page Celdor referecenced, you are using a re-packaged version by one of the linux distribs but you have not said which one. Jul 29, 2022 at 20:00
  • 2
    @levitopher I copied the .sty file in there as root: -rw-r----- 1 root root 70021 Jul 29 14:09 axodraw4j.sty Well that is clearly the cause of your error, you have made the file only readable by root so no user can use it. So it is an error in that file copy, not a problem with the tex distribution, Jul 29, 2022 at 20:03
  • 2
    @Celdor vanilla texlive installs in /usr/local/texlive/2022 not /usr/share (it is possible to change that but that would be unlikely here) Jul 29, 2022 at 20:05

1 Answer 1

4

If copying a file to TEXMFLOCAL so available for all users, it needs to be readable by all users

root: -rw-r----- 1 root root 70021 Jul 29 14:09 axodraw4j.sty

is only readable by root so not readable by any user account.

1
  • Yes this is the right answer - I was just slightly surprised because I'm used to copying binaries into places like /usr/local as root, and then just running them since they are in my path. But whoever created the binaries probably expected that, and has set the owner to 1001 (or whatever trickery they used), and the creators (zippers?) of this style file did not do a similar thing. Anyway, linux thing in the end, not Tex thing....
    – levitopher
    Aug 2, 2022 at 16:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .