tesseract-robotics / tesseract_qt

Tesseract Qt Widgets and Applications
GNU Lesser General Public License v3.0
11 stars 10 forks source link

compile tesseract_qt on ubutun22.04 #53

Closed lanmo0923 closed 1 year ago

lanmo0923 commented 1 year ago

Hello,I tried to compile tesseract_qt on ubutun22.04 , but I encountered some problems. In file included from /root/tesseract-robotics/src/tesseract_qt/common/src/component_info.cpp:29: /usr/include/boost/serialization/list.hpp: In function ‘void boost::serialization::load(Archive&, std::__cxx11::list<_ValT, _Allocator>&, unsigned int)’: /usr/include/boost/serialization/list.hpp:53:33: error: ‘library_version_type’ in namespace ‘boost::serialization’ does not name a type; did you mean ‘item_version_type’? The boost version is 1.74, is it because the boost version is not appropriate?@Levi-Armstrong

acbuynak commented 1 year ago

I duplicated this failure to build on a native Ubuntu 22 + Humble install. Given the Focal CI build is still passing, I'm still looking for a Jammy specific difference.

Checked boost versions.
library_version_type is available in both relevant Boost versions: v1.74 - Focal default, v1.77 - Jammy default

My original error duplicating @lanmo0923's but with formatting:

In file included from /....../tesseract_ws/src/tesseract_qt/common/src/component_info.cpp:29:
/usr/include/boost/serialization/list.hpp: In function ‘void boost::serialization::load(Archive&, std::__cxx11::list<_ValT, _Allocator>&, unsigned int)’:
/usr/include/boost/serialization/list.hpp:53:33: error: ‘library_version_type’ in namespace ‘boost::serialization’ does not name a type; did you mean ‘item_version_type’?
   53 |     const boost::serialization::library_version_type library_version(
      |                                 ^~~~~~~~~~~~~~~~~~~~
      |                                 item_version_type
/usr/include/boost/serialization/list.hpp:60:30: error: ‘library_version_type’ is not a member of ‘boost::serialization’; did you mean ‘item_version_type’?
   60 |     if(boost::serialization::library_version_type(3) < library_version){
      |                              ^~~~~~~~~~~~~~~~~~~~
      |                              item_version_type
/usr/include/boost/serialization/list.hpp:60:56: error: ‘library_version’ was not declared in this scope
   60 |     if(boost::serialization::library_version_type(3) < library_version){
      |                                                        ^~~~~~~~~~~~~~~
rjoomen commented 1 year ago

See #54

acbuynak commented 1 year ago

Thanks @rjoomen. This PR resolves build errors I had on both Foxy (linking ads::qtadvanceddocking) and Humble (boost related).

Levi-Armstrong commented 1 year ago

The PR has been merged. Thanks @rjoomen for the fix.