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