Summary: | dev-scheme/guile should fall back to a link-time test for csqrt when cross-compiling | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | ytrezq |
Component: | Current packages | Assignee: | Scheme Project <scheme> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | embedded |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
ytrezq
2015-05-18 22:17:08 UTC
dependencies include autogen on which depend gnutls which is used by many packages Update from configure in guile : configure.in line 834 # glibc 2.3.6 (circa 2006) and various prior versions had a bug where # csqrt(-i) returned a negative real part, when it should be positive # for the principal root. # if test "$ac_cv_type_complex_double" = yes; then AC_CACHE_CHECK([whether csqrt is usable], guile_cv_use_csqrt, [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <complex.h> /* "volatile" is meant to prevent gcc from calculating the sqrt as a constant, we want to test libc. */ volatile complex double z = - _Complex_I; int main (void) { z = csqrt (z); if (creal (z) > 0.0) return 0; /* good */ else return 1; /* bad */ }]])], [guile_cv_use_csqrt=yes], [guile_cv_use_csqrt="no, glibc 2.3 bug"], [guile_cv_use_csqrt="yes, hopefully (cross-compiling)"])]) It seems the configure script tries to compile and run a program for testing the support. But in the case of cross compiling configure assume csqrt is supported by default. You might say this is upstream but autogen depends on guile shared libraries and gnutls depends on the shared libraries of autogen. This is not compile time. It really breaks many packages. |