<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 15, 2018, 3:05 PM Sebastián Mancilla <<a href="mailto:smancill@jlab.org">smancill@jlab.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">My 5c: Docker is just too annoying to work with if you are targeting users to run your packages.<div><div><br></div><div>From the point of view of the final user of your "binary distribution" (some Docker image):</div><div><br></div><div>- You have to figure out / copy paste the proper docker command line to run the container (mount volumes, open ports, set environment, etc)</div><div>- It runs on a virtual machine if you are not in Linux</div><div>- How to run some graphical application?</div><div>- In Linux if you need to write some output files in the mounted volumen, they will have the wrong permissions, unless the image provides a fix for it.</div></div><div>- What if you need some extra package? Now you have to create your own image based on the distributed image.</div><div>- You are limited to the package versions available in the Linux distribution in which the image is based</div><div><br></div><div>Now consider conda:</div><div><br></div><div>conda create -n myenv meta-package</div><div>conda activate myenv</div><div># run all binaries natively, they are already on PATH, access your file system, install extra packages, have all your command line tools and IDEs at hand.</div><div><br></div><div>From the point of view of doing development with Docker, my biggest gripe is how to edit the code while running it in the container. Say I have Vim in the host (or an IDE).</div><div>When editing the sources in the host, all dependencies and compilers are in the container, so I lose linting and compilation errors and autocompletion. I would also need to install again all my development tools in the container (say tmux, ag, jq, fzf etc).</div><div><br></div><div>Trying to do development while inside a Conda environment is something I think it should work, and I don't think conda-build is necessary until I am ready to create a package.</div><div>Unfortunately I hit the issue of this thread.</div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I already explained how to workaround the issues you saw. The compilers do work in most normal situations, i use them extensively, even for linking to rust software (macOS and Linux), the only caveat being that you should instead so conda cdt packages on Linux for system library dependencies and on macOS you need to get an old SDK.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>I have had no issues creating packages with conda-build and CMake so far, and I've packaged a few, including some Qt applications.</div></div><br><div class="gmail_quote"><div dir="ltr">El mié., 15 de ago. de 2018 a la(s) 05:29, Eric Noulard (<a href="mailto:eric.noulard@gmail.com" target="_blank" rel="noreferrer">eric.noulard@gmail.com</a>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">Le mar. 14 août 2018 à 20:38, Sebastián Mancilla <<a href="mailto:smancill@jlab.org" target="_blank" rel="noreferrer">smancill@jlab.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I wanted to try Conda for normal day-to-day C++ development, while having all the dependencies isolated from other projects and the base system.<div><br></div><div>- Change the sources</div><div>- Build</div><div>- Run the tests</div><div>- Repeat</div></div></blockquote><div><br></div><div>Hi Sebastian,</div><div><br></div><div>Just curious on why you would prefer conda over "real" container technology like docker or rkt for the kind of usage you describe ?</div><div>Do you ultimately want to distribute your software as conda packages?</div><div><br></div><div>I'm not proficient in conda but AFAIK docker (or rkt) offers easier/better isolation for the usage you describe.</div><div>The side-effect being that inside your container cmake should behave like as expected.<br></div><div>At least this is my own experience.</div><div><br></div><div>Some people even try to automatize the container creation out of conda packaged software:</div><div><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_BioContainers_mulled&d=DwMFaQ&c=lz9TcOasaINaaC3U7FbMev2lsutwpI4--09aP8Lu18s&r=8hmSv9ww5s9qu3iT8h5WMi8-YcKXaJvelxT3fMih7S4&m=JnhBTDKSV5WKFKq-JlZzEYG4bH3wOaTgi4q6IWG-UnQ&s=NRuZ8XLwEl8KxOeh-vu-2fNEO84SkWzS6ERdc2RhRak&e=" target="_blank" rel="noreferrer">https://github.com/BioContainers/mulled</a><br></div><div>I have no experience with that whatsoever, I usually craft my own dockerfile and work with that.<br></div><div><br></div><div>If your goal includes the distrubution of your software as conda package may be you can get in touch with people</div><div>at conda-forge: <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__conda-2Dforge.org_-23about&d=DwMFaQ&c=lz9TcOasaINaaC3U7FbMev2lsutwpI4--09aP8Lu18s&r=8hmSv9ww5s9qu3iT8h5WMi8-YcKXaJvelxT3fMih7S4&m=JnhBTDKSV5WKFKq-JlZzEYG4bH3wOaTgi4q6IWG-UnQ&s=bGnXxli7E1vFPnu5D4px_yHm-fP7ll1zBy7vQ5XgbLU&e=" target="_blank" rel="noreferrer">https://conda-forge.org/#about</a>, I bet they build a lot of cmake-based projects in there and may</div><div>have experienced same caveats with the conda compilers usage.</div><div><br></div><div><br></div></div>-- <br><div dir="ltr" class="m_-3087616403243544536m_-8945360894865717883gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Eric<br></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_-3087616403243544536gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="font-size:small;font-family:arial">Sebastian Mancilla Matta</div><div style="font-size:small;font-family:arial">CCTVal, UTFSM</div><div style="font-size:small;font-family:arial">Valparaíso, Chile</div></div></div>
</blockquote></div></div></div>