<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Good night.<br>
    <br>
    We all know the difficulties associated with the installation of
    packages and dependencies associated with the project, and often
    forget some important or simply ended up filling our computer with
    additional packages that can become corrupt other programs installed
    or conflict with another installed packages.<br>
    <br>
    To solve this problem I developed a docker image where I installed
    all the necessary packages to compile all the jderobot source code
    running a parallel shell in (dockerized over) your own home
    directory.<br>
    <br>
    I'm glad to announce and invite you all to my github project. All
    help and reviews are welcome!!<br>
    <br>
    <h3>With this docker image you can:</h3>
    <ul>
      <li>Fast docker image build process compared with virtual machine
        installation: 22 minutes.</li>
      <li>Every shell runs in a separate, clean and ephemeral container.</li>
      <li>When users logout from a shell all modifications outside home
        directory are reverted, docker image always remains clean.<br>
      </li>
      <li>Compile whole jderobot project (see below).</li>
      <li>Run gazebo worlds hardware accelerated:</li>
      <ul>
        <li>Integrated Intel graphic card: tested and running<br>
        </li>
        <ul>
          <li>00:02.0 VGA compatible controller: Intel Corporation 2nd
            Generation Core Processor Family Integrated Graphics
            Controller (rev 09)<br>
          </li>
        </ul>
        <li> Nvidia cards installing same drivers inside docker image
          that the physical host: experimental (using bumblebee/optirun
          if needed)</li>
        <ul>
          <li>01:00.0 VGA compatible controller: NVIDIA Corporation
            GF108M [GeForce GT 630M] (rev ff)<br>
          </li>
        </ul>
        <li>Help needed: ATI cards.</li>
      </ul>
      <li>Run components inside dockerized shell:</li>
      <ul>
        <li>cameraserver: tested and running<br>
        </li>
        <li>cameraview: tested and running<br>
        </li>
      </ul>
    </ul>
    <br>
    TODO: Do it compatible with docker-machine to allow fast deployment
    in MacOS and Windows SO's. Push the image to docker hub to quicker
    download and installation.<br>
    <br>
    <h3>Building docker image:</h3>
    <a class="moz-txt-link-abbreviated" href="mailto:redstar@nvidiastar:~/Documentos/github/docker-jderobot-5.3$">redstar@nvidiastar:~/Documentos/github/docker-jderobot-5.3$</a> time
    ./build.sh <br>
    Building 'jderobot-5.3' image<br>
    Sending build context to Docker daemon   105 kB<br>
    Step 1 : FROM ubuntu:14.04<br>
     ---&gt; c88b54fedc4f<br>
    Step 2 : MAINTAINER github/ojgarciab<br>
    [...]<br>
    Removing intermediate container 6130d8b455c3<br>
    Successfully built 9b2087c3355c<br>
    Done!<br>
    List available images with 'docker images'<br>
    <br>
    real    22m34.306s<br>
    user    0m0.371s<br>
    sys    0m0.282s<br>
    <br>
    <h3>Image size:</h3>
    <a class="moz-txt-link-abbreviated" href="mailto:redstar@nvidiastar:~/Documentos/github/docker-jderobot-5.3$">redstar@nvidiastar:~/Documentos/github/docker-jderobot-5.3$</a> docker
    images<br>
    REPOSITORY          TAG                 IMAGE ID           
    CREATED             VIRTUAL SIZE<br>
    jderobot-5.3        latest              9b2087c3355c        5
    minutes ago       2.404 GB<br>
    ubuntu              14.04               c88b54fedc4f        5 days
    ago          188 MB<br>
    <br>
    <h3>Running cmake:</h3>
    redstar@b3efe26acd44:~/Documentos/github/JdeRobot$ time cmake .<br>
    [...]<br>
    dpkg-deb: building package `jderobot-deps-dev' in
    `.dpkg_pkgs/jderobot-deps-dev_5.3.2_all.deb'.<br>
    dpkg-deb: building package `jderobot-deps' in
    `.dpkg_pkgs/jderobot-deps_5.3.2_all.deb'.<br>
    -- Configuring done<br>
    -- Generating done<br>
    -- Build files have been written to:
    /home/redstar/Documentos/github/JdeRobot<br>
    <br>
    real    0m9.575s<br>
    user    0m6.498s<br>
    sys    0m3.059s<br>
    <br>
    <h3>Compiling jderobot:</h3>
    redstar@b3efe26acd44:~/Documentos/github/JdeRobot$ time make -j5<br>
    Scanning dependencies of target resourcelocator<br>
    Scanning dependencies of target JderobotInterfaces_Definitions<br>
    Scanning dependencies of target JderobotInterfaces<br>
    Scanning dependencies of target jderobotViewerShare<br>
    Scanning dependencies of target jderobotViewer<br>
    [  1%] [  1%] Building CXX object
src/stable/libs/resourcelocator/CMakeFiles/resourcelocator.dir/src/resourcelocator.cpp.o<br>
    Building C object
src/stable/interfaces/CMakeFiles/JderobotInterfaces_Definitions.dir/dummy.c.o<br>
    Linking C static library libJderobotInterfaces_Definitions.a<br>
    [  1%] Built target JderobotInterfaces_Definitions<br>
    Scanning dependencies of target demo<br>
    [  1%] Building CXX object
src/stable/libs/easyiceconfig_cpp/CMakeFiles/demo.dir/src/demo/demo.cpp.o<br>
    [  1%] Building CXX object
src/stable/libs/jderobotViewer/CMakeFiles/jderobotViewer.dir/JderobotViewer.cpp.o<br>
    [  1%] Building CXX object
src/stable/libs/jderobotViewer/CMakeFiles/jderobotViewerShare.dir/JderobotViewer.cpp.o<br>
    [...]<br>
    Linking CXX executable ardrone_server<br>
    [100%] Built target ardrone_server<br>
    <br>
    real    11m55.618s<br>
    user    38m8.036s<br>
    sys    4m55.224s<br>
    <br>
    Enjoy it!<br>
    <a href="https://github.com/ojgarciab/docker-jderobot-5.3">https://github.com/ojgarciab/docker-jderobot-5.3</a><br>
  </body>
</html>