overleaf / overleaf/toolkit

documentclass not found

Open
#312 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
1.3k
Forks
310
Avg merge
3d 12h
Merged PRs (30d)
1

Description

Steps to Recreate
  1. `$ cd /srv/
  2. $ sudo git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
  3. cd ./overleaf-toolkit && ./bin/init
  4. ./bin/up
Behavior

Installed documentclass packages are not accessible from the service.
e.g. \documentclass{moderncv} returns LaTeX Error: File moderncv.cls' not found.`

After running tlmgr install moderncv and insuring it's installed with tlmgr list --only-installed it still won't recognize it's installed.
I've tried all the default compilers, pdfLaTeX, LaTeX, XeLaTeX, and LuaLaTeX.

This persists with other \docuemntclasss. No documentclass from CTAN works.

/bin/doctor

Host System: Arch Linux

====== Overleaf Doctor ======
- Host Information
    - Linux
    - lsb_release not found !
- Dependencies
    - bash
        - status: present
        - version info: 5.2.37(1)-release
    - docker
        - status: present
        - version info: Docker version 27.3.1, build ce1223035a
    - realpath
        - status: present
        - version info: realpath (GNU coreutils) 9.5
    - perl
        - status: present
        - version info: 5.040000
    - awk
        - status: present
        - version info: GNU Awk 5.3.1, API 4.0, PMA Avon 8-g1, (GNU MPFR 4.2.1, GNU MP 6.3.0)
    - openssl
        - status: present
        - version info: OpenSSL 3.4.0 22 Oct 2024 (Library: OpenSSL 3.4.0 22 Oct 2024)
    - docker compose
        - status: present
        - version info: Docker Compose version 2.30.3
- Docker Daemon
    - status: up
    - server version: 27.3.1
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
====== Configuration ======
- config/version
    - status: present
    - version: 5.2.1
- config/overleaf.rc
    - status: present
    - values
        - OVERLEAF_DATA_PATH: data/overleaf
        - OVERLEAF_LOG_PATH: not set, keeping logs in container
        - SERVER_PRO: false
        - SIBLING_CONTAINERS_ENABLED: false
        - OVERLEAF_LISTEN_IP: REDACTED
        - OVERLEAF_PORT: 1111
        - MONGO_ENABLED: true
        - MONGO_IMAGE: mongo
        - MONGO_VERSION: 6.0
        - MONGO_DATA_PATH: data/mongo
        - REDIS_ENABLED: true
        - REDIS_IMAGE: redis:6.2
        - REDIS_AOF_PERSISTENCE: true
        - REDIS_DATA_PATH: data/redis
        - NGINX_ENABLED: false
        - NGINX_CONFIG_PATH: config/nginx/nginx.conf
        - TLS_PRIVATE_KEY_PATH: config/nginx/certs/overleaf_key.pem
        - TLS_CERTIFICATE_PATH: config/nginx/certs/overleaf_certificate.pem
        - NGINX_HTTP_LISTEN_IP: 127.0.1.1
        - NGINX_HTTP_PORT: 80
        - NGINX_TLS_LISTEN_IP: 127.0.1.1
        - TLS_PORT: 443
        - GIT_BRIDGE_ENABLED: false
- config/variables.env
    - status: present
    - values
        - SHARELATEX_FILESTORE_BACKEND: fs
        - SHARELATEX_HISTORY_BACKEND: fs
        - OVERLEAF_FILESTORE_BACKEND: fs
        - OVERLEAF_HISTORY_BACKEND: fs
====== Warnings ======
! Detected SIBLING_CONTAINERS_ENABLED=false. When not using Sibling containers, users have full read and write access to the 'sharelatex' container resources (filesystem, network, environment variables) when running LaTeX compiles. Only use this mode in environments where all users are trusted and no isolation of users is required.
====== End ======

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure from the reported toolkit checkout using ./bin/init and ./bin/up, then inspect how the running service handles the tlmgr-installed moderncv package. Check the reported compiler variants and the configuration shown by /bin/doctor. Done means an installed CTAN documentclass is accessible to the service and the example compiles without a missing-file error.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, latex, shell
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.