Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem -- UPDATE: OpenIGTLink conflict

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

Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem -- UPDATE: OpenIGTLink conflict

danas
This post was updated on .
Hello everyone, my first post here so thanks a lot and keep up the good work
on the PCL.

A problem I am struggling with in the past few days, with no solution yet:
I am developing portable code on a MacOS with PCL 1.8.0, Boost 1.65.0 and
LLVM 9. With this machine I have no problem developing using the
Registration module of PCL, using C++11 flags.

However, no matter what I tried (wasted 3 days actually), when I build my
code on Ubuntu 14.04 I get tons of boost and eigen error messages regarding
the template depth exceeding the value 50, which I cannot at all explain or
find similar over the internet. -ftemplate-depth=$(SOMETHING_LARGER) did not
change things at all, not even the error messages.

Configurations I tried so far, every time with a fresh install of the entire
system and fresh building from sources of the associated components:

PCL 1.8.0 from releases, Gcc 4.8.4, Boost 1.54
PCL 1.8.0 from releases, Gcc 4.8.4, Boost 1.55
PCL 1.8.0 from releases, Gcc 5.4, Boost 1.54
PCL 1.8.0 from releases, Gcc 5.4, Boost 1.55
PCL 1.8.0 from releases, Gcc 5.4, Boost 1.65.1
PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.54
PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.55
PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.65.1
PCL 1.8.1 from trunk, Gcc 5.4, Boost 1.65.1

I have also experimented with various eigen distributions and cmake versions
on building the components (mostly 2.8.2), but I am not sure that this
should make a difference. For building my project though, I am currently
using the bundled CLion cmake, 3.8.2. My project also depends on OpenCV
(2.4.13).

Eventually, the only way I got things to compile on Ubuntu 14.04 without no
boost pointers errors is by installing PCL 1.7.2 from the jochen-sprickerhof
PPA.

I can provide both short code from my problem and associated error, but a) I
am not sure it is needed because I feel it is a configuration/dependency
issue and b) the problem happens even from including the header files, and
the thing is I just fixed the system to a working state (with PCL 1.7.2) and
I am a little reluctant/tired to break things again. I guess tomorrow I will
find the nerv again if someone can help me :).

*So bottom line: perhaps I missed something, but is it possible to use PCL
1.8.1 with some version of Boost and Gcc that can compile without a problem
on a Ubuntu 14.04 machine? Is there some specific requirement I need to
follow?*

Thanks for your time!





--
Sent from: http://www.pcl-users.org/
_______________________________________________
PCL-users@pointclouds.org / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem

Sérgio Agostinho

Yes it is. That’s exactly the environment we’re running in our CI (Travis).

 

Expand everything in  https://travis-ci.org/PointCloudLibrary/pcl/jobs/300311071 to see al the versions currently in use.

 

This should also help.

https://github.com/PointCloudLibrary/pcl/blob/master/.travis.yml

https://github.com/PointCloudLibrary/pcl/blob/master/.travis.sh

 

Cheers

 

 

From: [hidden email]
Sent: Saturday, November 11, 2017 1:19 PM
To: [hidden email]
Subject: [PCL-users] Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem

 

Hello everyone, my first post here so thanks a lot and keep up the good work

on the PCL.

 

A problem I am struggling with in the past few days, with no solution yet:

I am developing portable code on a MacOS with PCL 1.8.0, Boost 1.65.0 and

LLVM 9. With this machine I have no problem developing using the

Registration module of PCL, using C++11 flags.

 

However, no matter what I tried (wasted 3 days actually), when I build my

code on Ubuntu 14.04 I get tons of boost and eigen error messages regarding

the template depth exceeding the value 50, which I cannot at all explain or

find similar over the internet. -ftemplate-depth=$(SOMETHING_LARGER) did not

change things at all, not even the error messages.

 

Configurations I tried so far, every time with a fresh install of the entire

system and fresh building from sources of the associated components:

 

PCL 1.8.0 from releases, Gcc 4.8.4, Boost 1.54

PCL 1.8.0 from releases, Gcc 4.8.4, Boost 1.55

PCL 1.8.0 from releases, Gcc 5.4, Boost 1.54

PCL 1.8.0 from releases, Gcc 5.4, Boost 1.55

PCL 1.8.0 from releases, Gcc 5.4, Boost 1.65.1

PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.54

PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.55

PCL 1.8.1 from trunk, Gcc 4.8, Boost 1.65.1

PCL 1.8.1 from trunk, Gcc 5.4, Boost 1.65.1

 

I have also experimented with various eigen distributions and cmake versions

on building the components (mostly 2.8.2), but I am not sure that this

should make a difference. For building my project though, I am currently

using the bundled CLion cmake, 3.8.2. My project also depends on OpenCV

(2.4.13).

 

Eventually, the only way I got things to compile on Ubuntu 14.04 without no

boost pointers errors is by installing PCL 1.7.2 from the jochen-sprickerhof

PPA.

 

I can provide both short code from my problem and associated error, but a) I

am not sure it is needed because I feel it is a configuration/dependency

issue and b) the problem happens even from including the header files, and

the thing is I just fixed the system to a working state (with PCL 1.7.2) and

I am a little reluctant/tired to break things again. I guess tomorrow I will

find the nerv again if someone can help me :).

 

*So bottom line: perhaps I missed something, but is it possible to use PCL

1.8.1 with some version of Boost and Gcc that can compile without a problem

on a Ubuntu 14.04 machine? Is there some specific requirement I need to

follow?*

 

Thanks for your time!

 

 

 

 

 

--

Sent from: http://www.pcl-users.org/

_______________________________________________

[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: Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem

danas
Hey Sergio,

I will check it out first think tomorrow and also post an update.
Thanks a lot for your help and fast answer! Cheers



--
Sent from: http://www.pcl-users.org/
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem -- UPDATE: OpenIGTLink conflict

danas
Ok, so a follow-up from me:

It turns out it was a well masked 3rd party library issue conflicting with
PCL, but I included a log file just in case something is wrong with PCL and
not with the 3rd party library. I also updated the title of the thread.

I am using  OpenIGTLink <http://openigtlink.org/>   library for passing
geometric information using some external hardware. It is a very useful
open-source library for passing control, pose and various types of
information from a robot.  

The OpenIGTLink v1.0 is available in Ubuntu 14.04 via apt-get
libopenigtlink, which works very well with PCL 1.7.2. Unfortunately, the
same does not apply with PCL>=1.8, without giving any indication, just a
bunch of Boost conflicts.
 
I am attaching a

log.txt <http://www.pcl-users.org/file/t499094/log.txt>  

that comes from Ubuntu 14.04/PCL 1.8.1/OpenIGTLink 1.0 using the following
code:

#include <cstdio>
#include <iostream>
#include <vector>
#include <memory>
#include <sys/stat.h>

/* PCL LIBRARY include files*/
#include <pcl/point_cloud.h>
#include <pcl/point_representation.h>
#include <pcl/point_types.h>

////////////////////////////////////////////////////////////////
int main(int argc, char *argv[]) {
   
     std::cout << "Testing..\n"

    return 0;
}

with CMakeLists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
project(Test)

# Needed by OpenIGTLINK
if(COMMAND cmake_policy)
    cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)

set(CMAKE_CXX_FLAGS "--std=c++11 -pthread ${CMAKE_CXX_FLAGS}")
add_definitions(-fexceptions)

find_package(Threads)
find_package(OpenCV REQUIRED)
find_package(PCL 1.8 REQUIRED COMPONENTS)
find_package(OpenIGTLink REQUIRED)

# Add PCL Dependencies
include_directories(${PCL_INCLUDE_DIRS} )
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

set(Test_SRCS
        src/main.cpp
        )

add_executable(Test ${Test_SRCS})

target_link_libraries(Test ${PCL_LIBRARIES})

Removing the OpenIGTLink dependency solved all my build issues, and even
though I didn't try, I guess that it would also work with all my previous
configurations.

Eventually, to use the OpenIGTLink, I managed to get a successful project
build after downloading the latest (is v3.x now) from source and using that
version. I have not yet tested the actual message passing functionality yet
though, so I hope it works. If it doesn't I will post an update just in case
someone else also hits the same wall.



--
Sent from: http://www.pcl-users.org/
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 14.04 PCL 1.8.0-1.8.1 Boost/Eigen Template problem -- UPDATE: OpenIGTLink conflict

Sérgio Agostinho
Try 1.8.1 and make sure you compiled everything (including your 3rd parties) with c++11 flags.

Cheers

> On 14 Nov 2017, at 10:21, danas <[hidden email]> wrote:
>
> Ok, so a follow-up from me:
>
> It turns out it was a well masked 3rd party library issue conflicting with
> PCL, but I included a log file just in case something is wrong with PCL and
> not with the 3rd party library. I also updated the title of the thread.
>
> I am using  OpenIGTLink <http://openigtlink.org/>   library for passing
> geometric information using some external hardware. It is a very useful
> open-source library for passing control, pose and various types of
> information from a robot.  
>
> The OpenIGTLink v1.0 is available in Ubuntu 14.04 via apt-get
> libopenigtlink, which works very well with PCL 1.7.2. Unfortunately, the
> same does not apply with PCL>=1.8, without giving any indication, just a
> bunch of Boost conflicts.
>
> I am attaching a
>
> log.txt <http://www.pcl-users.org/file/t499094/log.txt>  
>
> that comes from Ubuntu 14.04/PCL 1.8.1/OpenIGTLink 1.0 using the following
> code:
>
> #include <cstdio>
> #include <iostream>
> #include <vector>
> #include <memory>
> #include <sys/stat.h>
>
> /* PCL LIBRARY include files*/
> #include <pcl/point_cloud.h>
> #include <pcl/point_representation.h>
> #include <pcl/point_types.h>
>
> ////////////////////////////////////////////////////////////////
> int main(int argc, char *argv[]) {
>
>     std::cout << "Testing..\n"
>
>    return 0;
> }
>
> with CMakeLists.txt
>
> CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
> project(Test)
>
> # Needed by OpenIGTLINK
> if(COMMAND cmake_policy)
>    cmake_policy(SET CMP0003 NEW)
> endif(COMMAND cmake_policy)
>
> set(CMAKE_CXX_FLAGS "--std=c++11 -pthread ${CMAKE_CXX_FLAGS}")
> add_definitions(-fexceptions)
>
> find_package(Threads)
> find_package(OpenCV REQUIRED)
> find_package(PCL 1.8 REQUIRED COMPONENTS)
> find_package(OpenIGTLink REQUIRED)
>
> # Add PCL Dependencies
> include_directories(${PCL_INCLUDE_DIRS} )
> link_directories(${PCL_LIBRARY_DIRS})
> add_definitions(${PCL_DEFINITIONS})
>
> set(Test_SRCS
>        src/main.cpp
>        )
>
> add_executable(Test ${Test_SRCS})
>
> target_link_libraries(Test ${PCL_LIBRARIES})
>
> Removing the OpenIGTLink dependency solved all my build issues, and even
> though I didn't try, I guess that it would also work with all my previous
> configurations.
>
> Eventually, to use the OpenIGTLink, I managed to get a successful project
> build after downloading the latest (is v3.x now) from source and using that
> version. I have not yet tested the actual message passing functionality yet
> though, so I hope it works. If it doesn't I will post an update just in case
> someone else also hits the same wall.
>
>
>
> --
> Sent from: http://www.pcl-users.org/
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users