Compiling top-of-git rtt-2.0-mainline

Hi,

compiling rtt-2.0 mainline it's an odyssey :-)

first of all, the patch to compile against 1.42 must be applied, because, or
doesn't compile, or in my case with 1.40 the compiler is eating more memory,
and memory and finally collapse; and I'm working with a PentiumD, 1Gb RAM and
debian squeeze amd64 kernel distro and swap area of 3Gb and g++ 4.4.4-1

The file where it collapses is :
Building CXX object
rtt/CMakeFiles/orocos-rtt-dynamic_gnulinux.dir/types/RealTimeTypekitTypes.cpp.o
[ 0%] Building CXX object
rtt/CMakeFiles/orocos-rtt-static_gnulinux.dir/types/RealTimeTypekitTypes.cpp

With boost1.40 and the patch applied, orocos-rtt compile. It needs about 6
hours. It shows one warning that I don't know if are important:

--------
In file included
from /home/leo/robotica/orocos/orocos-git/rtt/extras/IRQActivity.cpp:39:
/home/leo/robotica/orocos/orocos-git/rtt/extras/IRQActivity.hpp:54:2: warning:
#warning "IRQActivity is available only on Xenomai. It will fail on startup"

OTOH, with the debian package, gperf it's not a dependency. So, in my case i
don't have gperf, I have gperf-ace. When I compile, I got this message is ome
files:

[ 63%] Generating ServicesS.cpp, ServicesC.cpp, ServicesS.h, ServicesS.inl,
ServicesC.h, ServicesC.inl
TAO_IDL: warning, GPERF could not be executed
Perfect Hashing or Binary/Linear Search cannot be done without GPERF
Now, using Dynamic Hashing..
To use Perfect Hashing or Binary/Linear Search strategy
-Build gperf at $ACE_ROOT/apps/gperf/src
-Set the environment variable $ACE_ROOT appropriately or add
$ACE_ROOT/bin to the PATH
-Refer to Operation Lookup section in the TAO IDL User Guide
($TAO_ROOT/docs/compiler.html) for more details
processing /home/leo/robotica/orocos/orocos-git/rtt/transports/corba/Services.idl

So,

it's possible to make orocos-rtt no so hungry of memory when compile?

it's possible to modify cmake to use gperf-ace or it doesn't worthwhile and
we have gperf as build dependency?

Regards,

Leo

Compiling top-of-git rtt-2.0-mainline

Leopold Palomo-Avellaneda wrote:
> Hi,
>
> compiling rtt-2.0 mainline it's an odyssey :-)
>
> first of all, the patch to compile against 1.42 must be applied, because, or
> doesn't compile, or in my case with 1.40 the compiler is eating more memory,
> and memory and finally collapse; and I'm working with a PentiumD, 1Gb RAM and
> debian squeeze amd64 kernel distro and swap area of 3Gb and g++ 4.4.4-1
>
> The file where it collapses is :
> Building CXX object
> rtt/CMakeFiles/orocos-rtt-dynamic_gnulinux.dir/types/RealTimeTypekitTypes.cpp.o
> [ 0%] Building CXX object
> rtt/CMakeFiles/orocos-rtt-static_gnulinux.dir/types/RealTimeTypekitTypes.cpp
>
> With boost1.40 and the patch applied, orocos-rtt compile. It needs about 6
> hours. It shows one warning that I don't know if are important:
>
The warning is harmless.

It takes 6 hours because it needs a lot of memory, and your system
probably starts to swap heavily.

This is a known bug, and we're thinking about solutions.