New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TeXLive package manager requires an upgrade! #90

Open
flowgunso opened this Issue Apr 30, 2018 · 12 comments

Comments

Projects
None yet
8 participants
@flowgunso

flowgunso commented Apr 30, 2018

Trying to use the TexLive package manager on sharelatex/sharelatex or sharelatex/sharelatex:latest with:
tlmgr update --self --all or tlmgr install scheme-full both results in the following message:

tlmgr: Remote repository is newer than local (2017 < 2018)
Cross release updates are only supported with
  update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.
@magic-lantern

This comment has been minimized.

magic-lantern commented May 1, 2018

Also seeing the same error. Not sure what the recommended next steps - please advise!

@magic-lantern

This comment has been minimized.

magic-lantern commented May 1, 2018

Just wanted to clarify - because tlmgr is outdated, it is not possible to install any packages.

@cemulate

This comment has been minimized.

cemulate commented May 9, 2018

I'm experiencing this issue too. I tried to rebuild the docker image with @magic-lantern's PR #91, but ran into problems in the build.

In the mean time, I was able to docker exec -it sharelatex bash and follow the TeX Live update instructions as a workaround for now.


Edit: This requires significant finagling with sv to get the sharelatex processes to use the new PATH in the environment.

@magic-lantern

This comment has been minimized.

magic-lantern commented May 9, 2018

@cemulate - Can you provide details about what error you get in the build process? Although I'm not on the core team for Sharelatex, I'd like to see if I can resolve that error and/or improve PR #91

@cemulate

This comment has been minimized.

cemulate commented May 9, 2018

@magic-lantern It's almost certainly me not knowing how to build sharelatex, or an existing problem. I cloned your master branch, went in, and typed make, successfully building sharelatex-base (that makes me think it has nothing to do with Tex Live).

Then I typed make build-community and it fails deep into step 16/22 with (don't mind the color code characters)

�[0m�[91mCloning into 'launchpad'...
�[0mLoading "Gruntfile.coffee" tasks...�[31mERROR�[39m
�[31m>> �[39mError: Cannot find module 'es6-promise'
�[33mWarning: Task "compile" not found.� Use --force to continue.�[39m
 
�[31mAborted due to warnings.�[39m
The command '/bin/sh -c cd /var/www/sharelatex;     npm install;    grunt install;  bash -c 'source ./bin/install-services';    cd web;     npm install;    npm install bcrypt;     cd modules;     git clone https://github.com/sharelatex/launchpad-web-module.git launchpad;     grunt compile;' returned a non-zero code: 3
Makefile:9: recipe for target 'build-community' failed
make: *** [build-community] Error 3

Pastebin output here if anyone wants to take a look.

Perhaps I don't know how to build sharelatex properly?

@magic-lantern

This comment has been minimized.

magic-lantern commented May 10, 2018

@cemulate So what I did on macOS Sierra (10.12.6) and Ubuntu 16.04.4 LTS to build the docker containers was to first delete any existing sharelatex docker images and then run these two commands from the Makefile:

docker build -f Dockerfile-base -t sharelatex/sharelatex-base .
docker build -f Dockerfile -t sharelatex/sharelatex .

When I ran those two steps (sequentially - first one has to finish before you start the second) there were quite a few warnings due to various outdated node/NPM dependencies, but everything worked in the end.

Your error appears to be due to problems with the NPM build steps; not related to TexLive as you said.

Perhaps the /var/www/sharelatex/web/npm-debug.log log file referenced may have more details on the cause of the error. Through a quick google search, problems similar to this have come up with other projects - not sure though if it is due to outdated Node/NPM dependencies, insufficient disk space, networking error, or the NPM CDN having a problem.

@beenje

This comment has been minimized.

beenje commented May 14, 2018

@cemulate, I think the issue is that the latest version of the sharelatex git repo is used in the docker image.
The build of the docker image should be reproducible. I just opened a PR to pin the version used: #94

@cemulate

This comment has been minimized.

cemulate commented May 14, 2018

@beenje that makes sense.

If anyone comes around to this issue, I've been using xuio/sharelatex-docker-image-full in the meantime, until this image can be updated to use the latest TeX Live.

@crockeea

This comment has been minimized.

crockeea commented May 24, 2018

I was able to install TexLive2017 using:

docker exec sharelatex tlmgr option repository ftp://tug.org/historic/systems/texlive/2017/tlnet-final
docker exec sharelatex tlmgr install scheme-full

@georgekamel

This comment has been minimized.

georgekamel commented May 28, 2018

Another option is to add the following PATH variable to the sharelatex part of the docker-compose.yml file before starting the containers:

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/texlive/2018/bin/x86_64-linux/

Then you can quite easily follow the TeX Live update instructions, disregarding steps 5 and 6.

@phillijw

This comment has been minimized.

phillijw commented Aug 27, 2018

@georgekamel One issue I had with those instructions was step 11:

root@e04b4e037152:/usr/local/texlive/2018# luaotfload-tool -fu
bash: luaotfload-tool: command not found

I just ended up skipping it. No idea if that will cause issues or not

@MadMud

This comment has been minimized.

MadMud commented Sep 20, 2018

Hi, I have pasted my workaround to this to the main repo sharelatex/sharelatex#601. Perhaps I should move it here? Anyway the to;Dr is: do not update reinstall texlife in a daughter image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment