[SOLVED] texlive2013 in Slackware64-14.0 can only build documents as root, .sty not found
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
texlive2013 in Slackware64-14.0 can only build documents as root, .sty not found
I downloaded the install DVD for texlive 2013, and installed it using their instructions.
There was a comment that they recommended installing it as a non-root user, but when I tried it complained that I didn't have permissions to write to /usr/local. I didn't want to modify the default, so I went ahead and installed it as root.
I wanted to test if it worked by building some documents from .tex files I had made a few months back. When I try to build them as myself, I get errors about .sty files missing, although I've verified that they're already installed. If I give the path to them, I'm met with more weird errors.
If I run pdflatex as root on the same document, it builds immediately with no errors. I thought it might be related to the permissions from earlier, so I ran chown recursively on the entire folder, but that had no effect on the problem, so I set it back to root:root.
And now...I'm not exactly sure how to fix it? The only searches I could find on it said to run mktexlsr, but this also had no effect. I'm still thinking it's related to something about installing as root, but I could be looking in the totally wrong direction.
I actually tried to build the slackbuild first, but it kept running out of space and failing, so I thought the DVD might be a better choice since it's such a big install.
Robby Workman has a pre-built package for TeX Live (and its dependency libsigsegv) at his repository, which is the best way to install it on Slackware in my opinion. It is the 2012 version though, so you're out of luck if you really need 2013.
Thanks for posting that, as far as I'm aware I don't really need 2013, honestly not even sure about the differences between them. If it will build my .tex documents I'm good to go.
I'll have to figure out how to uninstall the one I have first though...once I figure that out I'll report back.
I'm using texlive2013 installed from the DVD with no issues in SW64-14 multilib. I've installed it as root as it goes into /usr/local/texlive/2013/. The only thing to do afterwards is, as a normal user, to update the PATH in .bashrc or .profile (export PATH=$PATH:/usr/local/texlive/2013/bin/x86_64-linux/). Apparently, you (user) may have some conflicting PATH variable, and root has not. Try to check the files above... or those residing at /etc/profile.d/
I was just about to try the package in the repo that T3Slider mentioned, when I saw sairum's post about the PATH, so I decided to give it a try first.
As a side note, I found it was actually quite easy to uninstall texlive by running the command tlmgr uninstall, and then rm -r /usr/local/texlive, in case anyone finds it useful.
So I reinstalled it, and went to find the files sairum mentioned. I discovered that neither ~/.bashrc or ~/.profile existed on my system, the only one I had was ~/.bashrc_profile. This is my first time working with these files so I had to go read up on them a little bit, and I found another one called /etc/profile that did exist.
There was a line there for setting the default system $PATH, so I added /usr/local/texlive/2013/bin/x86_64-linux/ to the end of that line, and after logging out and back in, I tried to build a document again and it worked with no errors! I would be interested to know if this is considered a good practice or not, and if I would be better off creating one of the other files mentioned instead?
I found this surprising, because I had originally investigated a PATH issue before I opened this thread, and I saw that this location was not in root's PATH either, leading me to think the problem must lie elsewhere.
Even though I ended up not using it, the link to the repo with the pre-built package for texlive2012 is great to know about, and may very well come in handy in the future.
There was a line there for setting the default system $PATH, so I added /usr/local/texlive/2013/bin/x86_64-linux/ to the end of that line, and after logging out and back in, I tried to build a document again and it worked with no errors! I would be interested to know if this is considered a good practice or not, and if I would be better off creating one of the other files mentioned instead?
A more elegant way adding to PATH is by making
a your_script.sh in /etc/profile.d as all those scripts get sourced from /etc/profile.
Just read a few of the existing scripts, and you know what to do.
Changes you make to /etc/profile may get lost in an update.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.