[ros-users] running ROS on FreeBSD

Rene Ladan r.c.ladan at gmail.com
Mon Mar 22 17:08:18 UTC 2010


Hi Tully,

after working around ticket 2176, i.e. invoking the build of
rosconsole manually,
I stumbled upon a lot of compiler errors related to log4cxx.  From the log
(warnings related to uninitialized boost members removed):

[ 50%] Building CXX object CMakeFiles/rosconsole.dir/src/rosconsole/rosconsole.o
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: At
global scope:
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:61:
error: 'getDebug' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:62:
error: 'getInfo' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:63:
error: 'getWarn' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:64:
error: 'getError' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:65:
error: 'getFatal' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
member function 'virtual const char*
ros::console::SeverityToken::getString(const
log4cxx::spi::LoggingEventPtr&)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:136:
error: 'getFatal' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:140:
error: 'getError' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:144:
error: 'getWarn' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:148:
error: 'getInfo' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:152:
error: 'getDebug' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
member function 'virtual const char*
ros::console::FileToken::getString(const
log4cxx::spi::LoggingEventPtr&)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:201:
error: 'const class log4cxx::spi::LoggingEvent' has no member named
'getLocationInformation'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
member function 'virtual const char*
ros::console::FunctionToken::getString(const
log4cxx::spi::LoggingEventPtr&)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:209:
error: 'const class log4cxx::spi::LoggingEvent' has no member named
'getLocationInformation'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
member function 'virtual const char*
ros::console::LineToken::getString(const
log4cxx::spi::LoggingEventPtr&)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:218:
error: 'const class log4cxx::spi::LoggingEvent' has no member named
'getLocationInformation'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
member function 'void ros::console::Formatter::print(const
log4cxx::spi::LoggingEventPtr&)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:307:
error: 'getFatal' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:312:
error: 'getError' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:317:
error: 'getWarn' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:321:
error: 'getInfo' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:325:
error: 'getDebug' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: At
global scope:
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:359:
error: 'log4cxx::helpers::Pool' has not been declared
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
function 'void ros::console::do_initialize()':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:385:
error: 'getInfo' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:388:
error: 'getWarn' is not a member of 'log4cxx::Level'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:414:
error: cannot allocate an object of abstract type
'ros::console::ROSConsoleStdioAppender'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:352:
note:   because the following virtual functions are pure within
'ros::console::ROSConsoleStdioAppender':
/usr/local/include/log4cxx/appenderskeleton.h:100: note: 	virtual void
log4cxx::AppenderSkeleton::append(const
log4cxx::spi::LoggingEventPtr&)
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
function 'void ros::console::print(ros::console::FilterBase*,
log4cxx::Logger*, ros::console::Level, const char*, int, const char*,
const char*, ...)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:525:
error: 'LocationInfo' is not a member of 'log4cxx::spi'
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp: In
function 'void ros::console::print(ros::console::FilterBase*,
log4cxx::Logger*, ros::console::Level, const std::stringstream&, const
char*, int, const char*)':
/usr/home/rene/ros/core/rosconsole/src/rosconsole/rosconsole.cpp:575:
error: 'LocationInfo' is not a member of 'log4cxx::spi'
gmake[2]: *** [CMakeFiles/rosconsole.dir/src/rosconsole/rosconsole.o] Error 1

Does this happen because the log4cxx port on  FreeBSD is behind (0.9.7
instead of 0.10.0) ?

Rene

2010/3/18 Tully Foote <tfoote at willowgarage.com>:
> Rene,
>
> Feel free to send in the tickets.  There haven't been too many changes in
> the areas you are working between 1.0 and 1.1 and because they are
> compatibility patches we will likely put them into the next patch releases
> on the 1.1 and 1.0 branches.
>
> I expect that you can just clean and update to go to 1.1.  As above not a
> lot has changed in the areas you are workon on to cause conflicts.
>
> Tully
>
>
> On Thu, Mar 18, 2010 at 7:30 AM, Rene Ladan <r.c.ladan at gmail.com> wrote:
>>
>> Hi Tully (and list),
>>
>> a bit late reply from me.
>>
>> I think the patches for rosdep were mostly complete (I now have to adapt
>> them
>> to ROS 1.1.0).  Yesterday evening I could bootstrap ROS up to somewhere in
>> rosconsole, where the compiler (gcc 4.2.1) would error out.
>>
>> If nobody objects I'll send in some FreeBSD-support tickets with trac.  By
>> 'next
>> release' you mean 1.2.0 ? Is there a rough timeline for that?
>>
>> Can I just do a 'make clean' in my ROS checkout or would a clean checkout
>> with
>> re-applied patches be better?
>>
>> Regards,
>> Rene
>>
>> 2010/3/10 Tully Foote <tfoote at willowgarage.com>:
>> > Hi Rene,
>> >
>> > Thanks for putting in the work to port to FreeBSD.  I looked at your
>> > diff.
>> > How close to complete are your patches for rosdep?  The look pretty
>> > good.
>> > If they are operational I'd like to look at integrating them into the
>> > next
>> > release.
>> >
>> > Also, if you are hitting any stumbling points relating to ROS in
>> > building
>> > packages for FreeBSD feel free to ask for help.
>> >
>> > Tully
>> >
>> > On Tue, Mar 9, 2010 at 3:15 PM, Rene Ladan <rene at freebsd.org> wrote:
>> >>
>> >> Hi list,
>> >>
>> >> I'm rather new to ROS. It's being used at work for a few weeks now,
>> >> but that didn't lower my enthusiasm for it.
>> >>
>> >> Out of curiosity, I started looking if it would be feasible to run ROS
>> >> on FreeBSD. I made some patches against the core ROS code (
>> >> https://code.ros.org/svn/ros/stacks/ros/tags/latest ). Currently it
>> >> can bootstrap itself (including installing packages with pkg_add) up
>> >> to roslib. It encounters some compile errors related to boost there,
>> >> these are most likely due to search paths being different than
>> >> expected.
>> >>
>> >> The patch [1] is currently work-in-progress. Once I can get it to
>> >> bootstrap and install contributed stacks, I'll look into making ROS
>> >> packages for FreeBSD (the other way around) so that FreeBSD users can
>> >> do something like "pkg_add -r ros-core".
>> >>
>> >> [1] : ftp://rene-ladan.nl/pub/ros/
>> >>
>> >> Regards,
>> >> Rene
>> >> --
>> >> http://www.rene-ladan.nl/
>> >> _______________________________________________
>> >> ros-users mailing list
>> >> ros-users at code.ros.org
>> >> https://code.ros.org/mailman/listinfo/ros-users
>> >
>> >
>> >
>> > --
>> > Tully Foote
>> > Systems Engineer
>> > Willow Garage, Inc.
>> > tfoote at willowgarage.com
>> > (650) 475-2827
>> >
>> > _______________________________________________
>> > ros-users mailing list
>> > ros-users at code.ros.org
>> > https://code.ros.org/mailman/listinfo/ros-users
>> >
>> >
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>
>
>
> --
> Tully Foote
> Systems Engineer
> Willow Garage, Inc.
> tfoote at willowgarage.com
> (650) 475-2827
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>



More information about the ros-users mailing list