Linking problem after installing ROS

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Linking problem after installing ROS

xuan_wang
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Linking problem after installing ROS

aichim
Administrator
Hi,

It would be best to ask these questions on the ROS forums.

Cheers,
Alex

On 6/21/12 2:07 PM, xuan_wang wrote:

> Hi, I installed the complete version of ROS today. Now I found a lot of
> linking problems when compiling my former files.( those files can be
> compiled without any problems before)
>
> /usr/bin/ld: /tmp/ccyJQNzX.o: undefined reference to symbol
> 'pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)'
> /usr/bin/ld: note: 'pcl::console::print(pcl::console::VERBOSITY_LEVEL, char
> const*, ...)' is defined in DSO /opt/ros/fuerte/lib/libpcl_common.so.1.5 so
> try adding it to the linker command line
> /opt/ros/fuerte/lib/libpcl_common.so.1.5: could not read symbols: Invalid
> operation
> collect2: ld returned 1 exit status
>
> I am a noob. Can anyone tell me how to solve it? Thank you very much!
>
> --
> View this message in context: http://www.pcl-users.org/Linking-problem-after-installing-ROS-tp4019520.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
|

Re: Linking problem after installing ROS

xuan_wang
:)
Reply | Threaded
Open this post in threaded view
|

Re: Linking problem after installing ROS

Radu B Rusu
Administrator
In reply to this post by xuan_wang


On 06/21/2012 05:07 AM, xuan_wang wrote:
> Hi, I installed the complete version of ROS today. Now I found a lot of
> linking problems when compiling my former files.( those files can be
> compiled without any problems before)

ROS comes with a slightly modified version of PCL 1.5. Due to the fact that your LD_LIBRARY_PATH has now been prepended
with the new libraries, your old code (compiled against standalone PCL) refuses to work. You need to recompile it
against the ROS PCL libraries -- remember to clean your CMake cache before doing that.

Differently said, you should not have both PCL standalone and PCL from ROS active on the same computer. One replaces the
other.

Cheers,
Radu.

>
> /usr/bin/ld: /tmp/ccyJQNzX.o: undefined reference to symbol
> 'pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)'
> /usr/bin/ld: note: 'pcl::console::print(pcl::console::VERBOSITY_LEVEL, char
> const*, ...)' is defined in DSO /opt/ros/fuerte/lib/libpcl_common.so.1.5 so
> try adding it to the linker command line
> /opt/ros/fuerte/lib/libpcl_common.so.1.5: could not read symbols: Invalid
> operation
> collect2: ld returned 1 exit status
>
> I am a noob. Can anyone tell me how to solve it? Thank you very much!
>
> --
> View this message in context: http://www.pcl-users.org/Linking-problem-after-installing-ROS-tp4019520.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
|

Re: Linking problem after installing ROS

Jack O'Quin
On Thu, Jun 21, 2012 at 11:03 AM, Radu B. Rusu <[hidden email]> wrote:

>
> On 06/21/2012 05:07 AM, xuan_wang wrote:
>>
>> Hi, I installed the complete version of ROS today. Now I found a lot of
>> linking problems when compiling my former files.( those files can be
>> compiled without any problems before)
>
> ROS comes with a slightly modified version of PCL 1.5. Due to the fact that
> your LD_LIBRARY_PATH has now been prepended with the new libraries, your old
> code (compiled against standalone PCL) refuses to work. You need to
> recompile it against the ROS PCL libraries -- remember to clean your CMake
> cache before doing that.
>
> Differently said, you should not have both PCL standalone and PCL from ROS
> active on the same computer. One replaces the other.

I sure would like to find a way to fix these problems. People are
continually stumbling over the differences between standalone PCL and
PCL ROS.

Some of that was supposed to be fixed in ROS Fuerte, which was a step
in the right direction, but nowhere near enough. I am willing to help
make it better in Groovy, but I don't understand all the problems
clearly.
--
 joq
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Linking problem after installing ROS

Radu B Rusu
Administrator
Jack,

This has been on our todo list for a while now and I plan on tackling it right after PCL 1.6 goes out.

It has to do with a very old problem that we had with ROS messages and the way libraries outside of ROS should export
and use them. Bottom line for us is: we need to redesign some of the core (i.e., PCL 2.0) or drop all PointCloud2 et al
structures and write new converters in place. Either way, it's a major overhaul of PCL. At the same time we plan to make
some things easier. When we started PCL our community was in the order of hundreds at best. Now it's a couple orders of
magnitude larger, and we've taken a lot of feedback that we can incorporate into our product. We've also got a much
stronger dev team now, so we can go out there and tackle harder problems.

The tricks that we adopted for Fuerte are only taking us 90% there, which is not good enough if people use older ROS
distributions, or install things from source and binaries at the same time, etc. However, the efforts weren't wasted: I
do know that people found it easier to link to PCL since Fuerte came out.

So once 1.6 is out, we'll start hitting 2.0 again on all cylinders, and hopefully solve all these problems.

Cheers,
Radu.

On 06/21/2012 09:55 AM, Jack O'Quin wrote:

> On Thu, Jun 21, 2012 at 11:03 AM, Radu B. Rusu<[hidden email]>  wrote:
>>
>> On 06/21/2012 05:07 AM, xuan_wang wrote:
>>>
>>> Hi, I installed the complete version of ROS today. Now I found a lot of
>>> linking problems when compiling my former files.( those files can be
>>> compiled without any problems before)
>>
>> ROS comes with a slightly modified version of PCL 1.5. Due to the fact that
>> your LD_LIBRARY_PATH has now been prepended with the new libraries, your old
>> code (compiled against standalone PCL) refuses to work. You need to
>> recompile it against the ROS PCL libraries -- remember to clean your CMake
>> cache before doing that.
>>
>> Differently said, you should not have both PCL standalone and PCL from ROS
>> active on the same computer. One replaces the other.
>
> I sure would like to find a way to fix these problems. People are
> continually stumbling over the differences between standalone PCL and
> PCL ROS.
>
> Some of that was supposed to be fixed in ROS Fuerte, which was a step
> in the right direction, but nowhere near enough. I am willing to help
> make it better in Groovy, but I don't understand all the problems
> clearly.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Linking problem after installing ROS

Jack O'Quin
On Thu, Jun 21, 2012 at 12:32 PM, Radu B. Rusu <[hidden email]> wrote:

> Jack,
>
> This has been on our todo list for a while now and I plan on tackling it
> right after PCL 1.6 goes out.
>
> It has to do with a very old problem that we had with ROS messages and the
> way libraries outside of ROS should export and use them. Bottom line for us
> is: we need to redesign some of the core (i.e., PCL 2.0) or drop all
> PointCloud2 et al structures and write new converters in place. Either way,
> it's a major overhaul of PCL. At the same time we plan to make some things
> easier. When we started PCL our community was in the order of hundreds at
> best. Now it's a couple orders of magnitude larger, and we've taken a lot of
> feedback that we can incorporate into our product. We've also got a much
> stronger dev team now, so we can go out there and tackle harder problems.
>
> The tricks that we adopted for Fuerte are only taking us 90% there, which is
> not good enough if people use older ROS distributions, or install things
> from source and binaries at the same time, etc. However, the efforts weren't
> wasted: I do know that people found it easier to link to PCL since Fuerte
> came out.
>
> So once 1.6 is out, we'll start hitting 2.0 again on all cylinders, and
> hopefully solve all these problems.

That's great.

Let me know if I can help (probably mostly from the ROS end).
--
 joq
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Linking problem after installing ROS

xuan_wang
Let's expecting PCL2.0.