Summary: | Warning line needs to be added to /etc/make.conf for people with pentium 4 machines, else floating point in Python breaks | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Brendan-G Becker-BZ <tgz> |
Component: | [OLD] Core system | Assignee: | Nicholas Jones (RETIRED) <carpaski> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Strengthened. |
I recommend the following change for /etc/make.conf - Somewhere around the CPU-specific opts in the file, please put a warning next to the pentium 4 flags since gcc borks glibc when compiling it with p4 flags. Maybe something to the effect of: # WARNING: Do NOT use the Pentium 4 optimizations EVEN IF YOU ACTUALLY HAVE A # PENTIUM 4! It will break glibc and other packages. This is a gcc bug. Otherwise, users using python will be submit to: >>> int(18.2) OverflowError: float too large to convert Reproducible: Always Steps to Reproduce: 1. Run python 2. type int(18.2) 3. press enter Actual Results: Python overflows. Expected Results: Python should return 18 The pertinent CFLAG opts were -march=pentium4 or -mcpu=pentium4, depending on the user (we have several) that have complained about the bug to the pyDDR team. Removing the opt, or just making it less agressive, and having the user recompile glibc and python fixed the problem in all cases. We know how to fix it, but the warning in make.conf would stop a lot of people from doing stupid things, among them frying glibc and wasting an hour yelling at us and another hour for them to recompile a lot of their system libs.