Build problem with RTT 1.6.1+

I checked the latest version of RTT from the SVN repository today and got the following compiling error... strlen missing? I am using gcc version 4.3.2... is this a gcc problem? I assume this was never seen on your testing machines.


[ 66%] Building CXX object src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o
/home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp: In member function 'RTT::rt_std::basic_ostreams& RTT::rt_std::basic_ostreams::operator<<(char*)':

/home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp:136: error: 'strlen' was not declared in this scope
make[2]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o] Error 1
make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/all] Error 2

make: *** [all] Error 2

Build problem with RTT 1.6.1+

On Thursday 22 January 2009 21:19:30 John Yamokoski wrote:
> I checked the latest version of RTT from the SVN repository today and got
> the following compiling error... strlen missing? I am using gcc version
> 4.3.2... is this a gcc problem? I assume this was never seen on your
> testing machines.
>
> [ 66%] Building CXX object
> src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o
> /home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp: In member function
> 'RTT::rt_std::basic_ostreams&
> RTT::rt_std::basic_ostreams::operator<<(char*)':
> /home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp:136: error: 'strlen'
> was not declared in this scope
> make[2]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o]
> Error 1
> make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/all] Error 2
> make: *** [all] Error 2

Thanks for reporting. The attached patch should fix this by including <cstring>

cd orocos-rtt
patch -p0 < fix-string-in-rtstreams.patch

Peter

Build problem with RTT 1.6.1+

On Thursday, January 22, 2009, at 03:19PM, "John Yamokoski" <yamokosk [..] ...> wrote:
>I checked the latest version of RTT from the SVN repository today and got
>the following compiling error... strlen missing? I am using gcc version
>4.3.2... is this a gcc problem? I assume this was never seen on your testing
>machines.
>
>[ 66%] Building CXX object
>src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o
>/home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp: In member function
>'RTT::rt_std::basic_ostreams&
>RTT::rt_std::basic_ostreams::operator<<(char*)':
>/home/yamokosk/Source/orocos-rtt/src/os/rtstreams.cpp:136: error: 'strlen'
>was not declared in this scope
>make[2]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/os/rtstreams.o]
>Error 1
>make[1]: *** [src/CMakeFiles/orocos-rtt-dynamic_lxrt.dir/all] Error 2
>make: *** [all] Error 2

What OS are you compiling this under? I've compiled RTT from the trunk in the past couple of days, under Ubuntu 8.10 which IIRC is the gcc 4.3.x compiler. I had no problems, but I was using gnulinux and not lxrt. Does that file simply need "#include <string.h>"?
S