<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><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">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">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">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">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_-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="gmail_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>