Le 07/01/2020 à 10:20, dimp...@gmail.com a écrit : > On Mon, Jan 06, 2020 at 06:37:25PM +0100, Jean-Florent Raymond wrote: >> >> I have been investigating a bug that happened when I tried to build the >> documentation of sage 9.0 on a new machine. >> It seems to be the same as described in >> >> https://groups.google.com/d/topic/sage-devel/5jajeJiJNiY/discussion >> (the thread describes a way to circumvent it) >> >> In a few words: in order to produce 3d pictures for the documentation, >> the script that builds the documentation calls tachyon (because jmol is >> not available) and the tachyon call results in a syntax error. Strangely >> I have not been able to reproduce this error except when building the >> documentation. >> The way it works is that a string describing the 3d scene is written to >> a temporary file, which is then read by tachyon. Investigating further I >> found that some decimal numbers are printed in this file with commas as >> decimal separator when building the doc and with dots when running >> sage... I highly suspect this to be the reason of the syntax error >> raised by tachyon. Below is an example of lines from the two temporary >> files corresponding to the same call, the first in normal sage and the >> second one obtained when building the doc. >> >> TRI V0 0.641519 0.179487 0.025641 V1 0.641026 0.18109 -0.025641 V2 >> 0.641519 0.179487 -0.025641 >> TRI V0 0,641519 0,179487 0,025641 V1 0,641026 0,18109 -0,025641 V2 >> 0,641519 0,179487 -0,025641 >> >> What I cannot explain is why these lines have been printed differently >> (i.e. commas instead of dots). They have been printed by the function >> format_tachyon_triangle from src/sage/plot/plot3d/index_face_set.pyx, >> whose code is the following (comment is not mine): >> >> cdef inline format_tachyon_triangle(point_c P, point_c Q, point_c R): >> cdef char ss[250] >> # PyBytes_FromFormat doesn't do floats? >> cdef Py_ssize_t r = sprintf_9d(ss, >> "TRI V0 %g %g %g V1 %g %g %g V2 %g %g >> %g", >> P.x, P.y, P.z, >> Q.x, Q.y, Q.z, >> R.x, R.y, R.z ) >> return bytes_to_str(PyBytes_FromStringAndSize(ss, r)) >> >> Does anyone here has an idea why this function behaves differently >> depending on whether it is called in sage or when building the doc? > > Are you on locale that uses commas instead of dots in representing > floating precision numbers? > If so, it could be that writing out these files happens under the > control of your locale...
Indeed, and by changing the locale to en_US the problem disappears. Thanks! Here is a fix: https://trac.sagemath.org/ticket/28971 Jean-Florent. > > Just a wild guess, of course. > Dima > > >> >> Best, >> Jean-Florent. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sage-devel/9fcb3ff1-bedb-2a5c-af16-fcee21588e10%40uca.fr. > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/f7eb4ed0-2307-40c8-34ae-60d819040c1b%40uca.fr.
signature.asc
Description: OpenPGP digital signature