omnia-md / omnia-linux-anvil

Experimental version of conda-forge/linux-anvil to build openmm
0 stars 3 forks source link

Create a base Conda-Forge Texlive derivative image #10

Closed Lnaden closed 5 years ago

Lnaden commented 5 years ago

This is part of a multi-stage set of new docker images I am proposing, allowing us to switch back to a conda-forge base if we can get omnia-md/conda-dev-recipes#154 in. This is the base I propose.

From here I will add a new image which pulls from this one but also adds all the minimal set of CUDA versions in parallel. From my local testing, the master CUDA image will be slightly smaller than the omnia-linux-anvil:texlive18-cuda100 image. But we can discuss more in its own PR if this one gets merged in.

I have gone with the tag name "cf-...." to indicate its a conda-forge derivative rather than one built from scratch.

jchodera commented 5 years ago

Let's call it condaforge-texlive18 since nobody will ever remember what cf means.

jchodera commented 5 years ago

From here I will add a new image which pulls from this one but also adds all the minimal set of CUDA versions in parallel. From my local testing, the master CUDA image will be slightly smaller than the omnia-linux-anvil:texlive18-cuda100 image. But we can discuss more in its own PR if this one gets merged in.

This sounds great! Please go ahead once we make the naming change!

jchodera commented 5 years ago

Could you make sure to add latexmk to the texlive distribution? It appears to be required by sphinx now.

jchodera commented 5 years ago

Actually, this seems to be installable via conda-forge.

jchodera commented 5 years ago

Looks like we need to instal varwidth (and possibly some other packages used by the latest sphinx to the tlmgr install command.

It looks like the sphinx LatexBuilder actually lists its recommended dependencies as:

but those are neither CTAN packages installable directly by tlmgr or options in the texlive.profile.

Too bad nobody has made a "minimal sphinx LatexBuilder dependencies" conda package...

jchodera commented 5 years ago

Actually, it looks like the conda-forge texlive-core package almost has everything we need! Did you try this out at one point, @Lnaden? I wonder if we could just come up with a separate texlive-sphinx-latexbuilder conda-forge recipe based on this that would do the trick by just adding a few more packages via tlmgr, and then we can abolish the need to install texlive in the distribution altogether.

In fact, with the anaconda cudatoolkit packages (assuming we can help add the latest recipes), we may not need these images at all anymore and could go straight to conda-forge. They're still looking for help here.

Lnaden commented 5 years ago

I did try the texlive-core package at one point, it "installed" then just threw a bunch of errors when I tried to use it related to path and library, so I'm not sure how "good" of a package it is. The conda forge folks have also said in the past they have 0 interest in managing TeX packages due to the existing CTAN system, and any TeX you provide would have to be your own solution.

I can try it again if I get time to come back to this problem, but for now I'll proceed with this

jchodera commented 5 years ago

@Lnaden : If we don't go with the texlive-core package, aren't we going to be in the position of having to rebuild the docker containers every time the sphinx PDF latex builder or openmm add more dependencies for CTAN packages? Is there a way we can get tlmgr to work inside the docker container? I don't think our omnia-linux-anvil lets you install anything via tlmgr right now.

jchodera commented 5 years ago

The conda forge folks have also said in the past they have 0 interest in managing TeX packages due to the existing CTAN system, and any TeX you provide would have to be your own solution.

It would be amazing if we could allow the CTAN system to have tlmgr install into the conda-installed tex root.

Lnaden commented 5 years ago

Superseded by #11