# error: typedef redefinition with different types ('__double_t' (aka 'double') vs 'long double')
# https://bugzilla.mozilla.org/show_bug.cgi?id=1729459

--- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h
@@ -30,7 +30,12 @@
  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
  */
 
+#if defined(__linux__) && defined(__i386__)
+// rely on glibc's double_t
+typedef long double __double_t;
+#else
 typedef double      __double_t;
+#endif
 typedef __double_t  double_t;
 
 /*
