Quantcast

ROS Fuerte and PCL from source on ARM / Hard-float support / where to set flags?

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

ROS Fuerte and PCL from source on ARM / Hard-float support / where to set flags?

dinamex
This post was updated on .
Hi guys,

Unfortunately, I can't use the apt-get install ros-fuerte-pcl command and need an installation from source. (I'm using an ARM board and Ubuntu 12.04)
I'm asking because it seems that in the new ROS Fuerte setup the PCL Library is not included and is seen as an external system dependency.

When i use $roslocate info pcl I get the following output

 - svn:
        local-name: pcl
        uri: http://svn.pointclouds.org/ros/trunk/perception_pcl_unstable/pcl

But this website doesn't exist and it seems that there is a special PCL version for ROS (see the Willow Garage repository [https://github.com/wg-debs/pcl-release] )

So i tried to compile the code from WG with the USE_ROS option on ON and it fails to compile with the following failure.

[  1%] Built target gtest
[  1%] Built target gtest_main
[  8%] Built target pcl_common
[  9%] Built target pcl_kdtree
[ 10%] Built target pcl_octree
[ 12%] Built target pcl_search
[ 23%] Built target pcl_sample_consensus
[ 23%] Built target pcl_geometry
[ 26%] Built target pcl_segmentation
[ 26%] Building CXX object io/CMakeFiles/pcl_io_ply.dir/src/ply/ply_parser.cpp.o
In file included from /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply.h:45:0,
                 from /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:61,
                 from /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:
/home/panda/ros/pcl-release/io/include/pcl/io/ply/byte_order.h:65:4: error: #error
In file included from /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply.h:45:0,
                 from /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:61,
                 from /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:
/home/panda/ros/pcl-release/io/include/pcl/io/ply/byte_order.h:77:4: error: #error
In file included from /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:0:
/home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h: In member function ‘bool pcl::io::ply::ply_parser::parse_scalar_property(pcl::io::ply::format_type, std::istream&, const typename pcl::io::ply::ply_parser::scalar_property_callback_type<ScalarType>::type&)’:
/home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:577:51: error: ‘host_byte_order’ was not declared in this scope
/home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h: In member function ‘bool pcl::io::ply::ply_parser::parse_list_property(pcl::io::ply::format_type, std::istream&, const typename pcl::io::ply::ply_parser::list_property_begin_callback_type<SizeType, ScalarType>::type&, const typename pcl::io::ply::ply_parser::list_property_element_callback_type<SizeType, ScalarType>::type&, const typename pcl::io::ply::ply_parser::list_property_end_callback_type<SizeType, ScalarType>::type&)’:
/home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:648:51: error: ‘host_byte_order’ was not declared in this scope
/home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:674:53: error: ‘host_byte_order’ was not declared in this scope
make[2]: *** [io/CMakeFiles/pcl_io_ply.dir/src/ply/ply_parser.cpp.o] Error 1
make[1]: *** [io/CMakeFiles/pcl_io_ply.dir/all] Error 2
make: *** [all] Error 2

Would be great to get your thoughts about that issue. Thanks
What should be the normal way to install pcl for ROS Fuerte when its not possible to use debian-pkgs?

Edit 1:
I think it has something to do with the hardfloat support of ubuntu 12.04 for the Armel architecture because the ply_parser tries to compare the host_byte_order with the endian_byte_order at this point.

But I have no idea how to change that...

Regrads,
Ronny
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jochen Sprickerhof
Administrator
* dinamex <[hidden email]> [2012-08-28 10:11]:
> Hi guys,

Hi Ronny,

> Unfortunately, I can't use the apt-get install ros-fuerte-pcl command and
> need an installation from source. (I'm using an ARM board)
> I'm asking because it seems that in the new ROS Fuerte setup the PCL Library
> is not included and is seen as an external system dependency.
>
> When i use $roslocate info pcl I get the following output
>
>  - svn:
>         local-name: pcl
>         uri:
> http://svn.pointclouds.org/ros/trunk/perception_pcl_unstable/pcl
>
> But this website doesn't exist and it seems that there is a special PCL
> version for ROS (see the Willow Garage repository
> [https://github.com/wg-debs/pcl-release] )
>
> So i tried to compile this code with the USE_ROS option on ON and it fails
> to compile with the following failure.
>
> [  1%] Built target gtest
> [  1%] Built target gtest_main
> [  8%] Built target pcl_common
> [  9%] Built target pcl_kdtree
> [ 10%] Built target pcl_octree
> [ 12%] Built target pcl_search
> [ 23%] Built target pcl_sample_consensus
> [ 23%] Built target pcl_geometry
> [ 26%] Built target pcl_segmentation
> [ 26%] Building CXX object
> io/CMakeFiles/pcl_io_ply.dir/src/ply/ply_parser.cpp.o
> In file included from
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply.h:45:0,
>                  from
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:61,
>                  from
> /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/byte_order.h:65:4: error:
> #error
> In file included from
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply.h:45:0,
>                  from
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:61,
>                  from
> /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/byte_order.h:77:4: error:
> #error
> In file included from
> /home/panda/ros/pcl-release/io/src/ply/ply_parser.cpp:41:0:
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h: In member
> function ‘bool
> pcl::io::ply::ply_parser::parse_scalar_property(pcl::io::ply::format_type,
> std::istream&, const typename
> pcl::io::ply::ply_parser::scalar_property_callback_type<ScalarType>::type&)’:
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:577:51:
> error: ‘host_byte_order’ was not declared in this scope
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h: In member
> function ‘bool
> pcl::io::ply::ply_parser::parse_list_property(pcl::io::ply::format_type,
> std::istream&, const typename
> pcl::io::ply::ply_parser::list_property_begin_callback_type<SizeType,
> ScalarType>::type&, const typename
> pcl::io::ply::ply_parser::list_property_element_callback_type<SizeType,
> ScalarType>::type&, const typename
> pcl::io::ply::ply_parser::list_property_end_callback_type<SizeType,
> ScalarType>::type&)’:
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:648:51:
> error: ‘host_byte_order’ was not declared in this scope
> /home/panda/ros/pcl-release/io/include/pcl/io/ply/ply_parser.h:674:53:
> error: ‘host_byte_order’ was not declared in this scope
> make[2]: *** [io/CMakeFiles/pcl_io_ply.dir/src/ply/ply_parser.cpp.o] Error 1
> make[1]: *** [io/CMakeFiles/pcl_io_ply.dir/all] Error 2
> make: *** [all] Error 2
>
> Would be great to get your thoughts about that issue. Thanks
> What should be the normal way to install pcl for ROS Fuerte when its not
> possible to use debian-pkgs?

I've just committed r7013 to use Boost to detect the byte order. Can you
try if it's working now?

> Regrads,
> Ronny

Cheers Jochen
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
This post was updated on .
Is the normal pcl version working with ROS?


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jochen Sprickerhof
Administrator
* dinamex <[hidden email]> [2012-08-29 06:07]:
> https://github.com/wg-debs/pcl-release
>
> or
>
> https://github.com/wg-debs/pcl

I've committed it into upstream pcl, don't know about these two. There
used to be a perception_pcl_unstable svn which used current trunk to
build the ROS package. Looking at it, it seems this has changes. I will
have a look how it's handled now, but maybe someone else knows.

Cheers Jochen

P.S.: Please don't edit your posts on the pcl-users.org website as this
is actually a mailing list and we won't get the updates.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
What exactly did you change? Is it possible to implement that to the willow garage code? Would be nice because it's much lighter then the full pcl version...
And I always here that the standalone version of PCL doesn't work with ROS, do you know something about that?

regards,
Ronny
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Radu B. Rusu
Administrator
Ronny,

You are attempting to use PCL on an architecture that we do not provide official support for. In addition you are trying
trunk, which is the _UNSTABLE_ branch of PCL. Unfortunately, this means you need to jump through some hoops until we fix
all the issues that you are seeing.

Our recommendation is to first try to download and compile PCL standalone on your platform and report back any errors
that you might get, and iterate with us until we fix all the errors. Once that's done, it's trivial to use the UNSTABLE
ROS stack that provides PCL trunk for ROS users.

If you feel like this is too much work, the alternative is to wait until we make an official release (both standalone
and ROS debs) -- but without your help, we cannot guarantee that we will fix ARM support, as this is a low priority item
on our "to do" lists.


Jochen fixed a lot of endianness issues last night in trunk. To try to download and compile trunk, use our svn
repository at http://svn.pointclouds.org/pcl/trunk/.

PS. There is no "lighter PCL". You can however compile only the modules that you want using CMake. I would recommend you
start with the basics: libpcl_common, libpcl_io, libpcl_search, etc first, and disable all the rest.

Cheers,
Radu.
--
http://openperception.org

On 08/29/2012 10:18 AM, dinamex wrote:

> What exactly did you change? Is it possible to implement that to the willow
> garage code? Would be nice because it's much lighter then the full pcl
> version...
> And I always here that the standalone version of PCL doesn't work with ROS,
> do you know something about that?
>
> regards,
> Ronny
>
>
>
> --
> View this message in context: http://www.pcl-users.org/ROS-Fuerte-and-PCL-from-source-on-ARM-Hard-float-support-where-to-set-flags-tp4021813p4021844.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
Just to avoid some misunderstandings... which version should I actually use? which one is meant to work with the current Fuerte-Version? At the moment there is quite a confusion going on regarding the pcl installation from source.

I just used the Willow Garage version because most of the ROS users are saying somthing like that:
"Sadly, you can't run the standalone PCL library with ROS. You have to build the ROS version, which is compiled and installed differently."
and encourage to use the WG code ( #1  , #2).

Where is the difference between the ROS-PCL and the Standalone PCL?
I'm not trying to use the newest pcl stack to realize some new software with it. I just want to use openni_launch from ROS which needs PCL...

BTT: Where are the cmake build options? I couldn't find something to turn of single modules.
Anyway, I compiled everything (every module) and it worked without any errors.

I just got several of these ROS related warnings.
------------------------------------------------------

In file included from /opt/ros/fuerte/include/ros/time.h:57:0,
                 from /opt/ros/fuerte/include/ros/serialization.h:34,
                 from /opt/ros/fuerte/include/std_msgs/Header.h:47,
                 from /home/panda/ros/pcl/common/include/pcl/point_cloud.h:47,
                 from /home/panda/ros/pcl/io/include/pcl/io/pcd_io.h:43,
                 from /home/panda/ros/pcl/tools/icp2d.cpp:41:
/opt/ros/fuerte/include/ros/duration.h: In member function ‘double ros::DurationBase<T>::toSec() const’:
/opt/ros/fuerte/include/ros/duration.h:93:41: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/duration.h:93:60: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/duration.h: In member function ‘int64_t ros::DurationBase<T>::toNSec() const’:
/opt/ros/fuerte/include/ros/duration.h:94:43: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/duration.h:94:71: warning: use of old-style cast [-Wold-style-cast]
In file included from /opt/ros/fuerte/include/ros/serialization.h:34:0,
                 from /opt/ros/fuerte/include/std_msgs/Header.h:47,
                 from /home/panda/ros/pcl/common/include/pcl/point_cloud.h:47,
                 from /home/panda/ros/pcl/io/include/pcl/io/pcd_io.h:43,
                 from /home/panda/ros/pcl/tools/icp2d.cpp:41:
/opt/ros/fuerte/include/ros/time.h: In member function ‘double ros::TimeBase<T, D>::toSec() const’:
/opt/ros/fuerte/include/ros/time.h:152:44: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/time.h:152:63: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/time.h: In member function ‘T& ros::TimeBase<T, D>::fromSec(double)’:
/opt/ros/fuerte/include/ros/time.h:153:51: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/time.h:153:103: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/time.h: In member function ‘uint64_t ros::TimeBase<T, D>::toNSec() const’:
/opt/ros/fuerte/include/ros/time.h:155:47: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/time.h:155:77: warning: use of old-style cast [-Wold-style-cast]
In file included from /opt/ros/fuerte/include/std_msgs/Header.h:47:0,
                 from /home/panda/ros/pcl/common/include/pcl/point_cloud.h:47,
                 from /home/panda/ros/pcl/io/include/pcl/io/pcd_io.h:43,
                 from /home/panda/ros/pcl/tools/icp2d.cpp:41:
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::Serializer<bool>::write(Stream&, bool)’:
/opt/ros/fuerte/include/ros/serialization.h:210:26: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::Serializer<bool>::read(Stream&, bool&)’:
/opt/ros/fuerte/include/ros/serialization.h:217:15: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::Serializer<std::basic_string<char, std::char_traits<char>, ContainerAllocator> >::write(Stream&, const StringType&)’:
/opt/ros/fuerte/include/ros/serialization.h:238:27: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:242:39: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::Serializer<std::basic_string<char, std::char_traits<char>, ContainerAllocator> >::read(Stream&, ros::serialization::Serializer<std::basic_string<char, std::char_traits<char>, ContainerAllocator> >::StringType&)’:
/opt/ros/fuerte/include/ros/serialization.h:253:49: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static uint32_t ros::serialization::Serializer<std::basic_string<char, std::char_traits<char>, ContainerAllocator> >::serializedLength(const StringType&)’:
/opt/ros/fuerte/include/ros/serialization.h:263:35: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::disable_if<ros::message_traits::IsFixedSize<T> >::type>::write(Stream&, const VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:339:34: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<ros::message_traits::IsSimple<T> >::type>::write(Stream&, const VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:389:37: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:393:57: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<ros::message_traits::IsSimple<T> >::type>::read(Stream&, ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<ros::message_traits::IsSimple<T> >::type>::VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:407:51: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static uint32_t ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<ros::message_traits::IsSimple<T> >::type>::serializedLength(const VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:414:45: warning: use of old-style cast [-Wold-style-cast]
In file included from /opt/ros/fuerte/include/std_msgs/Header.h:47:0,
                 from /home/panda/ros/pcl/common/include/pcl/point_cloud.h:47,
                 from /home/panda/ros/pcl/io/include/pcl/io/pcd_io.h:43,
                 from /home/panda/ros/pcl/tools/icp2d.cpp:41:
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static void ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<boost::mpl::and_<ros::message_traits::IsFixedSize<T>, boost::mpl::not_<ros::message_traits::IsSimple<T> > > >::type>::write(Stream&, const VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:431:34: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In static member function ‘static uint32_t ros::serialization::VectorSerializer<T, ContainerAllocator, typename boost::enable_if<boost::mpl::and_<ros::message_traits::IsFixedSize<T>, boost::mpl::not_<ros::message_traits::IsSimple<T> > > >::type>::serializedLength(const VecType&)’:
/opt/ros/fuerte/include/ros/serialization.h:460:43: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In member function ‘uint32_t ros::serialization::Stream::getLength()’:
/opt/ros/fuerte/include/ros/serialization.h:686:63: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In function ‘ros::SerializedMessage ros::serialization::serializeMessage(const M&)’:
/opt/ros/fuerte/include/ros/serialization.h:809:38: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:810:28: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h: In function ‘ros::SerializedMessage ros::serialization::serializeServiceResponse(bool, const M&)’:
/opt/ros/fuerte/include/ros/serialization.h:831:40: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:832:27: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:833:30: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:842:40: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/serialization.h:843:27: warning: use of old-style cast [-Wold-style-cast]
In file included from /opt/ros/fuerte/include/std_msgs/Header.h:49:0,
                 from /home/panda/ros/pcl/common/include/pcl/point_cloud.h:47,
                 from /home/panda/ros/pcl/io/include/pcl/io/pcd_io.h:43,
                 from /home/panda/ros/pcl/tools/icp2d.cpp:41:
/opt/ros/fuerte/include/ros/message_operations.h: In static member function ‘static void ros::message_operations::Printer<signed char>::stream(Stream&, const string&, int8_t)’:
/opt/ros/fuerte/include/ros/message_operations.h:56:20: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/message_operations.h: In static member function ‘static void ros::message_operations::Printer<unsigned char>::stream(Stream&, const string&, uint8_t)’:
/opt/ros/fuerte/include/ros/message_operations.h:66:20: warning: use of old-style cast [-Wold-style-cast]
/opt/ros/fuerte/include/ros/message_operations.h: At global scope:
/opt/ros/fuerte/include/ros/message_operations.h: In instantiation of ‘static void ros::message_operations::Printer<M>::stream(Stream&, const string&, const M&) [with Stream = std::basic_ostream<char>, M = unsigned int, std::string = std::basic_string<char>]’:
/opt/ros/fuerte/include/std_msgs/Header.h:239:5:   instantiated from ‘static void ros::message_operations::Printer<std_msgs::Header_<ContainerAllocator> >::stream(Stream&, const string&, const std_msgs::Header_<ContainerAllocator>&) [with Stream = std::basic_ostream<char>, ContainerAllocator = std::allocator<void>, std::string = std::basic_string<char>]’
/opt/ros/fuerte/include/std_msgs/Header.h:102:1:   instantiated from ‘std::ostream& std_msgs::operator<<(std::ostream&, const std_msgs::Header_<ContainerAllocator>&) [with ContainerAllocator = std::allocator<void>, std::ostream = std::basic_ostream<char>]’
/home/panda/ros/pcl/common/include/pcl/PointIndices.h:32:20:   instantiated from here
/opt/ros/fuerte/include/ros/message_operations.h:42:15: warning: unused parameter ‘indent’ [-Wunused-parameter]
/opt/ros/fuerte/include/ros/message_operations.h: In instantiation of ‘static void ros::message_operations::Printer<M>::stream(Stream&, const string&, const M&) [with Stream = std::basic_ostream<char>, M = ros::Time, std::string = std::basic_string<char>]’:
/opt/ros/fuerte/include/std_msgs/Header.h:241:5:   instantiated from ‘static void ros::message_operations::Printer<std_msgs::Header_<ContainerAllocator> >::stream(Stream&, const string&, const std_msgs::Header_<ContainerAllocator>&) [with Stream = std::basic_ostream<char>, ContainerAllocator = std::allocator<void>, std::string = std::basic_string<char>]’
/opt/ros/fuerte/include/std_msgs/Header.h:102:1:   instantiated from ‘std::ostream& std_msgs::operator<<(std::ostream&, const std_msgs::Header_<ContainerAllocator>&) [with ContainerAllocator = std::allocator<void>, std::ostream = std::basic_ostream<char>]’
/home/panda/ros/pcl/common/include/pcl/PointIndices.h:32:20:   instantiated from here
/opt/ros/fuerte/include/ros/message_operations.h:42:15: warning: unused parameter ‘indent’ [-Wunused-parameter]
/opt/ros/fuerte/include/ros/message_operations.h: In instantiation of ‘static void ros::message_operations::Printer<M>::stream(Stream&, const string&, const M&) [with Stream = std::basic_ostream<char>, M = std::basic_string<char>, std::string = std::basic_string<char>]’:
/opt/ros/fuerte/include/std_msgs/Header.h:243:5:   instantiated from ‘static void ros::message_operations::Printer<std_msgs::Header_<ContainerAllocator> >::stream(Stream&, const string&, const std_msgs::Header_<ContainerAllocator>&) [with Stream = std::basic_ostream<char>, ContainerAllocator = std::allocator<void>, std::string = std::basic_string<char>]’
/opt/ros/fuerte/include/std_msgs/Header.h:102:1:   instantiated from ‘std::ostream& std_msgs::operator<<(std::ostream&, const std_msgs::Header_<ContainerAllocator>&) [with ContainerAllocator = std::allocator<void>, std::ostream = std::basic_ostream<char>]’
/home/panda/ros/pcl/common/include/pcl/PointIndices.h:32:20:   instantiated from here
/opt/ros/fuerte/include/ros/message_operations.h:42:15: warning: unused parameter ‘indent’ [-Wunused-parameter]



Is these harmeless warning or will they cause future problems?
Thanks for your support and your help.

Best,
Ronny


   
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
Ahh sorry I forgot to mention that I used $ cmake -DCMAKE_BUILD_TYPE=Release -DUSE_ROS=ON ..
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jochen Sprickerhof
Administrator
In reply to this post by dinamex
* dinamex <[hidden email]> [2012-08-29 17:12]:
> *Just to avoid some misunderstandings...* which version should I actually
> use? which one is meant to work with the current Fuerte-Version? At the
> moment there is quite a confusion going on regarding the pcl installation
> from source.

As far as PCL goes you should test the current trunk:
http://svn.pointclouds.org/pcl/trunk. If that one is working we can get
it into ROS as well.

> I'm not trying to use the newest pcl stack to realize some new software with
> it. I just want to use openni_launch from ROS which needs PCL...

Are you sure openni_launch needs PCL? I can't see any dependency in
here: http://ros.org/wiki/openni_launch.

> *BTT:* Where are the cmake build options? I couldn't find something to turn
> of single modules.

Try ccmake ..

> Anyway, I compiled everything (every module) and it worked without any
> errors.

So did it compile on ARM now?

> I just got several of these ROS related warnings.
> ------------------------------------------------------

[..]

> Is these harmeless warning or will they cause future problems?

These are normal, we are still working on cleaning up the code.

> Thanks for your support and your help.
>
> Best,
> Ronny

Cheers Jochen
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
I used the trunk version yesterday (r7013) and compiled everything in one go without any failures.

I used the USE_ROS option as well as Build type release.

The dependency to PCL is caused by depth_image_proc (which depends on pcl). Confusingly enough, when I use rosmake openni_launch the depth_image_proc can't find pcl ( [rospack] Error: package/stack depth_image_proc depends on non-existent package pcl )  but openni_launch apperently find's the installed pcl ( In file included from /usr/local/include/pcl-1.7/pcl/common/io.h:46 )


This is the failure message:
{-------------------------------------------------------------------------------
  mkdir -p bin
  cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake  ..
  [rosbuild] Building package depth_image_proc
  Failed to invoke /opt/ros/fuerte/bin/rospack deps-manifests depth_image_proc
  [rospack] Error: package/stack depth_image_proc depends on non-existent package pcl


  CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:129 (message):


    Failed to invoke rospack to get compile flags for package
    'depth_image_proc'.  Look above for errors from rospack itself.  Aborting.
    Please fix the broken dependency!

  Call Stack (most recent call first):
    /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:203 (rosbuild_invoke_rospack)
    CMakeLists.txt:12 (rosbuild_init)


  -- Configuring incomplete, errors occurred!
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package depth_image_proc written to:
[ rosmake ]    /home/panda/.ros/rosmake/rosmake_output-20120830-090256/depth_image_proc/build_output.log
[rosmake-1] Finished <<< depth_image_proc [FAIL] [ 5.41 seconds ]
[ rosmake ] Halting due to failure in package depth_image_proc.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Last 40 linesl_ros: 51.3 sec ]           [ 1 Active 42/48 Complete ]
{-------------------------------------------------------------------------------
  Finding dependencies for /home/panda/ros/perception_pcl_unstable/pcl_ros/cfg/EuclideanClusterExtraction.cfg
  -- Configuring done
  -- Generating done
  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_TOOLCHAIN_FILE


  -- Build files have been written to: /home/panda/ros/perception_pcl_unstable/pcl_ros/build
  cd build && make -l2
  make[1]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[2]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  [ 36%] Built target ROSBUILD_gencfg_cpp
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  [ 36%] Built target rospack_gencfg
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  [ 36%] Built target rospack_genmsg_libexe
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  [ 36%] Built target rosbuild_precompile
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[3]: Entering directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  [ 40%] Building CXX object CMakeFiles/pcl_ros_tf.dir/src/pcl_ros/transforms.o
  In file included from /usr/local/include/pcl-1.7/pcl/common/io.h:46:0,
                   from /home/panda/ros/perception_pcl_unstable/pcl_ros/src/pcl_ros/transforms.cpp:38:
  /usr/local/include/pcl-1.7/pcl/pcl_base.h:54:30: fatal error: pcl/PointIndices.h: No such file or directory
  compilation terminated.
  make[3]: *** [CMakeFiles/pcl_ros_tf.dir/src/pcl_ros/transforms.o] Error 1
  make[3]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[2]: *** [CMakeFiles/pcl_ros_tf.dir/all] Error 2
  make[2]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/panda/ros/perception_pcl_unstable/pcl_ros/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package pcl_ros written to:
[ rosmake ]    /home/panda/.ros/rosmake/rosmake_output-20120830-090256/pcl_ros/build_output.log
[rosmake-0] Finished <<< pcl_ros [FAIL] [ 51.37 seconds ]
[ rosmake ] Halting due to failure in package pcl_ros.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 44 packages with 2 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /home/panda/.ros/rosmake/rosmake_output-20120830-090256
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jochen Sprickerhof
Administrator
* dinamex <[hidden email]> [2012-08-30 06:19]:
> I used the trunk version yesterday (r7013) and compiled everything in one go
> without any failures.

Great :).

> I used the USE_ROS option as well as Build type release.
>
> The dependency to PCL is caused by depth_image_proc (which depends on pcl).
> Confusingly enough, when I use *rosmake openni_launch* the depth_image_proc
> can't find pcl ( [rospack] Error: package/stack depth_image_proc depends on
> non-existent package pcl )  but openni_launch apperently find's the
> installed pcl ( In file included from
> /usr/local/include/pcl-1.7/pcl/common/io.h:46 )

Sorry, I missed that one. But as PCL is working now, I would propose to
ask on ROS answers how to use current trunk and about the build error.

Cheers Jochen
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
Since I'm not getting a response to my question on answers.ros.org  I would like to ask you to give me a hint what/where the failure could be?

As you can see by the viewcount and the votes the interest to realize the integration is there. Unfortunately,  no one answered so far.

Would be great to get your help. Thank you.
Best regards,

 
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jack O'Quin
On Fri, Aug 31, 2012 at 4:53 PM, dinamex <[hidden email]> wrote:
> Since I'm not getting a response to
> http://answers.ros.org/question/37216/ros-fuerte-and-pcl-from-source-on-arm-hard-float-support/
> my question on answers.ros.org   I would like to ask you to give me a hint
> what/where the failure could be?
>
> As you can see by the viewcount and the votes the interest to realize the
> integration is there. Unfortunately,  no one answered so far.

I doubt anyone knows the answer.

Getting PCL built and working for ROS seems to be a black art.
--
 joq
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Radu B. Rusu
Administrator
In reply to this post by dinamex
Ronny,

Please see the updated instructions at http://www.pointclouds.org/downloads/. To use PCL trunk with ROS fuerte, download
the http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/ stack and compile the PCL17 package.

Cheers,
Radu.
--
http://openperception.org

On 08/31/2012 02:53 PM, dinamex wrote:

> Since I'm not getting a response to
> http://answers.ros.org/question/37216/ros-fuerte-and-pcl-from-source-on-arm-hard-float-support/
> my question on answers.ros.org   I would like to ask you to give me a hint
> what/where the failure could be?
>
> As you can see by the viewcount and the votes the interest to realize the
> integration is there. Unfortunately,  no one answered so far.
>
> Would be great to get your help. Thank you.
> Best regards,
>
>
>
>
>
>
> --
> View this message in context: http://www.pcl-users.org/ROS-Fuerte-and-PCL-from-source-on-ARM-Hard-float-support-where-to-set-flags-tp4021813p4021918.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
>
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jack O'Quin
On Sat, Sep 1, 2012 at 3:08 PM, Radu B. Rusu <[hidden email]> wrote:
> Ronny,
>
> Please see the updated instructions at
> http://www.pointclouds.org/downloads/. To use PCL trunk with ROS fuerte,
> download the
> http://svn.pointclouds.org/ros/trunk/perception_pcl_fuerte_unstable/ stack
> and compile the PCL17 package.

Thanks, Radu.

I answered Ronny's question using your information. Maybe that will
help others find it.
--
 joq
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
Hi Radu,

first of all I would like to should out a big thank you. I really appreciate how you support beginners and/or  Platforms which are not in your focus of work.


To get things straight...  

> "please overlay the stack corresponding to your ROS installation" does it mean to overlay it to a standalone installation of the current trunk or does the rosmake download the trunk version on its own? Should I delete my current standalone pcl version (r7013) before I use this new method or does rosmake detect that on its own?
Sorry to ask this questions but the whole make/compiling/cross-linkage process of PCL & ROS is quite tricky to understand...

Thank you
Cheers

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jack O'Quin
On Sat, Sep 1, 2012 at 7:23 PM, dinamex <[hidden email]> wrote:

> Hi Radu,
>
> first of all I would like to should out a big thank you. I really appreciate
> how you support beginners and/or  Platforms which are not in your focus of
> work.
>
>
> To get things straight...
>
>> "please overlay the stack corresponding to your ROS installation" does it
>> mean to overlay it to a standalone installation of the current trunk or
>> does the rosmake download the trunk version on its own? Should I delete my
>> current standalone pcl version (r7013) before I use this new method or
>> does rosmake detect that on its own?

> Sorry to ask this questions but the whole make/compiling/cross-linkage
> process of PCL & ROS is quite tricky to understand...

Try following these directions, using the repository URL Radu posted:

 http://www.ros.org/wiki/fuerte/Installation/Overlays
--
 joq
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
I now about this tutorial but it's unfortunately not answering my question if I should delete my previous pcl installation or not.

Cheers
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

Jack O'Quin

I think they can co-exist.


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: ROS Fuerte and PCL from source failure to build (ply_parser.h error: ‘host_byte_order’ was not declared in this scope)

dinamex
I used $rosmake pcl17 which took 5 hours to compile and I was really full of hope that this attemp will work. But after trying $rosmake openni_launch produces the same failure I posted before (post from Aug 30, 2012; 9:19am).

Now, I figured out what the problem/missunderstanding is. The pcl17 is a package to use the current trunk in the ROS environment beside an existing pcl installation (I think at the moment its version 1.5). But its still not a standalone version which is playing nicely with ROS, right?

I try to explain it again:
I just want to use openni_launch package (which needs pcl) on my pandaboard (armel). Because of the armel architecture I need to compile everything from source and I can't use $sudo apt-get install ros-fuerte-perception-pcl so I tried to use $roslocate info perception-pcl (which is normaly pointing to the source code of the needed package, in this case http://svn.pointclouds.org/ros/trunk/perception_pcl_unstable) but this site is still not existing. And actually no need for me too use the unstable version its just what ROS is telling me (even the official website is pointing to the unstable version link) so I was trying to find a version which will work with ROS. And then I tried to ask here....

I'm totally confused and I would really much appreciate if someone could explain me when I did something wrong or when my way of thinking is wrong...
 
12
Loading...