From: Anton Gladky Date: Sat, 3 Oct 2026 17:07:41 +0000 (+0200) Subject: Include solvespace.h before spnav.h in the GTK frontend X-Git-Tag: archive/raspbian/3.2+dfsg-5+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=52539173c10ec8bbf3819e79e47db738116c5e39;p=solvespace.git 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 --- 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 {