Mark Dickinson added the comment:
Yes, there are almost certainly better ways to organize the build here.
A hacky solution might be to simply #include _math.c in the two other files
that need it.
--
___
Python tracker rep...@bugs.python.org
Martin Panter added the comment:
I suspect the change here causes _math.c to be compiled to the same object file
twice, and there is a race condition when the compilations are concurrent. See
Issue 24421.
--
nosy: +vadmium
___
Python tracker
Mark Dickinson dicki...@gmail.com added the comment:
Moved atanh, asinh, acosh, log1p from pymath.c to Modules/_math.c in
r76978 (trunk), r76980 (py3k).
--
assignee: - mark.dickinson
priority: - normal
resolution: - fixed
status: open - closed
Mark Dickinson dicki...@gmail.com added the comment:
So the configure test for tanh(-0.0) is purely informational: it doesn't
affect the behaviour of the built Python in any way. I agree that the
test is imperfect, in that if atan2 is also non-conformant on the given
platform then the sign
Roumen Petrov bugtr...@roumenpetrov.info added the comment:
In general those functions has to be part of, lets call it python
runtime/portable interface . With current build system you may create a
build-in module lets call it mathport and to add some functions .
To the list a will add function
Mark Dickinson dicki...@gmail.com added the comment:
For the recently added expm1 function (see issue #3366), I've put the
substitute code in a new file Modules/_math.c, that's linked into math.so.
I plan to move the other substitute libm functions from pymath.c into this
file, and to link
Roumen Petrov bugtr...@roumenpetrov.info added the comment:
May be is good to add depends=['_math.h'], for modules in setup.py.
About atan2 - lets see comments in mathmodule and configure test. The
cmath test case pass on freebsd as buildbot is for for 7.2. What about
freebsd 6.2 ?
Also I don't
New submission from Mark Dickinson dicki...@gmail.com:
The Python/pymath.c file currently defines substitutes for some C99 libm
functions (e.g., log1p), for the benefit of platforms that don't implement
those functions.
It's compiled into the main Python executable.
There are (at least) two
Mark Dickinson dicki...@gmail.com added the comment:
Incidentally, the build failure described earlier can be fixed by creating
python.exe with:
gcc -u _PyMac_Error -o python.exe Modules/python.o -ldl
-Wl,-force_load,libpython2.7.a -framework CoreFoundation
instead of with:
gcc -u