ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

pcl::io module not working on Indigo

asked 2015-06-23 09:04:09 -0500

altella gravatar image

updated 2015-06-23 09:13:46 -0500

Hello all;

I have a previous question opened in the forum related to the same topic, using the same system based on Ubuntu 14.04 x64 + Ros Indigo.

http://answers.ros.org/question/21153...

Writting another different node, I have the same problem with the pcl function: pcl::io::loadPolygonFileSTL PCL forums give a clue saying that:

#include <pcl/io/pcd_io.h>

must be substituted by:

#include <pcl/io/vtk_lib_io.h>

In the first case I obtain:

/home/alberto/indigo_catkin_ws/src/miror_referencing/src/miror_referencing_match.cpp:62:2: error: ‘loadPolygonFileSTL’ is not a member of ‘pcl::io’
  pcl::io::loadPolygonFileSTL(Path, *stl_mesh);

While in the second:

//usr/lib/libpq.so.5: undefined reference to `SSL_get_peer_certificate@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `CRYPTO_num_locks@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_CTX_use_certificate_chain_file@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_use_certificate_file@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `ENGINE_free@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `OPENSSL_config@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_get_error@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_use_PrivateKey_file@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `X509_STORE_load_locations@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_set_ex_data@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_read@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `X509_STORE_set_flags@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSLv23_method@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `ENGINE_load_private_key@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `X509_get_subject_name@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `CRYPTO_set_id_callback@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_CTX_new@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_CTX_get_cert_store@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_check_private_key@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `ENGINE_by_id@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `ERR_get_error@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `CRYPTO_set_locking_callback@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_load_error_strings@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_new@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `X509_NAME_get_text_by_NID@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_write@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `X509_free@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_CTX_load_verify_locations@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_free@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_ctrl@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_set_verify@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `ENGINE_init@OPENSSL_1.0.0'
//usr/lib/libpq.so.5: undefined reference to `SSL_set_fd@OPENSSL_1.0 ...
(more)
edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted
0

answered 2015-06-24 12:44:25 -0500

updated 2015-06-24 12:49:39 -0500

Your example seems to work fine for me with a test pcd file that I downloaded off of the internet. Here is a gist that you can use for testing. If the node that comes from my package runs okay on your machine, then that points to there being something strange about your specific pcd file. If it doesn't run on your machine, then there is likely something wrong with your install of PCL.

For reference, all of my packages are up-to-date binaries from the standard repos. Versions:

  • ros-indigo-pcl-conversions ~ 0.2.1-0trusty-20150608-1600-+0000 amd64
  • ros-indigo-pcl-msgs ~ 0.2.0-0trusty-20150522-1310-+0000 amd64
  • ros-indigo-pcl-ros ~ 1.2.7-0trusty-20150608-1607-+0000 amd64
  • ros-indigo-desktop-full ~ 1.1.4-0trusty-20150611-0640-+0000 amd64
  • libpcl-1.7-all ~ 1.7.1-3+trusty2 all
  • libpcl-1.7-all-dev ~ 1.7.1-3+trusty2 all
  • libpcl-1.7-bin ~ 1.7.1-3+trusty2 amd64
edit flag offensive delete link more

Comments

The problem comes from pcl::io linking to libpq, and libpq linking to libssl. Working examples link to /lib/x86_64-linux-gnu/libssl.so.1.0.0, but when adding Halcon library, this library has its own version of libssl. How can I make in CMakeLists to link to the original libssl library?

altella gravatar image altella  ( 2015-06-29 05:06:26 -0500 )edit
0

answered 2015-06-25 07:19:39 -0500

altella gravatar image

I have installed MvTec Halcon Libraries on Ubuntu also. I want to integrate Halcon in ROS... I have a certain suspect that Halcon in its installation process substitutes some system libraries with previous versions or with an unknown version, so that this makes ROS and PCL crash.

From Bash console, doing some research about packages and dependencies:

The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpam-heimdal : Conflicts: libpam-krb5 but 4.6-2 is to be installed
 libpam-krb5 : Conflicts: libpam-heimdal but 4.6-2 is to be installed
 libpam-ldapd : Conflicts: libpam-ldap
 libpgpool-dev : Conflicts: libpcp3-dev but 3.8.12ubuntu1 is to be installed
 libpion-dev : Conflicts: libpion-net-dev but 4.0.7+dfsg-3.1ubuntu2 is to be installed
 libpion-plugins : Conflicts: libpion-net-plugins but 4.0.7+dfsg-3.1ubuntu2 is to be installed
 libpion-plugins-dbg : Conflicts: libpion-net-plugins-dbg but 4.0.7+dfsg-3.1ubuntu2 is to be installed
 libpomp2-dev : Conflicts: libpomp-dev but 1.1+dfsg-3 is to be installed
 libportaudio-ocaml-dev : Depends: portaudio19-dev but it is not going to be installed
 libpqxx-doc : Conflicts: libpqxx3-doc but 1:3.1.1-0ubuntu4 is to be installed
 libpqxx3-dev : Conflicts: libpqxx-dev but 4.0.1+dfsg-3ubuntu1 is to be installed
 libpqxx3-doc : Conflicts: libpqxx-doc but 4.0.1+dfsg-3ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx
libpqxx-3.1      libpqxx-3.1-dbg  libpqxx3-dev     libpqxx3-doc     libpqxx-4.0      libpqxx-dbg      libpqxx-dev      libpqxx-doc     
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx
libpqxx-3.1      libpqxx-3.1-dbg  libpqxx3-dev     libpqxx3-doc     libpqxx-4.0      libpqxx-dbg      libpqxx-dev      libpqxx-doc     
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx
libpqxx-3.1      libpqxx-3.1-dbg  libpqxx3-dev     libpqxx3-doc     libpqxx-4.0      libpqxx-dbg      libpqxx-dev      libpqxx-doc     
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx-
libpqxx-3.1      libpqxx-3.1-dbg  libpqxx-4.0      libpqxx-dbg      libpqxx-dev      libpqxx-doc     
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx-
libpqxx-3.1      libpqxx-3.1-dbg  libpqxx-4.0      libpqxx-dbg      libpqxx-dev      libpqxx-doc     
alberto@alberto-OptiPlex-9010:~$ sudo apt-get install libpqxx-4.0

I can not think of any good solution to this...

edit flag offensive delete link more

Comments

Please don't use answers to provide additional information. Instead, edit your original question to provide more information.

jarvisschultz gravatar image jarvisschultz  ( 2015-06-26 12:01:48 -0500 )edit
0

answered 2018-03-05 21:18:15 -0500

I also occured this problem as I use opencv and pcl .And I renamed my anaconda directory name according https://stackoverflow.com/questions/3... ,which say anaconda is the problem. It workes for me.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2015-06-23 09:04:09 -0500

Seen: 899 times

Last updated: Jun 25 '15