Installing GPlates on Arch linux

Hi everyone,

I’ve been doing some tests to migrate my current pc to Arch Linux and honestly this is the last hurdle I’m trying to get through prior to migrating. I’ve seen there have been several options available, but can’t seem to figure out what I’m doing wrong even reading through the forum and seeing that @KarnRedsun somehow managed to and would love to know how they did it.

For context:

  • I’m not new to Linux, but I’m definitely not advanced enough to start compiling programs with cmake.
  • I’ve located and installed the following in the installation: boost, boost-libs, cgal, cmake, cmake-extras, gcc, gdal, glew, glu, mesa, proj, python, qt5-xmlpatterns, qwt and zlib.
  • the git clone went without a hitch

Once I started the cmake command I got the following error:

CMake Error at /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package):   Could not find a package configuration file provided by “boost_system“   (requested version 1.89.0) with any of the following names:

   boost_systemConfig.cmake   boost_system-config.cmake

   Add the installation prefix of “boost_system” to CMAKE_PREFIX_PATH or set   “boost_system_DIR” to a directory containing one of the above files. If   “boost_system“ provides a separate development package or SDK, be sure it   has been installed.Call stack (most recent call first):   /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component)   src/CMakeLists.txt:247 (find_package)

Thank you in advance for the help :slight_smile:

You can try the change made in this pull request which involves modifying this CMake file.

1 Like

That helped! Thank you so much :slight_smile:

I’m sadly back with more issues :’(

I went ahead with my migration and now am stuck on the following error:

[ 35%] Building CXX object src/CMakeFiles/gplates-lib.dir/gui/CommandServer.cc.o
during RTL pass: cprop
In file included from /usr/include/c++/15.2.1/set:64,
                 from /home/mruks/GPlates/src/gui/CommandServer.h:30,
                 from /home/mruks/GPlates/src/gui/CommandServer.cc:29:
/usr/include/c++/15.2.1/bits/stl_tree.h: In function ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase(_Node_ptr) [with _Key = GPlatesUtils::IdStringSet::UnicodeStringAndRefCountWithBackRef; _Val = GPlatesUtils::IdStringSet::UnicodeStringAndRefCountWithBackRef; _KeyOfValue = std::_Identity<GPlatesUtils::IdStringSet::UnicodeStringAndRefCountWithBackRef>; _Compare = std::less<GPlatesUtils::IdStringSet::UnicodeStringAndRefCountWithBackRef>; _Alloc = std::allocator<GPlatesUtils::IdStringSet::UnicodeStringAndRefCountWithBackRef>]’:
/usr/include/c++/15.2.1/bits/stl_tree.h:2593:5: internal compiler error: in try_forward_edges, at cfgcleanup.cc:580
 2593 |     }
      |     ^
0x26ef811 diagnostic_context::diagnostic_impl(rich_location*, diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag (*) [1], diagnostic_t)
        ???:0
0x2749918 internal_error(char const*, ...)
        ???:0
0x715613 fancy_abort(char const*, int, char const*)
        ???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues> for instructions.
make[2]: *** [src/CMakeFiles/gplates-lib.dir/build.make:4962: src/CMakeFiles/gplates-lib.dir/gui/CommandServer.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:600: src/CMakeFiles/gplates-lib.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Any ideas?

Thank you again for your help :slight_smile:

Unfortunately it’s an internal compiler error, which usually means there’s a bug in the compiler itself. This does happen sometimes on some systems. Not too much can be done other than try a different version of the gcc compiler (yours looks like 15.2.1) - but that might not be easy. Otherwise you could try compiling again from scratch with a clean setup (ie, no temporary files), but that probably won’t work.

1 Like

That sucks. Weirdly enough I’ve found the solution:

  • Apparently I was missing the base-devel package. I thought it installed, but apparently I might have accidentally removed it or missed an error there
  • I used git clone followed by a fetch for the file instead of manually changing it

Somehow this fixed the issue. Again, thx a million, I probably would have been looking for this for a lot longer if I didn’t get put in the right direction with the hint that it might be a something wrong with the compiler, which tipped me off I might be missing a package :slight_smile: