<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>
---> 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>