From 52539173c10ec8bbf3819e79e47db738116c5e39 Mon Sep 17 00:00:00 2001 From: Anton Gladky Date: Sat, 3 Oct 2026 19:07:41 +0200 Subject: [PATCH] Include solvespace.h before spnav.h in the GTK frontend Forwarded: no Last-Update: 2026-10-03 spnav.h includes , which does "#define Complex 0". When Eigen is included afterwards, its AltiVec backend (used on ppc64el) fails to compile because it uses "bool Complex" as a template parameter name. Include solvespace.h, and therefore Eigen, before the X11 headers. Gbp-Pq: Name 08-Include-Eigen-before-X11-headers.patch --- src/platform/guigtk.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/platform/guigtk.cpp b/src/platform/guigtk.cpp index 522fb13..2e845a3 100644 --- a/src/platform/guigtk.cpp +++ b/src/platform/guigtk.cpp @@ -32,6 +32,11 @@ # include #endif +// Include solvespace.h (and thus Eigen) before spnav.h: the latter pulls in +// , which defines macros such as `Complex` that break Eigen's +// AltiVec template code on ppc64el. +#include "solvespace.h" + #if defined(HAVE_SPACEWARE) # include # include @@ -48,8 +53,6 @@ # endif #endif -#include "solvespace.h" - namespace SolveSpace { namespace Platform { -- 2.39.5