On Wed, Apr 16, 2014 at 3:15 AM, leif <[email protected]> wrote: > leif wrote: > >> Andrey Novoseltsev wrote: >> >>> On Tuesday, 15 April 2014 18:25:06 UTC-6, leif wrote: >>> >>> ./sage -f -c ecm >>> >>> >>> >>> Thank you! It fails: >>> >> >> Hmmm, probably Debian have borked GCC (although I'd then expect more >> doctests to fail). >> > > Or maybe not (the latter). > > Vanilla FSF GCC is currently in part borked as well on 62xx/63xx Opterons > (with AMD's XOP extensions), and since MPIR 2.6.0 doesn't know these chips, > and Debian's GCC is configured to produce plain x86_64 code by default, > GMP-ECM probably is the only Sage package which runs into this, because it > gets built with '-march=native' (here bdver1) unless you set CFLAGS > yourself. > > You could (re)try > > env CFLAGS="-O3 -march=bdver1 -mno-xop" ./sage -f -c ecm > > (with Debian's gcc) and see whether the test suite failure vanishes. >
That did fix it indeed! (And using Sage gcc didn't.) So - does it have to be reported somewhere or we just need to wait till known bugs are fixed in gcc? > > -leif > > > > I'd first also check whether MPIR's test suite passes: >> >> ./sage -f -c mpir >> >> >> You could try installing Sage's GCC (standard package is version 4.7.3 >> IIRC), and rebuilding GMP-ECM with that, again running its test suite. >> Quick way should be: >> >> ./sage -i gcc >> ./sage -f -c ecm >> >> Or (re)build Sage from scratch using its GCC (in some other folder): >> >> env SAGE_INSTALL_GCC=yes make >> >> >> You might also test whether you get the same error(s) outside of Sage, >> with Debian's GCC (although we currently use vanilla upstream GMP-ECM >> 6.4.4); it only needs GMP or MPIR (dev package with headers): >> >> # [create some temporary directory and cd to it] >> >> # If you don't have the development package of GMP installed: >> # sudo apt-get install libgmp-dev >> # (In case you don't have admin rights, it's also easy to install >> # it into some personal folder, e.g.: >> # wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.xz >> # tar xf gmp-6.0.0a.tar.xz >> # cd gmp-6.0.0 >> # ./configure --prefix=/path/to/install/folder # e.g. $HOME/local >> # make && make check >> # make install >> # Similar for MPIR if you prefer that; >> http://mpir.org/mpir-2.6.0.tar.bz2 ; >> # you'd in addition have to pass '--enable-gmpcompat' to 'configure'.) >> >> wget https://gforge.inria.fr/frs/download.php/32159/ecm-6.4.4.tar.gz >> tar xf ecm-6.4.4.tar.gz >> # Or, using the one from the Sage distro: >> # tar xf $SAGE_ROOT/upstream/ecm-6.4.4.tar.bz2 >> >> cd ecm-6.4.4 >> >> ./configure --prefix=/some/temp/folder >> # In case you have GMP (or MPIR with --enable-gmpcompat) elsewhere: >> # ./configure ... --with-gmp=/path/to/gmp-install # e.g. $HOME/local >> >> make >> make check >> >> If that works, you could start playing with CFLAGS ('-O2', '-O3', >> '-march=bdver1' etc.) in order to trigger/sort out the bug: >> >> make clean >> ./configure ... CFLAGS="..." && make && make check >> >> >> -leif >> >> >> real 0m16.181s >>> user 0m10.052s >>> sys 0m5.064s >>> Successfully installed ecm-6.4.4 >>> Running the test suite for ecm-6.4.4... >>> >>> Now running GMP-ECM's test suite... >>> Making check in x86_64 >>> make[1]: Entering directory >>> `/home/novoselt/sage/local/var/tmp/sage/build/ecm-6.4.4/src/x86_64' >>> make[1]: warning: -jN forced in submake: disabling jobserver mode. >>> make[1]: Nothing to be done for `check'. >>> make[1]: Leaving directory >>> `/home/novoselt/sage/local/var/tmp/sage/build/ecm-6.4.4/src/x86_64' >>> make[1]: Entering directory >>> `/home/novoselt/sage/local/var/tmp/sage/build/ecm-6.4.4/src' >>> make[1]: warning: -jN forced in submake: disabling jobserver mode. >>> make[1]: Leaving directory >>> `/home/novoselt/sage/local/var/tmp/sage/build/ecm-6.4.4/src' >>> ./test.pp1 ./ecm >>> GMP-ECM 6.4.4 [configured with MPIR 2.6.0, --enable-asm-redc] [P+1] >>> Input number is 328006342451 (12 digits) >>> Using B1=120, B2=8008, polynomial x^1, x0=5 >>> Step 1 took 4ms >>> Step 2 took 0ms >>> ********** Factor found in step 2: 328006342451 >>> Found input number N >>> GMP-ECM 6.4.4 [configured with MPIR 2.6.0, --enable-asm-redc] [P+1] >>> Input number is 328006342451 (12 digits) >>> Using B1=120, B2=8008, polynomial x^1, x0=262405073961 >>> Step 1 took 0ms >>> Step 2 took 0ms >>> ********** Factor found in step 2: 328006342451 >>> Found input number N >>> GMP-ECM 6.4.4 [configured with MPIR 2.6.0, --enable-asm-redc] [P+1] >>> Input number is 2050449218179969792522461197 (28 digits) >>> Using B1=20, B2=-1578-1248978, polynomial x^1, x0=6 >>> Step 1 took 4ms >>> ecm: pm1fs2.c:1863: poly_from_sets_V: Assertion `set->elem[i] == >>> -set->elem[c - 1L - i]' failed. >>> Aborted >>> ############### ERROR ############### >>> Expected return code 14 but got 134 >>> make: *** [check] Error 1 >>> Error: GMP-ECM's test suite failed. >>> >>> real 0m0.150s >>> user 0m0.080s >>> sys 0m0.036s >>> >> > -- > () The ASCII Ribbon Campaign > /\ Help Cure HTML E-Mail > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sage-release" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/sage-release/yJMpYXRQYqk/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sage-release. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-release" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-release. For more options, visit https://groups.google.com/d/optout.
