Compilation size

Hi all,

I am wondering why some of my quite simple component takes ages and several
Mb to build. So I am tryingto add one by one things from a simple
TaskContext to add everything to my full component. It happens that adding
this :
InputPort<timespec> inMasterClock;
to the .hpp and the required
addEventPort("inMasterClock",inMasterClock)
.doc("");
to the cpp, lead to an increment of output library from 446K to 2.0M.

Is it normal ?

Compilation size

2011/12/4 Willy Lambert <lambert [dot] willy [..] ...>

> Hi all,
>
> I am wondering why some of my quite simple component takes ages and
> several Mb to build. So I am tryingto add one by one things from a simple
> TaskContext to add everything to my full component. It happens that adding
> this :
> InputPort<timespec> inMasterClock;
> to the .hpp and the required
> addEventPort("inMasterClock",inMasterClock)
> .doc("");
> to the cpp, lead to an increment of output library from 446K to 2.0M.
>
>
To be precise it is the declaration of a member InputPort<XXX> inXXX; that
adds 1,2M (even for a simple bool input port).

> Is it normal ?
>

Compilation size

Op 4 dec. 2011 14:49 schreef "Willy Lambert" <lambert [dot] willy [..] ...> het
volgende:
>
>
>
> 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...>
>>
>> Hi all,
>>
>> I am wondering why some of my quite simple component takes ages and
several Mb to build. So I am tryingto add one by one things from a simple
TaskContext to add everything to my full component. It happens that adding
this :
>> InputPort<timespec> inMasterClock;
>> to the .hpp and the required
>> addEventPort("inMasterClock",inMasterClock)
>> .doc("");
>> to the cpp, lead to an increment of output library from 446K to 2.0M.
>>
>
> To be precise it is the declaration of a member InputPort<XXX> inXXX;
that adds 1,2M (even for a simple bool input port).
>
>>
>> Is it normal ?

No. Orocos version and build flags? Dus you include the extern template
declarations ?

Peter
>
>
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Compilation size

2011/12/4 Peter Soetens <peter [..] ...>

>
> Op 4 dec. 2011 14:49 schreef "Willy Lambert" <lambert [dot] willy [..] ...>
> het volgende:
>
> >
> >
> >
> > 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...>
> >>
> >> Hi all,
> >>
> >> I am wondering why some of my quite simple component takes ages and
> several Mb to build. So I am tryingto add one by one things from a simple
> TaskContext to add everything to my full component. It happens that adding
> this :
> >> InputPort<timespec> inMasterClock;
> >> to the .hpp and the required
> >> addEventPort("inMasterClock",inMasterClock)
> >> .doc("");
> >> to the cpp, lead to an increment of output library from 446K to 2.0M.
> >>
> >
> > To be precise it is the declaration of a member InputPort<XXX> inXXX;
> that adds 1,2M (even for a simple bool input port).
> >
> >>
> >> Is it normal ?
>
> No. Orocos version and build flags? Dus you include the extern template
> declarations ?
>
> Peter
>
Ok some details :

Here is my test.hpp file :

#ifndef TEST_HPP_
#define TEST_HPP_
#include <rtt/RTT.hpp>
using namespace RTT;
class Test : public TaskContext
{
public:
Test(const std::string& name);

InputPort<bool> inBootUpFrame;
};
#endif

here is my test.cpp file :

#include "test.hpp"
#include <rtt/Component.hpp>
ORO_CREATE_COMPONENT( Test )
Test::Test(const std::string& name) :
TaskContext(name)
{
}

Here is orocos version :
ard@ard-host(8.1):/opt/ard/arp_hml$ rosrun ocl deployer-gnulinux --version
OROCOS Toolchain version '2.5.0' ( GCC 4.4.5 ) -- GNU/Linux.
(notice how useful is this "--version" command you made for "me" some
times ago ;p)

Here

Here is the result :
ard@ard-host(8.1):/opt/ard/arp_hml/lib/orocos/gnulinux$ ls -lah
-rwxr-xr-x 1 ard ard 1.6M Dec 4 15:55 libarp_hml-mock-gnulinux.so

Here is the compile outputs with VERBOSE=2. Sorry for not cleaning this, I
did not succeed doing this outside my framework for now

Scanning dependencies of target arp_hml-mock
make[3]: Leaving directory `/opt/ard/arp_hml/build'
make -f src/orocos/CMakeFiles/arp_hml-mock.dir/build.make
src/orocos/CMakeFiles/arp_hml-mock.dir/build
make[3]: Entering directory `/opt/ard/arp_hml/build'
/usr/bin/cmake -E cmake_progress_report /opt/ard/arp_hml/build/CMakeFiles 14
[100%] Building CXX object src/orocos/CMakeFiles/arp_hml-mock.dir/test.cpp.o
cd /opt/ard/arp_hml/build/src/orocos && /home/ard/ccache/c++
-DRTT_COMPONENT -DOROCOS_TARGET=gnulinux -D_FILE_OFFSET_BITS=64
-D_LARGE_FILES -D__WXGTK__ -DBOOST_CB_DISABLE_DEBUG -pthread -O2 -g -fPIC
-I/opt/ard/arp_hml/include -I/opt/ard/can_festival/include
-I/opt/ard/can_festival/include/canfestival -I/opt/ard/rtt_arp_core/include
-I/opt/ard/arp_core/src -I/opt/ard/arp_core/msg_gen/cpp/include
-I/opt/ard/arp_core/srv_gen/cpp/include -I/usr/include/eigen3
-I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/include
-I/opt/ros_addons/rtt_ros_comm/rtt_rosgraph_msgs/include
-I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/src
-I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/include
-I/opt/ros_addons/orocos_toolchain/ocl/install/include/orocos
-I/opt/ros_addons/orocos_toolchain/log4cpp/../install/include
-I/opt/ros/ros_comm/messages/std_srvs/srv_gen/cpp/include
-I/opt/ros/geometry/tf/include -I/opt/ros/geometry/tf/msg_gen/cpp/include
-I/opt/ros/geometry/tf/srv_gen/cpp/include -I/opt/ros/bullet/include
-I/opt/ros/geometry/angles/include
-I/opt/ros/ros_comm/utilities/message_filters/include
-I/opt/ros/ros_comm/messages/std_msgs/include
-I/opt/ros/ros_comm/messages/std_msgs/msg_gen/cpp/include
-I/opt/ros_addons/laser_drivers/hokuyo_node/msg/cpp
-I/opt/ros_addons/laser_drivers/hokuyo_node/srv/cpp
-I/opt/ros_addons/laser_drivers/hokuyo_node/include
-I/opt/ros/common_msgs/sensor_msgs/include
-I/opt/ros/common_msgs/sensor_msgs/msg_gen/cpp/include
-I/opt/ros/common_msgs/sensor_msgs/srv_gen/cpp/include
-I/opt/ros/common_msgs/geometry_msgs/msg_gen/cpp/include
-I/opt/ros/driver_common/driver_base/include
-I/opt/ros/driver_common/driver_base/msg/cpp
-I/opt/ros/driver_common/driver_base/msg_gen/cpp/include
-I/opt/ros/diagnostics/self_test/include
-I/opt/ros/diagnostics/self_test/srv/cpp
-I/opt/ros/diagnostics/diagnostic_updater/include
-I/opt/ros/common_msgs/diagnostic_msgs/msg_gen/cpp/include
-I/opt/ros/common_msgs/diagnostic_msgs/srv_gen/cpp/include
-I/opt/ros/driver_common/dynamic_reconfigure/include
-I/opt/ros/driver_common/dynamic_reconfigure/msg/cpp
-I/opt/ros/driver_common/dynamic_reconfigure/srv/cpp
-I/opt/ros/driver_common/dynamic_reconfigure/msg_gen/cpp/include
-I/opt/ros/driver_common/dynamic_reconfigure/srv_gen/cpp/include
-I/opt/ros/ros_comm/tools/rosbag/include
-I/opt/ros/ros_comm/tools/topic_tools/include
-I/opt/ros/ros_comm/tools/topic_tools/srv_gen/cpp/include
-I/opt/ros/ros_comm/tools/rostest/include
-I/opt/ros/ros_comm/clients/cpp/roscpp/include
-I/opt/ros/ros_comm/clients/cpp/roscpp/msg_gen/cpp/include
-I/opt/ros/ros_comm/clients/cpp/roscpp/srv_gen/cpp/include
-I/opt/ros/ros_comm/clients/cpp/roscpp_serialization/include
-I/opt/ros/ros_comm/clients/cpp/roscpp_traits/include
-I/opt/ros/ros_comm/utilities/xmlrpcpp/src
-I/opt/ros/ros_comm/tools/rosconsole/include
-I/opt/ros/ros_comm/utilities/rostime/include
-I/opt/ros/ros_comm/utilities/cpp_common/include
-I/opt/ros/ros_comm/messages/rosgraph_msgs/msg_gen/cpp/include
-I/opt/ros/ros/core/roslib/msg_gen/cpp/include
-I/opt/ros/ros/core/roslib/include -I/opt/ros/ros/tools/rospack
-I/opt/ros/ros/tools/rospack/include -I/opt/ard/arp_hml/srv_gen/cpp/include
-I/opt/ros_addons/orocos_toolchain/rtt/install/include
-I/opt/ros_addons/orocos_toolchain/rtt/install/include/orocos
-I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/..
-I/opt/ros_addons/orocos_toolchain/rtt/../install/include
-I/opt/ard/rtt_arp_core/.. -isystem
/usr/lib/wx/include/gtk2-unicode-release-2.8 -isystem /usr/include/wx-2.8
-I/opt/ard/arp_hml/build/src -I/opt/ard/arp_hml/src
-DROS_PACKAGE_NAME='"arp_hml"' -DBT_USE_DOUBLE_PRECISION
-DBT_EULER_DEFAULT_ZYX -W -Wall -Wno-unused-parameter -fno-strict-aliasing
-pthread -o CMakeFiles/arp_hml-mock.dir/test.cpp.o -c
/opt/ard/arp_hml/src/orocos/test.cpp
Linking CXX shared library
../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
cd /opt/ard/arp_hml/build/src/orocos && /usr/bin/cmake -E cmake_link_script
CMakeFiles/arp_hml-mock.dir/link.txt --verbose=2
/home/ard/ccache/c++ -fPIC -pthread -O2 -g
-Wl,-rpath,/opt/ard/arp_core/lib
-Wl,-rpath,/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
-Wl,-rpath,/opt/ros/geometry/tf/lib -Wl,-rpath,/opt/ros/bullet/lib
-Wl,-rpath,/opt/ros/ros_comm/utilities/message_filters/lib
-Wl,-rpath,/opt/ros_addons/laser_drivers/hokuyo_node/lib
-Wl,-rpath,/opt/ros/common_msgs/sensor_msgs/lib
-Wl,-rpath,/opt/ros/driver_common/dynamic_reconfigure/lib
-Wl,-rpath,/opt/ros/ros_comm/tools/rosbag/lib
-Wl,-rpath,/opt/ros/ros_comm/tools/topic_tools/lib
-Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp/lib
-Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
-Wl,-rpath,/opt/ros/ros_comm/utilities/xmlrpcpp/lib
-Wl,-rpath,/opt/ros/ros_comm/tools/rosconsole/lib
-Wl,-rpath,/opt/ros/ros_comm/utilities/rostime/lib
-Wl,-rpath,/opt/ros/ros_comm/utilities/cpp_common/lib
-Wl,-rpath,/opt/ros/ros/core/roslib/lib
-Wl,-rpath,/opt/ros/ros/tools/rospack/lib -pthread -Wl,-z,defs -shared
-Wl,-soname,libarp_hml-mock-gnulinux.so -o
../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
CMakeFiles/arp_hml-mock.dir/test.cpp.o -L/opt/ard/can_festival/lib
-L/opt/ard/arp_core/lib -L/opt/ros_addons/orocos_toolchain/ocl/lib
-L/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
-L/opt/ros/geometry/tf/lib -L/opt/ros/bullet/lib
-L/opt/ros/ros_comm/utilities/message_filters/lib
-L/opt/ros_addons/laser_drivers/hokuyo_node/lib
-L/opt/ros/common_msgs/sensor_msgs/lib
-L/opt/ros/driver_common/dynamic_reconfigure/lib
-L/opt/ros/ros_comm/tools/rosbag/lib
-L/opt/ros/ros_comm/tools/topic_tools/lib
-L/opt/ros/ros_comm/clients/cpp/roscpp/lib
-L/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
-L/opt/ros/ros_comm/utilities/xmlrpcpp/lib
-L/opt/ros/ros_comm/tools/rosconsole/lib
-L/opt/ros/ros_comm/utilities/rostime/lib
-L/opt/ros/ros_comm/utilities/cpp_common/lib -L/opt/ros/ros/core/roslib/lib
-L/opt/ros/ros/tools/rospack/lib
-L/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types
-L/opt/ros_addons/orocos_toolchain/install/lib
-L/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types
-L/opt/ros_addons/orocos_toolchain/rtt/install/lib
/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-typekit-gnulinux.so
/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-ros-transport-gnulinux.so
/opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
-lpthread -lrt
/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
/opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
-lpthread -lrt -Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic
-larp_core -lrt -larp_core-math -larp_core-timer -ltf -lBulletDynamics
-lBulletCollision -lLinearMath -lmessage_filters -llibhokuyo -lsensor_msgs
-ldynamic_reconfigure_config_init_mutex -lrosbag -ltopic_tools -lros
-lboost_signals-mt -lroscpp_serialization -lXmlRpc -lrosconsole
-lboost_thread-mt -llog4cxx -lrostime -lcpp_common -lroslib -lrospack
-lrosstack
/opt/ros_addons/orocos_toolchain/rtt/install/lib/liborocos-rtt-gnulinux.so.2.5.0
/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
-Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic -larp_core
-larp_core-math -larp_core-timer -ltf -lBulletDynamics -lBulletCollision
-lLinearMath -lmessage_filters -llibhokuyo -lsensor_msgs
-ldynamic_reconfigure_config_init_mutex -lrosbag -ltopic_tools -lros
-lboost_signals-mt -lroscpp_serialization -lXmlRpc -lrosconsole
-lboost_thread-mt -llog4cxx -lrostime -lcpp_common -lroslib -lrospack
-lrosstack -lboost_filesystem-mt -lboost_system-mt -lboost_serialization-mt
-lpthread -lrt -ldl
-Wl,-rpath,/opt/ard/can_festival/lib:/opt/ard/arp_core/lib:/opt/ros_addons/orocos_toolchain/ocl/lib:/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib:/opt/ros/geometry/tf/lib:/opt/ros/bullet/lib:/opt/ros/ros_comm/utilities/message_filters/lib:/opt/ros_addons/laser_drivers/hokuyo_node/lib:/opt/ros/common_msgs/sensor_msgs/lib:/opt/ros/driver_common/dynamic_reconfigure/lib:/opt/ros/ros_comm/tools/rosbag/lib:/opt/ros/ros_comm/tools/topic_tools/lib:/opt/ros/ros_comm/clients/cpp/roscpp/lib:/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib:/opt/ros/ros_comm/utilities/xmlrpcpp/lib:/opt/ros/ros_comm/tools/rosconsole/lib:/opt/ros/ros_comm/utilities/rostime/lib:/opt/ros/ros_comm/utilities/cpp_common/lib:/opt/ros/ros/core/roslib/lib:/opt/ros/ros/tools/rospack/lib:/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/install/lib:/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/rtt/install/lib:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
make[3]: Leaving directory `/opt/ard/arp_hml/build'
/usr/bin/cmake -E cmake_progress_report /opt/ard/arp_hml/build/CMakeFiles
14
[100%] Built target arp_hml-mock

>
> >
> >
> > --
> > Orocos-Users mailing list
> > Orocos-Users [..] ...
> > http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
> >
>

Compilation size

2011/12/4 Willy Lambert <lambert [dot] willy [..] ...>

>
>
> 2011/12/4 Peter Soetens <peter [..] ...>
>
>>
>> Op 4 dec. 2011 14:49 schreef "Willy Lambert" <lambert [dot] willy [..] ...>
>> het volgende:
>>
>> >
>> >
>> >
>> > 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...>
>> >>
>> >> Hi all,
>> >>
>> >> I am wondering why some of my quite simple component takes ages and
>> several Mb to build. So I am tryingto add one by one things from a simple
>> TaskContext to add everything to my full component. It happens that adding
>> this :
>> >> InputPort<timespec> inMasterClock;
>> >> to the .hpp and the required
>> >> addEventPort("inMasterClock",inMasterClock)
>> >> .doc("");
>> >> to the cpp, lead to an increment of output library from 446K to 2.0M.
>> >>
>> >
>> > To be precise it is the declaration of a member InputPort<XXX> inXXX;
>> that adds 1,2M (even for a simple bool input port).
>> >
>> >>
>> >> Is it normal ?
>>
>> No. Orocos version and build flags? Dus you include the extern template
>> declarations ?
>>
>> Peter
>>
> Ok some details :
>
> Here is my test.hpp file :
>
> #ifndef TEST_HPP_
> #define TEST_HPP_
> #include <rtt/RTT.hpp>
> using namespace RTT;
> class Test : public TaskContext
> {
> public:
> Test(const std::string& name);
>
> InputPort<bool> inBootUpFrame;
> };
> #endif
>
>
>
>
> here is my test.cpp file :
>
> #include "test.hpp"
> #include <rtt/Component.hpp>
> ORO_CREATE_COMPONENT( Test )
> Test::Test(const std::string& name) :
> TaskContext(name)
> {
> }
>
>
>
> Here is orocos version :
> ard@ard-host(8.1):/opt/ard/arp_hml$ rosrun ocl deployer-gnulinux --version
> OROCOS Toolchain version '2.5.0' ( GCC 4.4.5 ) -- GNU/Linux.
> (notice how useful is this "--version" command you made for "me" some
> times ago ;p)
>
> Here
>
>
> Here is the result :
> ard@ard-host(8.1):/opt/ard/arp_hml/lib/orocos/gnulinux$ ls -lah
> -rwxr-xr-x 1 ard ard 1.6M Dec 4 15:55 libarp_hml-mock-gnulinux.so
>
> Here is the compile outputs with VERBOSE=2. Sorry for not cleaning this, I
> did not succeed doing this outside my framework for now
>
> Scanning dependencies of target arp_hml-mock
> make[3]: Leaving directory `/opt/ard/arp_hml/build'
> make -f src/orocos/CMakeFiles/arp_hml-mock.dir/build.make
> src/orocos/CMakeFiles/arp_hml-mock.dir/build
> make[3]: Entering directory `/opt/ard/arp_hml/build'
> /usr/bin/cmake -E cmake_progress_report /opt/ard/arp_hml/build/CMakeFiles
> 14
> [100%] Building CXX object
> src/orocos/CMakeFiles/arp_hml-mock.dir/test.cpp.o
> cd /opt/ard/arp_hml/build/src/orocos && /home/ard/ccache/c++
> -DRTT_COMPONENT -DOROCOS_TARGET=gnulinux -D_FILE_OFFSET_BITS=64
> -D_LARGE_FILES -D__WXGTK__ -DBOOST_CB_DISABLE_DEBUG -pthread -O2 -g -fPIC
> -I/opt/ard/arp_hml/include -I/opt/ard/can_festival/include
> -I/opt/ard/can_festival/include/canfestival -I/opt/ard/rtt_arp_core/include
> -I/opt/ard/arp_core/src -I/opt/ard/arp_core/msg_gen/cpp/include
> -I/opt/ard/arp_core/srv_gen/cpp/include -I/usr/include/eigen3
> -I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/include
> -I/opt/ros_addons/rtt_ros_comm/rtt_rosgraph_msgs/include
> -I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/src
> -I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/include
> -I/opt/ros_addons/orocos_toolchain/ocl/install/include/orocos
> -I/opt/ros_addons/orocos_toolchain/log4cpp/../install/include
> -I/opt/ros/ros_comm/messages/std_srvs/srv_gen/cpp/include
> -I/opt/ros/geometry/tf/include -I/opt/ros/geometry/tf/msg_gen/cpp/include
> -I/opt/ros/geometry/tf/srv_gen/cpp/include -I/opt/ros/bullet/include
> -I/opt/ros/geometry/angles/include
> -I/opt/ros/ros_comm/utilities/message_filters/include
> -I/opt/ros/ros_comm/messages/std_msgs/include
> -I/opt/ros/ros_comm/messages/std_msgs/msg_gen/cpp/include
> -I/opt/ros_addons/laser_drivers/hokuyo_node/msg/cpp
> -I/opt/ros_addons/laser_drivers/hokuyo_node/srv/cpp
> -I/opt/ros_addons/laser_drivers/hokuyo_node/include
> -I/opt/ros/common_msgs/sensor_msgs/include
> -I/opt/ros/common_msgs/sensor_msgs/msg_gen/cpp/include
> -I/opt/ros/common_msgs/sensor_msgs/srv_gen/cpp/include
> -I/opt/ros/common_msgs/geometry_msgs/msg_gen/cpp/include
> -I/opt/ros/driver_common/driver_base/include
> -I/opt/ros/driver_common/driver_base/msg/cpp
> -I/opt/ros/driver_common/driver_base/msg_gen/cpp/include
> -I/opt/ros/diagnostics/self_test/include
> -I/opt/ros/diagnostics/self_test/srv/cpp
> -I/opt/ros/diagnostics/diagnostic_updater/include
> -I/opt/ros/common_msgs/diagnostic_msgs/msg_gen/cpp/include
> -I/opt/ros/common_msgs/diagnostic_msgs/srv_gen/cpp/include
> -I/opt/ros/driver_common/dynamic_reconfigure/include
> -I/opt/ros/driver_common/dynamic_reconfigure/msg/cpp
> -I/opt/ros/driver_common/dynamic_reconfigure/srv/cpp
> -I/opt/ros/driver_common/dynamic_reconfigure/msg_gen/cpp/include
> -I/opt/ros/driver_common/dynamic_reconfigure/srv_gen/cpp/include
> -I/opt/ros/ros_comm/tools/rosbag/include
> -I/opt/ros/ros_comm/tools/topic_tools/include
> -I/opt/ros/ros_comm/tools/topic_tools/srv_gen/cpp/include
> -I/opt/ros/ros_comm/tools/rostest/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/msg_gen/cpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/srv_gen/cpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp_serialization/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp_traits/include
> -I/opt/ros/ros_comm/utilities/xmlrpcpp/src
> -I/opt/ros/ros_comm/tools/rosconsole/include
> -I/opt/ros/ros_comm/utilities/rostime/include
> -I/opt/ros/ros_comm/utilities/cpp_common/include
> -I/opt/ros/ros_comm/messages/rosgraph_msgs/msg_gen/cpp/include
> -I/opt/ros/ros/core/roslib/msg_gen/cpp/include
> -I/opt/ros/ros/core/roslib/include -I/opt/ros/ros/tools/rospack
> -I/opt/ros/ros/tools/rospack/include -I/opt/ard/arp_hml/srv_gen/cpp/include
> -I/opt/ros_addons/orocos_toolchain/rtt/install/include
> -I/opt/ros_addons/orocos_toolchain/rtt/install/include/orocos
> -I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/..
> -I/opt/ros_addons/orocos_toolchain/rtt/../install/include
> -I/opt/ard/rtt_arp_core/.. -isystem
> /usr/lib/wx/include/gtk2-unicode-release-2.8 -isystem /usr/include/wx-2.8
> -I/opt/ard/arp_hml/build/src -I/opt/ard/arp_hml/src
> -DROS_PACKAGE_NAME='"arp_hml"' -DBT_USE_DOUBLE_PRECISION
> -DBT_EULER_DEFAULT_ZYX -W -Wall -Wno-unused-parameter -fno-strict-aliasing
> -pthread -o CMakeFiles/arp_hml-mock.dir/test.cpp.o -c
> /opt/ard/arp_hml/src/orocos/test.cpp
> Linking CXX shared library
> ../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
> cd /opt/ard/arp_hml/build/src/orocos && /usr/bin/cmake -E
> cmake_link_script CMakeFiles/arp_hml-mock.dir/link.txt --verbose=2
> /home/ard/ccache/c++ -fPIC -pthread -O2 -g
> -Wl,-rpath,/opt/ard/arp_core/lib
> -Wl,-rpath,/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
> -Wl,-rpath,/opt/ros/geometry/tf/lib -Wl,-rpath,/opt/ros/bullet/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/message_filters/lib
> -Wl,-rpath,/opt/ros_addons/laser_drivers/hokuyo_node/lib
> -Wl,-rpath,/opt/ros/common_msgs/sensor_msgs/lib
> -Wl,-rpath,/opt/ros/driver_common/dynamic_reconfigure/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/rosbag/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/topic_tools/lib
> -Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp/lib
> -Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/xmlrpcpp/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/rosconsole/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/rostime/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/cpp_common/lib
> -Wl,-rpath,/opt/ros/ros/core/roslib/lib
> -Wl,-rpath,/opt/ros/ros/tools/rospack/lib -pthread -Wl,-z,defs -shared
> -Wl,-soname,libarp_hml-mock-gnulinux.so -o
> ../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
> CMakeFiles/arp_hml-mock.dir/test.cpp.o -L/opt/ard/can_festival/lib
> -L/opt/ard/arp_core/lib -L/opt/ros_addons/orocos_toolchain/ocl/lib
> -L/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
> -L/opt/ros/geometry/tf/lib -L/opt/ros/bullet/lib
> -L/opt/ros/ros_comm/utilities/message_filters/lib
> -L/opt/ros_addons/laser_drivers/hokuyo_node/lib
> -L/opt/ros/common_msgs/sensor_msgs/lib
> -L/opt/ros/driver_common/dynamic_reconfigure/lib
> -L/opt/ros/ros_comm/tools/rosbag/lib
> -L/opt/ros/ros_comm/tools/topic_tools/lib
> -L/opt/ros/ros_comm/clients/cpp/roscpp/lib
> -L/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
> -L/opt/ros/ros_comm/utilities/xmlrpcpp/lib
> -L/opt/ros/ros_comm/tools/rosconsole/lib
> -L/opt/ros/ros_comm/utilities/rostime/lib
> -L/opt/ros/ros_comm/utilities/cpp_common/lib -L/opt/ros/ros/core/roslib/lib
> -L/opt/ros/ros/tools/rospack/lib
> -L/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types
> -L/opt/ros_addons/orocos_toolchain/install/lib
> -L/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types
> -L/opt/ros_addons/orocos_toolchain/rtt/install/lib
> /opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-typekit-gnulinux.so
> /opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-ros-transport-gnulinux.so
> /opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
> -lpthread -lrt
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
> /opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
> -lpthread -lrt -Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic
> -larp_core -lrt -larp_core-math -larp_core-timer -ltf -lBulletDynamics
> -lBulletCollision -lLinearMath -lmessage_filters -llibhokuyo -lsensor_msgs
> -ldynamic_reconfigure_config_init_mutex -lrosbag -ltopic_tools -lros
> -lboost_signals-mt -lroscpp_serialization -lXmlRpc -lrosconsole
> -lboost_thread-mt -llog4cxx -lrostime -lcpp_common -lroslib -lrospack
> -lrosstack
> /opt/ros_addons/orocos_toolchain/rtt/install/lib/liborocos-rtt-gnulinux.so.2.5.0
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
> -Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic -larp_core
> -larp_core-math -larp_core-timer -ltf -lBulletDynamics -lBulletCollision
> -lLinearMath -lmessage_filters -llibhokuyo -lsensor_msgs
> -ldynamic_reconfigure_config_init_mutex -lrosbag -ltopic_tools -lros
> -lboost_signals-mt -lroscpp_serialization -lXmlRpc -lrosconsole
> -lboost_thread-mt -llog4cxx -lrostime -lcpp_common -lroslib -lrospack
> -lrosstack -lboost_filesystem-mt -lboost_system-mt -lboost_serialization-mt
> -lpthread -lrt -ldl
> -Wl,-rpath,/opt/ard/can_festival/lib:/opt/ard/arp_core/lib:/opt/ros_addons/orocos_toolchain/ocl/lib:/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib:/opt/ros/geometry/tf/lib:/opt/ros/bullet/lib:/opt/ros/ros_comm/utilities/message_filters/lib:/opt/ros_addons/laser_drivers/hokuyo_node/lib:/opt/ros/common_msgs/sensor_msgs/lib:/opt/ros/driver_common/dynamic_reconfigure/lib:/opt/ros/ros_comm/tools/rosbag/lib:/opt/ros/ros_comm/tools/topic_tools/lib:/opt/ros/ros_comm/clients/cpp/roscpp/lib:/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib:/opt/ros/ros_comm/utilities/xmlrpcpp/lib:/opt/ros/ros_comm/tools/rosconsole/lib:/opt/ros/ros_comm/utilities/rostime/lib:/opt/ros/ros_comm/utilities/cpp_common/lib:/opt/ros/ros/core/roslib/lib:/opt/ros/ros/tools/rospack/lib:/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/install/lib:/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/rtt/install/lib:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
> make[3]: Leaving directory `/opt/ard/arp_hml/build'
> /usr/bin/cmake -E cmake_progress_report /opt/ard/arp_hml/build/CMakeFiles
> 14
> [100%] Built target arp_hml-mock
>
>
I just tried this in a fresh orocos-pkg'ed package and the problem is still
here. So I think this is in the "default" Orocos (or Orocos+Ros) tags.

I did :
rosrun ocl orocreate-pkg port_test
I suppress all from CMakeLists.txt that is not required to build the
component (I suppress the lib, plugin, service, typekit,...)
I add RTT::InputPort<bool> inXXX ; at the end of port_test-component.hpp
I did make
the produced component is 1,6Mb.

I am sorry not to be abble to debug further, but I don't have any idea at
all on how to investigate more on this.

> >
>> >
>> >
>> > --
>> > Orocos-Users mailing list
>> > Orocos-Users [..] ...
>> > http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>> >
>>
>
>

Compilation size

On 12/06/2011 04:31 PM, Willy Lambert wrote:
>
>
> 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...
> <mailto:lambert [dot] willy [..] ...>>
>
>
>
> 2011/12/4 Peter Soetens <peter [..] ...
> <mailto:peter [..] ...>>
>
>
> Op 4 dec. 2011 14:49 schreef "Willy Lambert"
> <lambert [dot] willy [..] ... <mailto:lambert [dot] willy [..] ...>> het
> volgende:
>
>
> >
> >
> >
> > 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...
> <mailto:lambert [dot] willy [..] ...>>
> >>
> >> Hi all,
> >>
> >> I am wondering why some of my quite simple component takes
> ages and several Mb to build. So I am tryingto add one by one
> things from a simple TaskContext to add everything to my full
> component. It happens that adding this :
> >> InputPort<timespec> inMasterClock;
> >> to the .hpp and the required
> >> addEventPort("inMasterClock",inMasterClock)
> >> .doc("");
> >> to the cpp, lead to an increment of output library from 446K
> to 2.0M.
> >>
> >
> > To be precise it is the declaration of a
> member InputPort<XXX> inXXX; that adds 1,2M (even for
> a simple bool input port).
> >
> >>
> >> Is it normal ?
>
> No. Orocos version and build flags? Dus you include the extern
> template declarations ?
>
> Peter
>
> Ok some details :
>
> Here is my test.hpp file :
>
> #ifndef TEST_HPP_
> #define TEST_HPP_
> #include <rtt/RTT.hpp>
> using namespace RTT;
> class Test : public TaskContext
> {
> public:
> Test(const std::string& name);
>
> InputPort<bool> inBootUpFrame;
> };
> #endif
>
>
>
>
> here is my test.cpp file :
>
> #include "test.hpp"
> #include <rtt/Component.hpp>
> ORO_CREATE_COMPONENT( Test )
> Test::Test(const std::string& name) :
> TaskContext(name)
> {
> }
>
>
> Here is orocos version :
> ard@ard-host(8.1):/opt/ard/arp_hml$ rosrun ocl deployer-gnulinux
> --version
> OROCOS Toolchain version '2.5.0' ( GCC 4.4.5 ) -- GNU/Linux.
> (notice how useful is this "--version" command you made for "me"
> some times ago ;p)
>
> Here
>
>
> Here is the result :
> ard@ard-host(8.1):/opt/ard/arp_hml/lib/orocos/gnulinux$ ls -lah
> -rwxr-xr-x 1 ard ard 1.6M Dec 4 15:55 libarp_hml-mock-gnulinux.so
>
> Here is the compile outputs with VERBOSE=2. Sorry for not cleaning
> this, I did not succeed doing this outside my framework for now
>
> Scanning dependencies of target arp_hml-mock
> make[3]: Leaving directory `/opt/ard/arp_hml/build'
> make -f src/orocos/CMakeFiles/arp_hml-mock.dir/build.make
> src/orocos/CMakeFiles/arp_hml-mock.dir/build
> make[3]: Entering directory `/opt/ard/arp_hml/build'
> /usr/bin/cmake -E cmake_progress_report
> /opt/ard/arp_hml/build/CMakeFiles 14
> [100%] Building CXX object
> src/orocos/CMakeFiles/arp_hml-mock.dir/test.cpp.o
> cd /opt/ard/arp_hml/build/src/orocos && /home/ard/ccache/c++
> -DRTT_COMPONENT -DOROCOS_TARGET=gnulinux -D_FILE_OFFSET_BITS=64
> -D_LARGE_FILES -D__WXGTK__ -DBOOST_CB_DISABLE_DEBUG -pthread -O2 -g
> -fPIC -I/opt/ard/arp_hml/include -I/opt/ard/can_festival/include
> -I/opt/ard/can_festival/include/canfestival
> -I/opt/ard/rtt_arp_core/include -I/opt/ard/arp_core/src
> -I/opt/ard/arp_core/msg_gen/cpp/include
> -I/opt/ard/arp_core/srv_gen/cpp/include -I/usr/include/eigen3
> -I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/include
> -I/opt/ros_addons/rtt_ros_comm/rtt_rosgraph_msgs/include
> -I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/src
> -I/opt/ros_addons/rtt_ros_integration/rtt_rosnode/include
> -I/opt/ros_addons/orocos_toolchain/ocl/install/include/orocos
> -I/opt/ros_addons/orocos_toolchain/log4cpp/../install/include
> -I/opt/ros/ros_comm/messages/std_srvs/srv_gen/cpp/include
> -I/opt/ros/geometry/tf/include
> -I/opt/ros/geometry/tf/msg_gen/cpp/include
> -I/opt/ros/geometry/tf/srv_gen/cpp/include -I/opt/ros/bullet/include
> -I/opt/ros/geometry/angles/include
> -I/opt/ros/ros_comm/utilities/message_filters/include
> -I/opt/ros/ros_comm/messages/std_msgs/include
> -I/opt/ros/ros_comm/messages/std_msgs/msg_gen/cpp/include
> -I/opt/ros_addons/laser_drivers/hokuyo_node/msg/cpp
> -I/opt/ros_addons/laser_drivers/hokuyo_node/srv/cpp
> -I/opt/ros_addons/laser_drivers/hokuyo_node/include
> -I/opt/ros/common_msgs/sensor_msgs/include
> -I/opt/ros/common_msgs/sensor_msgs/msg_gen/cpp/include
> -I/opt/ros/common_msgs/sensor_msgs/srv_gen/cpp/include
> -I/opt/ros/common_msgs/geometry_msgs/msg_gen/cpp/include
> -I/opt/ros/driver_common/driver_base/include
> -I/opt/ros/driver_common/driver_base/msg/cpp
> -I/opt/ros/driver_common/driver_base/msg_gen/cpp/include
> -I/opt/ros/diagnostics/self_test/include
> -I/opt/ros/diagnostics/self_test/srv/cpp
> -I/opt/ros/diagnostics/diagnostic_updater/include
> -I/opt/ros/common_msgs/diagnostic_msgs/msg_gen/cpp/include
> -I/opt/ros/common_msgs/diagnostic_msgs/srv_gen/cpp/include
> -I/opt/ros/driver_common/dynamic_reconfigure/include
> -I/opt/ros/driver_common/dynamic_reconfigure/msg/cpp
> -I/opt/ros/driver_common/dynamic_reconfigure/srv/cpp
> -I/opt/ros/driver_common/dynamic_reconfigure/msg_gen/cpp/include
> -I/opt/ros/driver_common/dynamic_reconfigure/srv_gen/cpp/include
> -I/opt/ros/ros_comm/tools/rosbag/include
> -I/opt/ros/ros_comm/tools/topic_tools/include
> -I/opt/ros/ros_comm/tools/topic_tools/srv_gen/cpp/include
> -I/opt/ros/ros_comm/tools/rostest/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/msg_gen/cpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp/srv_gen/cpp/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp_serialization/include
> -I/opt/ros/ros_comm/clients/cpp/roscpp_traits/include
> -I/opt/ros/ros_comm/utilities/xmlrpcpp/src
> -I/opt/ros/ros_comm/tools/rosconsole/include
> -I/opt/ros/ros_comm/utilities/rostime/include
> -I/opt/ros/ros_comm/utilities/cpp_common/include
> -I/opt/ros/ros_comm/messages/rosgraph_msgs/msg_gen/cpp/include
> -I/opt/ros/ros/core/roslib/msg_gen/cpp/include
> -I/opt/ros/ros/core/roslib/include -I/opt/ros/ros/tools/rospack
> -I/opt/ros/ros/tools/rospack/include
> -I/opt/ard/arp_hml/srv_gen/cpp/include
> -I/opt/ros_addons/orocos_toolchain/rtt/install/include
> -I/opt/ros_addons/orocos_toolchain/rtt/install/include/orocos
> -I/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/..
> -I/opt/ros_addons/orocos_toolchain/rtt/../install/include
> -I/opt/ard/rtt_arp_core/.. -isystem
> /usr/lib/wx/include/gtk2-unicode-release-2.8 -isystem
> /usr/include/wx-2.8 -I/opt/ard/arp_hml/build/src
> -I/opt/ard/arp_hml/src -DROS_PACKAGE_NAME='"arp_hml"'
> -DBT_USE_DOUBLE_PRECISION -DBT_EULER_DEFAULT_ZYX -W -Wall
> -Wno-unused-parameter -fno-strict-aliasing -pthread -o
> CMakeFiles/arp_hml-mock.dir/test.cpp.o -c
> /opt/ard/arp_hml/src/orocos/test.cpp
> Linking CXX shared library
> ../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
> cd /opt/ard/arp_hml/build/src/orocos && /usr/bin/cmake -E
> cmake_link_script CMakeFiles/arp_hml-mock.dir/link.txt --verbose=2
> /home/ard/ccache/c++ -fPIC -pthread -O2 -g
> -Wl,-rpath,/opt/ard/arp_core/lib
> -Wl,-rpath,/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
> -Wl,-rpath,/opt/ros/geometry/tf/lib -Wl,-rpath,/opt/ros/bullet/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/message_filters/lib
> -Wl,-rpath,/opt/ros_addons/laser_drivers/hokuyo_node/lib
> -Wl,-rpath,/opt/ros/common_msgs/sensor_msgs/lib
> -Wl,-rpath,/opt/ros/driver_common/dynamic_reconfigure/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/rosbag/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/topic_tools/lib
> -Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp/lib
> -Wl,-rpath,/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/xmlrpcpp/lib
> -Wl,-rpath,/opt/ros/ros_comm/tools/rosconsole/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/rostime/lib
> -Wl,-rpath,/opt/ros/ros_comm/utilities/cpp_common/lib
> -Wl,-rpath,/opt/ros/ros/core/roslib/lib
> -Wl,-rpath,/opt/ros/ros/tools/rospack/lib -pthread -Wl,-z,defs
> -shared -Wl,-soname,libarp_hml-mock-gnulinux.so -o
> ../../../lib/orocos/gnulinux/libarp_hml-mock-gnulinux.so
> CMakeFiles/arp_hml-mock.dir/test.cpp.o -L/opt/ard/can_festival/lib
> -L/opt/ard/arp_core/lib -L/opt/ros_addons/orocos_toolchain/ocl/lib
> -L/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib
> -L/opt/ros/geometry/tf/lib -L/opt/ros/bullet/lib
> -L/opt/ros/ros_comm/utilities/message_filters/lib
> -L/opt/ros_addons/laser_drivers/hokuyo_node/lib
> -L/opt/ros/common_msgs/sensor_msgs/lib
> -L/opt/ros/driver_common/dynamic_reconfigure/lib
> -L/opt/ros/ros_comm/tools/rosbag/lib
> -L/opt/ros/ros_comm/tools/topic_tools/lib
> -L/opt/ros/ros_comm/clients/cpp/roscpp/lib
> -L/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib
> -L/opt/ros/ros_comm/utilities/xmlrpcpp/lib
> -L/opt/ros/ros_comm/tools/rosconsole/lib
> -L/opt/ros/ros_comm/utilities/rostime/lib
> -L/opt/ros/ros_comm/utilities/cpp_common/lib
> -L/opt/ros/ros/core/roslib/lib -L/opt/ros/ros/tools/rospack/lib
> -L/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types -L/opt/ros_addons/orocos_toolchain/install/lib
> -L/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types
> -L/opt/ros_addons/orocos_toolchain/rtt/install/lib
> /opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-typekit-gnulinux.so
> /opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types/librtt-std_msgs-ros-transport-gnulinux.so
> /opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
> -lpthread -lrt
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
> /opt/ros_addons/orocos_toolchain/install/lib/liborocos-rtt-gnulinux.so
> -lpthread -lrt -Wl,-Bstatic -lcanfestival_unix -lcanfestival
> -Wl,-Bdynamic -larp_core -lrt -larp_core-math -larp_core-timer -ltf
> -lBulletDynamics -lBulletCollision -lLinearMath -lmessage_filters
> -llibhokuyo -lsensor_msgs -ldynamic_reconfigure_config_init_mutex
> -lrosbag -ltopic_tools -lros -lboost_signals-mt
> -lroscpp_serialization -lXmlRpc -lrosconsole -lboost_thread-mt
> -llog4cxx -lrostime -lcpp_common -lroslib -lrospack -lrosstack
> /opt/ros_addons/orocos_toolchain/rtt/install/lib/liborocos-rtt-gnulinux.so.2.5.0
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-typekit-gnulinux.so
> /opt/ard/rtt_arp_core/lib/orocos/gnulinux/types/librtt-arp_core-ros-transport-gnulinux.so
> -Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic
> -larp_core -larp_core-math -larp_core-timer -ltf -lBulletDynamics
> -lBulletCollision -lLinearMath -lmessage_filters -llibhokuyo
> -lsensor_msgs -ldynamic_reconfigure_config_init_mutex -lrosbag
> -ltopic_tools -lros -lboost_signals-mt -lroscpp_serialization
> -lXmlRpc -lrosconsole -lboost_thread-mt -llog4cxx -lrostime
> -lcpp_common -lroslib -lrospack -lrosstack -lboost_filesystem-mt
> -lboost_system-mt -lboost_serialization-mt -lpthread -lrt -ldl
> -Wl,-rpath,/opt/ard/can_festival/lib:/opt/ard/arp_core/lib:/opt/ros_addons/orocos_toolchain/ocl/lib:/opt/ros_addons/orocos_toolchain/log4cpp/../install/lib:/opt/ros/geometry/tf/lib:/opt/ros/bullet/lib:/opt/ros/ros_comm/utilities/message_filters/lib:/opt/ros_addons/laser_drivers/hokuyo_node/lib:/opt/ros/common_msgs/sensor_msgs/lib:/opt/ros/driver_common/dynamic_reconfigure/lib:/opt/ros/ros_comm/tools/rosbag/lib:/opt/ros/ros_comm/tools/topic_tools/lib:/opt/ros/ros_comm/clients/cpp/roscpp/lib:/opt/ros/ros_comm/clients/cpp/roscpp_serialization/lib:/opt/ros/ros_comm/utilities/xmlrpcpp/lib:/opt/ros/ros_comm/tools/rosconsole/lib:/opt/ros/ros_comm/utilities/rostime/lib:/opt/ros/ros_comm/utilities/cpp_common/lib:/opt/ros/ros/core/roslib/lib:/opt/ros/ros/tools/rospack/lib:/opt/ros_addons/rtt_ros_comm/rtt_std_msgs/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/install/lib:/opt/ard/rtt_arp_core/lib/orocos/gnulinux/types:/opt/ros_addons/orocos_toolchain/rtt/install/lib::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
>
> make[3]: Leaving directory `/opt/ard/arp_hml/build'
> /usr/bin/cmake -E cmake_progress_report
> /opt/ard/arp_hml/build/CMakeFiles 14
> [100%] Built target arp_hml-mock
>
>
> I just tried this in a fresh orocos-pkg'ed package and the problem is
> still here. So I think this is in the "default" Orocos (or Orocos+Ros) tags.
>
> I did :
> rosrun ocl orocreate-pkg port_test
> I suppress all from CMakeLists.txt that is not required to build the
> component (I suppress the lib, plugin, service, typekit,...)
> I add RTT::InputPort<bool> inXXX ; at the end of port_test-component.hpp
> I did make
> the produced component is 1,6Mb.
>
> I am sorry not to be abble to debug further, but I don't have any idea
> at all on how to investigate more on this.
>
> >
> >
> >
> > --
> > Orocos-Users mailing list
> > Orocos-Users [..] ...
> <mailto:Orocos-Users [..] ...>
> > http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
> >
>
>
>
I did some tests a few months ago (that I have yet to make public,
sorry), and compilation size is greatly reduced when the ports local
operations (i.e. scripting operations) are removed. I even have a patch
on my machine to disable them at compile time to help rock users.

Sylvain

Compilation size

2011/12/6 Sylvain Joyeux <sylvain [dot] joyeux [..] ...>

> On 12/06/2011 04:31 PM, Willy Lambert wrote:
>
>>
>>
>> 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...
>> <mailto:lambert.willy@gmail.**com <lambert [dot] willy [..] ...>>>
>>
>>
>>
>> 2011/12/4 Peter Soetens <peter [..] ...
>> <mailto:peter@thesourceworks.**com <peter [..] ...>>>
>>
>>
>>
>> Op 4 dec. 2011 14:49 schreef "Willy Lambert"
>> <lambert [dot] willy [..] ... <mailto:lambert.willy@gmail.**com<lambert [dot] willy [..] ...>>>
>> het
>>
>> volgende:
>>
>>
>> >
>> >
>> >
>> > 2011/12/4 Willy Lambert <lambert [dot] willy [..] ...
>> <mailto:lambert.willy@gmail.**com <lambert [dot] willy [..] ...>>>
>>
>> >>
>> >> Hi all,
>> >>
>> >> I am wondering why some of my quite simple component takes
>> ages and several Mb to build. So I am tryingto add one by one
>> things from a simple TaskContext to add everything to my full
>> component. It happens that adding this :
>> >> InputPort<timespec> inMasterClock;
>> >> to the .hpp and the required
>> >> addEventPort("inMasterClock",**inMasterClock)
>> >> .doc("");
>> >> to the cpp, lead to an increment of output library from 446K
>> to 2.0M.
>> >>
>> >
>> > To be precise it is the declaration of a
>> member InputPort<XXX> inXXX; that adds 1,2M (even for
>> a simple bool input port).
>> >
>> >>
>> >> Is it normal ?
>>
>> No. Orocos version and build flags? Dus you include the extern
>> template declarations ?
>>
>> Peter
>>
>> Ok some details :
>>
>> Here is my test.hpp file :
>>
>> #ifndef TEST_HPP_
>> #define TEST_HPP_
>> #include <rtt/RTT.hpp>
>> using namespace RTT;
>> class Test : public TaskContext
>> {
>> public:
>> Test(const std::string& name);
>>
>> InputPort<bool> inBootUpFrame;
>> };
>> #endif
>>
>>
>>
>>
>> here is my test.cpp file :
>>
>> #include "test.hpp"
>> #include <rtt/Component.hpp>
>> ORO_CREATE_COMPONENT( Test )
>> Test::Test(const std::string& name) :
>> TaskContext(name)
>> {
>> }
>>
>>
>> Here is orocos version :
>> ard@ard-host(8.1):/opt/ard/**arp_hml$ rosrun ocl deployer-gnulinux
>> --version
>> OROCOS Toolchain version '2.5.0' ( GCC 4.4.5 ) -- GNU/Linux.
>> (notice how useful is this "--version" command you made for "me"
>> some times ago ;p)
>>
>> Here
>>
>>
>> Here is the result :
>> ard@ard-host(8.1):/opt/ard/**arp_hml/lib/orocos/gnulinux$ ls -lah
>> -rwxr-xr-x 1 ard ard 1.6M Dec 4 15:55 libarp_hml-mock-gnulinux.so
>>
>> Here is the compile outputs with VERBOSE=2. Sorry for not cleaning
>> this, I did not succeed doing this outside my framework for now
>>
>> Scanning dependencies of target arp_hml-mock
>> make[3]: Leaving directory `/opt/ard/arp_hml/build'
>> make -f src/orocos/CMakeFiles/arp_hml-**mock.dir/build.make
>> src/orocos/CMakeFiles/arp_hml-**mock.dir/build
>> make[3]: Entering directory `/opt/ard/arp_hml/build'
>> /usr/bin/cmake -E cmake_progress_report
>> /opt/ard/arp_hml/build/**CMakeFiles 14
>> [100%] Building CXX object
>> src/orocos/CMakeFiles/arp_hml-**mock.dir/test.cpp.o
>> cd /opt/ard/arp_hml/build/src/**orocos && /home/ard/ccache/c++
>> -DRTT_COMPONENT -DOROCOS_TARGET=gnulinux -D_FILE_OFFSET_BITS=64
>> -D_LARGE_FILES -D__WXGTK__ -DBOOST_CB_DISABLE_DEBUG -pthread -O2 -g
>> -fPIC -I/opt/ard/arp_hml/include -I/opt/ard/can_festival/**include
>> -I/opt/ard/can_festival/**include/canfestival
>> -I/opt/ard/rtt_arp_core/**include -I/opt/ard/arp_core/src
>> -I/opt/ard/arp_core/msg_gen/**cpp/include
>> -I/opt/ard/arp_core/srv_gen/**cpp/include -I/usr/include/eigen3
>> -I/opt/ros_addons/rtt_ros_**comm/rtt_std_msgs/include
>> -I/opt/ros_addons/rtt_ros_**comm/rtt_rosgraph_msgs/include
>> -I/opt/ros_addons/rtt_ros_**integration/rtt_rosnode/src
>> -I/opt/ros_addons/rtt_ros_**integration/rtt_rosnode/**include
>> -I/opt/ros_addons/orocos_**toolchain/ocl/install/include/**orocos
>> -I/opt/ros_addons/orocos_**toolchain/log4cpp/../install/**include
>> -I/opt/ros/ros_comm/messages/**std_srvs/srv_gen/cpp/include
>> -I/opt/ros/geometry/tf/include
>> -I/opt/ros/geometry/tf/msg_**gen/cpp/include
>> -I/opt/ros/geometry/tf/srv_**gen/cpp/include -I/opt/ros/bullet/include
>> -I/opt/ros/geometry/angles/**include
>> -I/opt/ros/ros_comm/utilities/**message_filters/include
>> -I/opt/ros/ros_comm/messages/**std_msgs/include
>> -I/opt/ros/ros_comm/messages/**std_msgs/msg_gen/cpp/include
>> -I/opt/ros_addons/laser_**drivers/hokuyo_node/msg/cpp
>> -I/opt/ros_addons/laser_**drivers/hokuyo_node/srv/cpp
>> -I/opt/ros_addons/laser_**drivers/hokuyo_node/include
>> -I/opt/ros/common_msgs/sensor_**msgs/include
>> -I/opt/ros/common_msgs/sensor_**msgs/msg_gen/cpp/include
>> -I/opt/ros/common_msgs/sensor_**msgs/srv_gen/cpp/include
>> -I/opt/ros/common_msgs/**geometry_msgs/msg_gen/cpp/**include
>> -I/opt/ros/driver_common/**driver_base/include
>> -I/opt/ros/driver_common/**driver_base/msg/cpp
>> -I/opt/ros/driver_common/**driver_base/msg_gen/cpp/**include
>> -I/opt/ros/diagnostics/self_**test/include
>> -I/opt/ros/diagnostics/self_**test/srv/cpp
>> -I/opt/ros/diagnostics/**diagnostic_updater/include
>> -I/opt/ros/common_msgs/**diagnostic_msgs/msg_gen/cpp/**include
>> -I/opt/ros/common_msgs/**diagnostic_msgs/srv_gen/cpp/**include
>> -I/opt/ros/driver_common/**dynamic_reconfigure/include
>> -I/opt/ros/driver_common/**dynamic_reconfigure/msg/cpp
>> -I/opt/ros/driver_common/**dynamic_reconfigure/srv/cpp
>> -I/opt/ros/driver_common/**dynamic_reconfigure/msg_gen/**cpp/include
>> -I/opt/ros/driver_common/**dynamic_reconfigure/srv_gen/**cpp/include
>> -I/opt/ros/ros_comm/tools/**rosbag/include
>> -I/opt/ros/ros_comm/tools/**topic_tools/include
>> -I/opt/ros/ros_comm/tools/**topic_tools/srv_gen/cpp/**include
>> -I/opt/ros/ros_comm/tools/**rostest/include
>> -I/opt/ros/ros_comm/clients/**cpp/roscpp/include
>> -I/opt/ros/ros_comm/clients/**cpp/roscpp/msg_gen/cpp/include
>> -I/opt/ros/ros_comm/clients/**cpp/roscpp/srv_gen/cpp/include
>> -I/opt/ros/ros_comm/clients/**cpp/roscpp_serialization/**include
>> -I/opt/ros/ros_comm/clients/**cpp/roscpp_traits/include
>> -I/opt/ros/ros_comm/utilities/**xmlrpcpp/src
>> -I/opt/ros/ros_comm/tools/**rosconsole/include
>> -I/opt/ros/ros_comm/utilities/**rostime/include
>> -I/opt/ros/ros_comm/utilities/**cpp_common/include
>> -I/opt/ros/ros_comm/messages/**rosgraph_msgs/msg_gen/cpp/**include
>> -I/opt/ros/ros/core/roslib/**msg_gen/cpp/include
>> -I/opt/ros/ros/core/roslib/**include -I/opt/ros/ros/tools/rospack
>> -I/opt/ros/ros/tools/rospack/**include
>> -I/opt/ard/arp_hml/srv_gen/**cpp/include
>> -I/opt/ros_addons/orocos_**toolchain/rtt/install/include
>> -I/opt/ros_addons/orocos_**toolchain/rtt/install/include/**orocos
>> -I/opt/ros_addons/rtt_ros_**comm/rtt_std_msgs/..
>> -I/opt/ros_addons/orocos_**toolchain/rtt/../install/**include
>> -I/opt/ard/rtt_arp_core/.. -isystem
>> /usr/lib/wx/include/gtk2-**unicode-release-2.8 -isystem
>> /usr/include/wx-2.8 -I/opt/ard/arp_hml/build/src
>> -I/opt/ard/arp_hml/src -DROS_PACKAGE_NAME='"arp_hml"'
>> -DBT_USE_DOUBLE_PRECISION -DBT_EULER_DEFAULT_ZYX -W -Wall
>> -Wno-unused-parameter -fno-strict-aliasing -pthread -o
>> CMakeFiles/arp_hml-mock.dir/**test.cpp.o -c
>> /opt/ard/arp_hml/src/orocos/**test.cpp
>> Linking CXX shared library
>> ../../../lib/orocos/gnulinux/**libarp_hml-mock-gnulinux.so
>> cd /opt/ard/arp_hml/build/src/**orocos && /usr/bin/cmake -E
>> cmake_link_script CMakeFiles/arp_hml-mock.dir/**link.txt --verbose=2
>> /home/ard/ccache/c++ -fPIC -pthread -O2 -g
>> -Wl,-rpath,/opt/ard/arp_core/**lib
>> -Wl,-rpath,/opt/ros_addons/**orocos_toolchain/log4cpp/../**install/lib
>> -Wl,-rpath,/opt/ros/geometry/**tf/lib -Wl,-rpath,/opt/ros/bullet/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**utilities/message_filters/lib
>> -Wl,-rpath,/opt/ros_addons/**laser_drivers/hokuyo_node/lib
>> -Wl,-rpath,/opt/ros/common_**msgs/sensor_msgs/lib
>> -Wl,-rpath,/opt/ros/driver_**common/dynamic_reconfigure/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**tools/rosbag/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**tools/topic_tools/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**clients/cpp/roscpp/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**clients/cpp/roscpp_**serialization/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**utilities/xmlrpcpp/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**tools/rosconsole/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**utilities/rostime/lib
>> -Wl,-rpath,/opt/ros/ros_comm/**utilities/cpp_common/lib
>> -Wl,-rpath,/opt/ros/ros/core/**roslib/lib
>> -Wl,-rpath,/opt/ros/ros/tools/**rospack/lib -pthread -Wl,-z,defs
>> -shared -Wl,-soname,libarp_hml-mock-**gnulinux.so -o
>> ../../../lib/orocos/gnulinux/**libarp_hml-mock-gnulinux.so
>> CMakeFiles/arp_hml-mock.dir/**test.cpp.o -L/opt/ard/can_festival/lib
>> -L/opt/ard/arp_core/lib -L/opt/ros_addons/orocos_**toolchain/ocl/lib
>> -L/opt/ros_addons/orocos_**toolchain/log4cpp/../install/**lib
>> -L/opt/ros/geometry/tf/lib -L/opt/ros/bullet/lib
>> -L/opt/ros/ros_comm/utilities/**message_filters/lib
>> -L/opt/ros_addons/laser_**drivers/hokuyo_node/lib
>> -L/opt/ros/common_msgs/sensor_**msgs/lib
>> -L/opt/ros/driver_common/**dynamic_reconfigure/lib
>> -L/opt/ros/ros_comm/tools/**rosbag/lib
>> -L/opt/ros/ros_comm/tools/**topic_tools/lib
>> -L/opt/ros/ros_comm/clients/**cpp/roscpp/lib
>> -L/opt/ros/ros_comm/clients/**cpp/roscpp_serialization/lib
>> -L/opt/ros/ros_comm/utilities/**xmlrpcpp/lib
>> -L/opt/ros/ros_comm/tools/**rosconsole/lib
>> -L/opt/ros/ros_comm/utilities/**rostime/lib
>> -L/opt/ros/ros_comm/utilities/**cpp_common/lib
>> -L/opt/ros/ros/core/roslib/lib -L/opt/ros/ros/tools/rospack/**lib
>> -L/opt/ros_addons/rtt_ros_**comm/rtt_std_msgs/lib/orocos/**gnulinux/types
>> -L/opt/ros_addons/orocos_**toolchain/install/lib
>> -L/opt/ard/rtt_arp_core/lib/**orocos/gnulinux/types
>> -L/opt/ros_addons/orocos_**toolchain/rtt/install/lib
>> /opt/ros_addons/rtt_ros_comm/**rtt_std_msgs/lib/orocos/**
>> gnulinux/types/librtt-std_**msgs-typekit-gnulinux.so
>> /opt/ros_addons/rtt_ros_comm/**rtt_std_msgs/lib/orocos/**
>> gnulinux/types/librtt-std_**msgs-ros-transport-gnulinux.so
>> /opt/ros_addons/orocos_**toolchain/install/lib/**
>> liborocos-rtt-gnulinux.so
>> -lpthread -lrt
>> /opt/ard/rtt_arp_core/lib/**orocos/gnulinux/types/librtt-**
>> arp_core-typekit-gnulinux.so
>> /opt/ard/rtt_arp_core/lib/**orocos/gnulinux/types/librtt-**
>> arp_core-ros-transport-**gnulinux.so
>> /opt/ros_addons/orocos_**toolchain/install/lib/**
>> liborocos-rtt-gnulinux.so
>> -lpthread -lrt -Wl,-Bstatic -lcanfestival_unix -lcanfestival
>> -Wl,-Bdynamic -larp_core -lrt -larp_core-math -larp_core-timer -ltf
>> -lBulletDynamics -lBulletCollision -lLinearMath -lmessage_filters
>> -llibhokuyo -lsensor_msgs -ldynamic_reconfigure_config_**init_mutex
>> -lrosbag -ltopic_tools -lros -lboost_signals-mt
>> -lroscpp_serialization -lXmlRpc -lrosconsole -lboost_thread-mt
>> -llog4cxx -lrostime -lcpp_common -lroslib -lrospack -lrosstack
>> /opt/ros_addons/orocos_**toolchain/rtt/install/lib/**
>> liborocos-rtt-gnulinux.so.2.5.**0
>> /opt/ard/rtt_arp_core/lib/**orocos/gnulinux/types/librtt-**
>> arp_core-typekit-gnulinux.so
>> /opt/ard/rtt_arp_core/lib/**orocos/gnulinux/types/librtt-**
>> arp_core-ros-transport-**gnulinux.so
>> -Wl,-Bstatic -lcanfestival_unix -lcanfestival -Wl,-Bdynamic
>> -larp_core -larp_core-math -larp_core-timer -ltf -lBulletDynamics
>> -lBulletCollision -lLinearMath -lmessage_filters -llibhokuyo
>> -lsensor_msgs -ldynamic_reconfigure_config_**init_mutex -lrosbag
>> -ltopic_tools -lros -lboost_signals-mt -lroscpp_serialization
>> -lXmlRpc -lrosconsole -lboost_thread-mt -llog4cxx -lrostime
>> -lcpp_common -lroslib -lrospack -lrosstack -lboost_filesystem-mt
>> -lboost_system-mt -lboost_serialization-mt -lpthread -lrt -ldl
>> -Wl,-rpath,/opt/ard/can_**festival/lib:/opt/ard/arp_**
>> core/lib:/opt/ros_addons/**orocos_toolchain/ocl/lib:/opt/**
>> ros_addons/orocos_toolchain/**log4cpp/../install/lib:/opt/**
>> ros/geometry/tf/lib:/opt/ros/**bullet/lib:/opt/ros/ros_comm/**
>> utilities/message_filters/lib:**/opt/ros_addons/laser_drivers/**
>> hokuyo_node/lib:/opt/ros/**common_msgs/sensor_msgs/lib:/**
>> opt/ros/driver_common/dynamic_**reconfigure/lib:/opt/ros/ros_**
>> comm/tools/rosbag/lib:/opt/**ros/ros_comm/tools/topic_**
>> tools/lib:/opt/ros/ros_comm/**clients/cpp/roscpp/lib:/opt/**
>> ros/ros_comm/clients/cpp/**roscpp_serialization/lib:/opt/**
>> ros/ros_comm/utilities/**xmlrpcpp/lib:/opt/ros/ros_**
>> comm/tools/rosconsole/lib:/**opt/ros/ros_comm/utilities/**
>> rostime/lib:/opt/ros/ros_comm/**utilities/cpp_common/lib:/opt/**
>> ros/ros/core/roslib/lib:/opt/**ros/ros/tools/rospack/lib:/**
>> opt/ros_addons/rtt_ros_comm/**rtt_std_msgs/lib/orocos/**
>> gnulinux/types:/opt/ros_**addons/orocos_toolchain/**
>> install/lib:/opt/ard/rtt_arp_**core/lib/orocos/gnulinux/**
>> types:/opt/ros_addons/orocos_**toolchain/rtt/install/lib::
>>
> ::::::::::::::::::::::::::::::**::::::::::::::::::::::::::::::**
> ::::::::::::::::::::::::::::::**::::::::::::::::::::::::::::::**:::::
>
>>
>> make[3]: Leaving directory `/opt/ard/arp_hml/build'
>> /usr/bin/cmake -E cmake_progress_report
>> /opt/ard/arp_hml/build/**CMakeFiles 14
>> [100%] Built target arp_hml-mock
>>
>>
>> I just tried this in a fresh orocos-pkg'ed package and the problem is
>> still here. So I think this is in the "default" Orocos (or Orocos+Ros)
>> tags.
>>
>> I did :
>> rosrun ocl orocreate-pkg port_test
>> I suppress all from CMakeLists.txt that is not required to build the
>> component (I suppress the lib, plugin, service, typekit,...)
>> I add RTT::InputPort<bool> inXXX ; at the end of port_test-component.hpp
>> I did make
>> the produced component is 1,6Mb.
>>
>> I am sorry not to be abble to debug further, but I don't have any idea
>> at all on how to investigate more on this.
>>
>> >
>> >
>> >
>> > --
>> > Orocos-Users mailing list
>> > Orocos-Users [..] ....**kuleuven.be<Orocos-Users [..] ...>
>> <mailto:Orocos-Users@lists.**mech.kuleuven.be<Orocos-Users [..] ...>
>> >
>> > http://lists.mech.kuleuven.be/**mailman/listinfo/orocos-users<http://lis...
>> >
>>
>>
>>
>> I did some tests a few months ago (that I have yet to make public,
> sorry), and compilation size is greatly reduced when the ports local
> operations (i.e. scripting operations) are removed. I even have a patch on
> my machine to disable them at compile time to help rock users.
>
>
Could you tell me how to do this ?
What are local operations ?

To precise the problem, the output lib is 200Ko (base component) +
number_of_different_type_in_port * ~1,2Mb.
So a component with 10 bool ports is just 1,6Mb heavy, and a 3 port of
different type (double, int bool) is 3,9Mb heavy.

I don't mind investigating more, but I don't know what to do.

> Sylvain
>