From ros-users-bounces@code.ros.org  Thu Mar  3 12:16:38 2011
Return-Path: <ros-users-bounces@code.ros.org>
X-Original-To: www-data@code.ros.org
Delivered-To: www-data@code.ros.org
Received: from pub5.willowgarage.com (localhost [127.0.0.1])
	by pub5.willowgarage.com (Postfix) with ESMTP id 7D9B82EC687;
	Thu,  3 Mar 2011 12:16:38 -0800 (PST)
X-Original-To: ros-users@code.ros.org
Delivered-To: ros-users@code.ros.org
Received: from mail-qy0-f181.google.com (mail-qy0-f181.google.com
	[209.85.216.181])
	by pub5.willowgarage.com (Postfix) with ESMTPS id F11C825C0EB
	for <ros-users@code.ros.org>; Thu,  3 Mar 2011 12:16:36 -0800 (PST)
Received: by qyg14 with SMTP id 14so1400240qyg.5
	for <ros-users@code.ros.org>; Thu, 03 Mar 2011 12:16:35 -0800 (PST)
MIME-Version: 1.0
Received: by 10.224.213.200 with SMTP id gx8mr1601459qab.114.1299183395678;
	Thu, 03 Mar 2011 12:16:35 -0800 (PST)
Received: by 10.229.29.144 with HTTP; Thu, 3 Mar 2011 12:16:35 -0800 (PST)
In-Reply-To: <201102241746.24419.peter@thesourceworks.com>
References: <AANLkTimhwaTZ1bs1+_XUihdpY+iGU=K=_MQObjTLN+DK@mail.gmail.com>
	<20110223080059.11F75F3862@smtps02.kuleuven.be>
	<AANLkTinFNK=DE4HX8fYkHeq-7fJui7WfzthLjCGcxgJy@mail.gmail.com>
	<201102241746.24419.peter@thesourceworks.com>
Date: Thu, 3 Mar 2011 21:16:35 +0100
Message-ID: <AANLkTiksYB8z31VtWcJBGmFTE_4n1MznfbAug932OsT7@mail.gmail.com>
From: Willy Lambert <lambert.willy@gmail.com>
To: Peter Soetens <peter@thesourceworks.com>
Cc: orocos-users@lists.mech.kuleuven.be,
 "ros-users@code.ros.org" <ros-users@code.ros.org>
Subject: Re: [ros-users] [Orocos-users]  orocos_toolchain_ros for debian
X-BeenThere: ros-users@code.ros.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: User discussions <ros-users@code.ros.org>
List-Id: User discussions <ros-users.code.ros.org>
List-Unsubscribe: <https://code.ros.org/mailman/listinfo/ros-users>,
	<mailto:ros-users-request@code.ros.org?subject=unsubscribe>
List-Archive: </lurker/list/ros-users.html>
List-Post: <mailto:ros-users@code.ros.org>
List-Help: <mailto:ros-users-request@code.ros.org?subject=help>
List-Subscribe: <https://code.ros.org/mailman/listinfo/ros-users>,
	<mailto:ros-users-request@code.ros.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9050184837888315947=="
Mime-version: 1.0
Sender: ros-users-bounces@code.ros.org
Errors-To: ros-users-bounces@code.ros.org

--===============9050184837888315947==
Content-Type: multipart/alternative; boundary=20cf30050d98cc2944049d99b47a

--20cf30050d98cc2944049d99b47a
Content-Type: text/plain; charset=ISO-8859-1

2011/2/24 Peter Soetens <peter@thesourceworks.com>

> On Wednesday 23 February 2011 14:18:34 Willy Lambert wrote:
> > 2011/2/23 Ruben Smits <ruben.smits@mech.kuleuven.be>
> >
> > > On Tuesday 22 February 2011 23:55:26 Willy Lambert wrote:
> > > > 2011/2/22 Peter Soetens
> > > > <peter@thesourceworks.com<mailto:peter@thesourceworks.com>>
> > > >
> > > > On Monday 21 February 2011 00:32:05 Willy Lambert wrote:
> > > > > 2011/2/8 Willy Lambert
> > > > > <lambert.willy@gmail.com<mailto:lambert.willy@gmail.com>>
> > > > >
> > > > > >>> The standard way to run executables in ROS packages is with
> > > > > >>> rosrun,
> > > > > >>> e.g;
> > > > > >>>
> > > > > >>> rosrun ocl deployer-gnulinux
> > > > > >>
> > > > > >> Oh yes ! I still don't have the ROS reflexes :)
> > > > > >
> > > > > > it answers :
> > > > > > ard@ard-host-v5:/media/DD_data/home/ard$ rosrun ocl
> > > > > > deployer-gnulinux
> > > > > > [rosrun] You have chosen a non-unique executable, please pick one
> > > > > > of the following:
> > > > > > 1) /home/ard/ros/orocos_toolchain_ros/ocl/bin/deployer-gnulinux
> > > > > > 2)
> > > > > >
> /home/ard/ros/orocos_toolchain_ros/ocl/install/bin/deployer-gnulinu
> > > > > > x
> > > > > > #?
> > > > > >
> > > > > >  I know there are egal because one is the "make installed"
> version
> > > > > >  of the
> > > > > >
> > > > > > other, by I find it is strange and prevent from starting it
> > > > > > automatically after boot (of course I have solutions to avoid
> this,
> > > > > > but the rosway should work no ?)
> > > > > >
> > > > > > I makes me thinking about folder size and orocos_toolchain_ros is
> > > > > > 1,7Gb
> > > > > > on my computer x-(  I know there is some hard work on code size
> > > > > > reduction on the Orocos side but nearly 2gb is quite huge.
> > > > > >
> > > > > > Does it exist a "rosmake clean" instruction ?
> > > > >
> > > > > Let me up this subject,
> > > > > after having built the orocos_toolchain_ros it seems it's a bit
> messy
> > > > > with build and installed files. Firstly, rosrun find 2 executables
> > > > > for deployer-gnulinux and can't choose.
> > > >
> > > > We're still looking on how to solve this. The problem is that we
> > > > require
> > >
> > > a
> > >
> > > > 'make install' in ocl because the headers are included using
> > > > 'ocl/Header.hpp' by user code, while they are in the sources in
> > > > 'subproject/Header.hpp'. We discussed moving all headers to the ocl/
> > > > directory, but this somewhat beats the purpose of the modularisation
> we
> > > > did. An alternative would be to create symlinks from ocl/Header.hpp
> to
> > > > subproject/Header.hpp in ROS_ROOT
> > > > environments. This might be the least intrusive step for now.
> > > >
> > > > Ok, but here it's about a binary
> > > >
> > > > > Secondly after having used "make clean"
> > > > > in all the packages of orocos_toolchain_ros stack, it reduced from
> > > > > nearly
> > > > > 2gb to 350Mb with is by far more acceptable. Is it any "ros" tool
> to
> > > > > do this ? Would it be possible to add a global "make clean" at the
> > > > > root of orocos_toolchain_ros ?
> > > >
> > > > Did you compile with MinSizeRel ?
> > > >
> > > > I used the default configuration and didn't thougth about this.
> > > > How may I change this with rosmake ?
> > >
> > > There are different things you can use: I suggest you just edit the
> > > orocos- rtt.default.cmake file.
> >
> > Does I only have to change the rtt config ? What about ocl ?
> > rtt_ros_integration ?
>
> Changing orocos-rtt.default.cmake is not recommended, since the file itself
> says that you must copy it to orocos-rtt.cmake and edit that file. It will
> only
> influence the RTT itself.
>
> For setting it for all other packages (including OCL), create a
> rosconfig.cmake
> file in the ROS_ROOT directory, and set the build type there, see the
> documentation here:
>
>
> https://code.ros.org/trac/ros/browser/stacks/ros/trunk/core/rosbuild/rosconfig.cmake?rev=7291
>
> >
> > > > The make clean is not what you want, since
> > > > it will also remove the libraries of the normal 'ros' packages, which
> > >
> > > don't
> > >
> > > > have an install step (so it only makes sense for RTT and OCL right
> > > > now).
> > > >
> > > > People are looking at how to reduce code size, but for a development
> > >
> > > system,
> > >
> > > > it's always handy to have the .o files still there....
> > > >
> > > > of course it is. But it is also handy to have a clean function before
> > > > copying on the robot (and not to embed the sources).
> > > >
> > > > In the "classic" orocos toolchain installation I used to copy the
> > > > install folder onto my target with the same path as on the building
> > > > machine. If I could create my_orocos_toolchain.deb easily I would
> > > > install then on my robot instead of copying.
> > >
> > > You could strip the orocos_toolchain_ros rtt and ocl packages after
> > > building
> > > and before copying it. AFAIK you can entirely remove the build
> directory.
> >
> > I'll try stripping and let you know about resulting size
> > "remove the build directory" : This is what "make clean" does no ?
>
> In ROS builds, a make clean will wipe your build dir, and the files in lib/
> and
> bin/, while doing a rm -rf build, will leave the files in lib/ and bin/
> untouched. So you want the latter.
>

This help orocos_toolchain directory is now 1,1Gb with build stuff
if I call
rm `find . -name "build"` -rf
(which is a better solution in front of make clean if I understood what you
said)
It downs to 427 Mb which is more acceptable.

How may I be sure the MinSizeRel has been taken into account ?



>
> Peter
>

--20cf30050d98cc2944049d99b47a
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<br><br><div class=3D"gmail_quote">2011/2/24 Peter Soetens <span dir=3D"ltr=
">&lt;<a href=3D"mailto:peter@thesourceworks.com">peter@thesourceworks.com<=
/a>&gt;</span><br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0p=
t 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"=
>
<div><div></div><div class=3D"h5">On Wednesday 23 February 2011 14:18:34 Wi=
lly Lambert wrote:<br>
&gt; 2011/2/23 Ruben Smits &lt;<a href=3D"mailto:ruben.smits@mech.kuleuven.=
be">ruben.smits@mech.kuleuven.be</a>&gt;<br>
&gt;<br>
&gt; &gt; On Tuesday 22 February 2011 23:55:26 Willy Lambert wrote:<br>
&gt; &gt; &gt; 2011/2/22 Peter Soetens<br>
&gt; &gt; &gt; &lt;<a href=3D"mailto:peter@thesourceworks.com">peter@thesou=
rceworks.com</a>&lt;mailto:<a href=3D"mailto:peter@thesourceworks.com">pete=
r@thesourceworks.com</a>&gt;&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Monday 21 February 2011 00:32:05 Willy Lambert wrote:<br>
&gt; &gt; &gt; &gt; 2011/2/8 Willy Lambert<br>
&gt; &gt; &gt; &gt; &lt;<a href=3D"mailto:lambert.willy@gmail.com">lambert.=
willy@gmail.com</a>&lt;mailto:<a href=3D"mailto:lambert.willy@gmail.com">la=
mbert.willy@gmail.com</a>&gt;&gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; The standard way to run executables in ROS=
 packages is with<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; rosrun,<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; e.g;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt;&gt; rosrun ocl deployer-gnulinux<br>
&gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt; Oh yes ! I still don&#39;t have the ROS reflex=
es :)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; it answers :<br>
&gt; &gt; &gt; &gt; &gt; ard@ard-host-v5:/media/DD_data/home/ard$ rosrun oc=
l<br>
&gt; &gt; &gt; &gt; &gt; deployer-gnulinux<br>
&gt; &gt; &gt; &gt; &gt; [rosrun] You have chosen a non-unique executable, =
please pick one<br>
&gt; &gt; &gt; &gt; &gt; of the following:<br>
&gt; &gt; &gt; &gt; &gt; 1) /home/ard/ros/orocos_toolchain_ros/ocl/bin/depl=
oyer-gnulinux<br>
&gt; &gt; &gt; &gt; &gt; 2)<br>
&gt; &gt; &gt; &gt; &gt; /home/ard/ros/orocos_toolchain_ros/ocl/install/bin=
/deployer-gnulinu<br>
&gt; &gt; &gt; &gt; &gt; x<br>
&gt; &gt; &gt; &gt; &gt; #?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; =A0I know there are egal because one is the &quot;=
make installed&quot; version<br>
&gt; &gt; &gt; &gt; &gt; =A0of the<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; other, by I find it is strange and prevent from st=
arting it<br>
&gt; &gt; &gt; &gt; &gt; automatically after boot (of course I have solutio=
ns to avoid this,<br>
&gt; &gt; &gt; &gt; &gt; but the rosway should work no ?)<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I makes me thinking about folder size and orocos_t=
oolchain_ros is<br>
&gt; &gt; &gt; &gt; &gt; 1,7Gb<br>
&gt; &gt; &gt; &gt; &gt; on my computer x-( =A0I know there is some hard wo=
rk on code size<br>
&gt; &gt; &gt; &gt; &gt; reduction on the Orocos side but nearly 2gb is qui=
te huge.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Does it exist a &quot;rosmake clean&quot; instruct=
ion ?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Let me up this subject,<br>
&gt; &gt; &gt; &gt; after having built the orocos_toolchain_ros it seems it=
&#39;s a bit messy<br>
&gt; &gt; &gt; &gt; with build and installed files. Firstly, rosrun find 2 =
executables<br>
&gt; &gt; &gt; &gt; for deployer-gnulinux and can&#39;t choose.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; We&#39;re still looking on how to solve this. The problem is=
 that we<br>
&gt; &gt; &gt; require<br>
&gt; &gt;<br>
&gt; &gt; a<br>
&gt; &gt;<br>
&gt; &gt; &gt; &#39;make install&#39; in ocl because the headers are includ=
ed using<br>
&gt; &gt; &gt; &#39;ocl/Header.hpp&#39; by user code, while they are in the=
 sources in<br>
&gt; &gt; &gt; &#39;subproject/Header.hpp&#39;. We discussed moving all hea=
ders to the ocl/<br>
&gt; &gt; &gt; directory, but this somewhat beats the purpose of the modula=
risation we<br>
&gt; &gt; &gt; did. An alternative would be to create symlinks from ocl/Hea=
der.hpp to<br>
&gt; &gt; &gt; subproject/Header.hpp in ROS_ROOT<br>
&gt; &gt; &gt; environments. This might be the least intrusive step for now=
.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Ok, but here it&#39;s about a binary<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Secondly after having used &quot;make clean&quot;<br>
&gt; &gt; &gt; &gt; in all the packages of orocos_toolchain_ros stack, it r=
educed from<br>
&gt; &gt; &gt; &gt; nearly<br>
&gt; &gt; &gt; &gt; 2gb to 350Mb with is by far more acceptable. Is it any =
&quot;ros&quot; tool to<br>
&gt; &gt; &gt; &gt; do this ? Would it be possible to add a global &quot;ma=
ke clean&quot; at the<br>
&gt; &gt; &gt; &gt; root of orocos_toolchain_ros ?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Did you compile with MinSizeRel ?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I used the default configuration and didn&#39;t thougth abou=
t this.<br>
&gt; &gt; &gt; How may I change this with rosmake ?<br>
&gt; &gt;<br>
&gt; &gt; There are different things you can use: I suggest you just edit t=
he<br>
&gt; &gt; orocos- rtt.default.cmake file.<br>
&gt;<br>
&gt; Does I only have to change the rtt config ? What about ocl ?<br>
&gt; rtt_ros_integration ?<br>
<br>
</div></div>Changing orocos-rtt.default.cmake is not recommended, since the=
 file itself<br>
says that you must copy it to orocos-rtt.cmake and edit that file. It will =
only<br>
influence the RTT itself.<br>
<br>
For setting it for all other packages (including OCL), create a rosconfig.c=
make<br>
file in the ROS_ROOT directory, and set the build type there, see the<br>
documentation here:<br>
<br>
<a href=3D"https://code.ros.org/trac/ros/browser/stacks/ros/trunk/core/rosb=
uild/rosconfig.cmake?rev=3D7291" target=3D"_blank">https://code.ros.org/tra=
c/ros/browser/stacks/ros/trunk/core/rosbuild/rosconfig.cmake?rev=3D7291</a>=
<br>

<div class=3D"im"><br>
&gt;<br>
&gt; &gt; &gt; The make clean is not what you want, since<br>
&gt; &gt; &gt; it will also remove the libraries of the normal &#39;ros&#39=
; packages, which<br>
&gt; &gt;<br>
&gt; &gt; don&#39;t<br>
&gt; &gt;<br>
&gt; &gt; &gt; have an install step (so it only makes sense for RTT and OCL=
 right<br>
&gt; &gt; &gt; now).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; People are looking at how to reduce code size, but for a dev=
elopment<br>
&gt; &gt;<br>
&gt; &gt; system,<br>
&gt; &gt;<br>
&gt; &gt; &gt; it&#39;s always handy to have the .o files still there....<b=
r>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; of course it is. But it is also handy to have a clean functi=
on before<br>
&gt; &gt; &gt; copying on the robot (and not to embed the sources).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; In the &quot;classic&quot; orocos toolchain installation I u=
sed to copy the<br>
&gt; &gt; &gt; install folder onto my target with the same path as on the b=
uilding<br>
&gt; &gt; &gt; machine. If I could create my_orocos_toolchain.deb easily I =
would<br>
&gt; &gt; &gt; install then on my robot instead of copying.<br>
&gt; &gt;<br>
&gt; &gt; You could strip the orocos_toolchain_ros rtt and ocl packages aft=
er<br>
&gt; &gt; building<br>
&gt; &gt; and before copying it. AFAIK you can entirely remove the build di=
rectory.<br>
&gt;<br>
&gt; I&#39;ll try stripping and let you know about resulting size<br>
&gt; &quot;remove the build directory&quot; : This is what &quot;make clean=
&quot; does no ?<br>
<br>
</div>In ROS builds, a make clean will wipe your build dir, and the files i=
n lib/ and<br>
bin/, while doing a rm -rf build, will leave the files in lib/ and bin/<br>
untouched. So you want the latter.<br></blockquote><div><br>This help oroco=
s_toolchain directory is now 1,1Gb with build stuff<br>if I call <br>rm `fi=
nd . -name &quot;build&quot;` -rf<br>(which is a better solution in front o=
f make clean if I understood what you said)<br>
It downs to 427 Mb which is more acceptable.<br><br>How may I be sure the M=
inSizeRel has been taken into account ?<br><br>=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid=
 rgb(204, 204, 204); padding-left: 1ex;">

<font color=3D"#888888"><br>
Peter<br>
</font></blockquote></div><br><div style=3D"visibility: hidden; left: -5000=
px; position: absolute; z-index: 9999; padding: 0px; margin-left: 0px; marg=
in-top: 0px; overflow: hidden; word-wrap: break-word; color: black; font-si=
ze: 10px; text-align: left; line-height: 130%;" id=3D"avg_ls_inline_popup">
</div>

--20cf30050d98cc2944049d99b47a--

--===============9050184837888315947==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users

--===============9050184837888315947==--

