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.


-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 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.

Reply via email to