Dear GPlates team,
A student at the university I work is working on a project involving pyGPlates and the duty of installing it on our CentOS 7 HPC cluster has fallen on me. I have chosen to try Gplates 2.3.0, with the intention to get it to work with Anaconda 2023.03. I am compiling it with the openMPI compiler 4.1.5 on GCC 12.1.0.
However, when compiling it, I run into errors that I find difficult to fix. I was hoping I could rely on your expertise to identify what is going wrong. It appears as if it is related to calls to libboost, but the install came with its own boost, 1.78.0, implying that they are supposed to work well together. I could try linking with another boost version, but I would much rather understand what is going and what to do.
Thank you very much for your time,
Lukas (and a very grateful master student)
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc: In member function ‘boost::optional<__gnu_cxx::_normal_iterator<const GPlatesGui::TopologyTools::VisibleSection*, std::vectorGPlatesGui::TopologyTools::VisibleSection > > GPlatesGui::TopologyTools::is_section_visible_boundary(std::vector::size_type) const’:
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:3451:92: error: ‘1’ was not declared in this scope
3451 | boost::bind(&VisibleSection::d_section_info_index, 1) ==
| ^~
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:3451:92: note: suggested alternatives:
In file included from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/include_preprocessed.hpp:37,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/placeholders.hpp:43,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/iterator/iterator_categories.hpp:16,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/iterator/iterator_adaptor.hpp:14,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/iterator/reverse_iterator.hpp:10,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/range/reverse_iterator.hpp:21,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/range/rend.hpp:19,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/foreach.hpp:82,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:33:
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
In file included from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/utility/compare_pointees.hpp:15,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/optional/optional.hpp:55,
from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/optional.hpp:15,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:38:
/trinity/opt/apps/software/gcc/gcc-12.1.0/include/c++/12.1.0/functional:285:34: note: ‘std::placeholders::_1’
285 | extern const Placeholder<1> 1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
In file included from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/bind/bind.hpp:2336,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/utils/ReferenceCount.h:29,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/model/WeakReferenceCallback.h:35,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/model/WeakReference.h:37,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/model/Model.h:29,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/model/BasicHandle.h:39,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/model/FeatureHandle.h:35,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologySectionsContainer.h:37,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.h:37,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:54:
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/bind/placeholders.hpp:46:38: note: ‘boost::placeholders::1’
46 | BOOST_INLINE_CONSTEXPR boost::arg<1> 1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
In file included from /trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/lambda/bind.hpp:15,
from /trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:35:
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/lambda/core.hpp:71:60: note: ‘boost::lambda::{anonymous}::_1’
71 | boost::lambda::placeholder1_type& BOOST_ATTRIBUTE_UNUSED _1 = free1;
| ^~
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc: In member function ‘boost::optional<__gnu_cxx::__normal_iterator<const GPlatesGui::TopologyTools::VisibleSection*, std::vectorGPlatesGui::TopologyTools::VisibleSection > > GPlatesGui::TopologyTools::is_section_visible_interior(std::vector::size_type) const’:
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:3470:92: error: ‘1’ was not declared in this scope
3470 | boost::bind(&VisibleSection::d_section_info_index, 1) ==
| ^~
/trinity/opt/apps/software/python/pygplates/gplates_2.3.0_src/src/gui/TopologyTools.cc:3470:92: note: suggested alternatives:
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
/trinity/opt/apps/software/gcc/gcc-12.1.0/include/c++/12.1.0/functional:285:34: note: ‘std::placeholders::_1’
285 | extern const Placeholder<1> 1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/bind/placeholders.hpp:46:38: note: ‘boost::placeholders::1’
46 | BOOST_INLINE_CONSTEXPR boost::arg<1> 1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/mpl/aux/preprocessed/gcc/placeholders.hpp:29:16: note: ‘mpl::_1’
29 | typedef arg<1> _1;
| ^~
/trinity/opt/apps/software/Anaconda/2023.03/tensorflowGPU/installHere/include/boost/lambda/core.hpp:71:60: note: ‘boost::lambda::{anonymous}::_1’
71 | boost::lambda::placeholder1_type& BOOST_ATTRIBUTE_UNUSED _1 = free1;
| ^~
make[2]: *** [src/CMakeFiles/gplates-lib.dir/gui/TopologyTools.cc.o] Error 1
make[1]: *** [src/CMakeFiles/gplates-lib.dir/all] Error 2