[PURRS-devel] [Fwd: Re: Apparent non-termination of NTL's `make check' (version 5.3.2)]

Roberto Bagnara bagnara at cs.unipr.it
Sat Jul 3 17:31:38 CEST 2004



-------- Original Message --------
Subject: Re: Apparent non-termination of NTL's  `make check' (version 5.3.2)
Date: Sat, 3 Jul 2004 11:01:50 -0400
From: victor shoup <shoup at cs.nyu.edu>
To: Roberto Bagnara <bagnara at cs.unipr.it>

Hi,

Don't worry about the version number issue.
I haven't seen the problem with the "subset" program before.
It should terminate in a few seconds.

The code associated with that program hasn't changed for years.
It looks like you are using a pretty "bleeding edge" version of gcc.
I suspect it could be some kind of issue with floating point
arithmetic...possibly a bug in the
compiler, or possibly the NTL code makes an assumption about code
generation that is
not strictly "legal" somehow.

If you have access to an older version of gcc, try that.
Also, try compiling without optimization...the quickest way to do this
in this case:
   1) edit makefile, and delete -O2 from the compiling options (should
be obvious where this is).
   2) touch LLL_FP.c   (that should be the file causing the problem)
   3) make ntl.a  (should cause just LLL_FP.c to be recompiled)
   4) make check  (try again)

Let me know what happens....even if this is a gcc bug, I should try to
find a work-around.

Also:  I doubt that it is a gmp bug, but if turning optimization off
doesn't help, then you should
try rebuilding ntl w/ "classic" long integer arithmetic, just to rule
that out.

   -- Victor

On Saturday, July 3, 2004, at 10:25 AM, Roberto Bagnara wrote:

>
> Dear Sir,
>
> I have downloaded NTL 5.3.2 and I have configured it with the command
>
> $ ./configure NTL_GMP_LIP=on NTL_STD_CXX=on GMP_PREFIX=/usr/local
>
> Doing `make' proceeds fine, even though the MakeDesc command seems
> to print the wrong version number:
>
> $ make
> make setup1
> make[1]: Entering directory `/usr/local/distrib/ntl-5.3.2/src'
> gcc -I../include -I.  -O2 -c MakeDescAux.c
> gcc -I../include -I.  -O2  -o MakeDesc MakeDesc.c MakeDescAux.o -lm
> ./MakeDesc
> This is NTL version 5.3.1
>
> GOOD NEWS: compatible machine.
> summary of machine characteristics:
> bits per long = 32
> bits per int = 32
> bits per size_t = 32
> arith right shift = yes
> double precision = 53
> NBITS (maximum) = 30
> single mul ok = yes
> register double precision = 64
> double rounding detected = yes
> -- auto x86 fix
>
>
> mv mach_desc.h ../include/NTL/mach_desc.h
> [...]
>
> When I do `make check', the process arrives to the following point
>
> [...]
> running LLLTest
> LLL_FP...0
> LLL_QP...0.02
> LLL_XD...0.03
> LLL_RR...0.18
> G_LLL_FP...0.01
> G_LLL_QP...0.07
> G_LLL_XD...0.07
> G_LLL_RR...0.52
> LLL...0.01
> LLLTest OK
>
> ---------------------------------
> making subset
> make[1]: Entering directory `/usr/local/distrib/ntl-5.3.2/src'
> g++ -I../include -I.  -O2  -o subset subset.c ntl.a  -L/usr/local/lib 
> -lgmp -lm
> make[1]: Leaving directory `/usr/local/distrib/ntl-5.3.2/src'
> subset 40 40 20 10 999999 f
> n: b: size: prune: seed: alg [fqQxr]: +
>
> and then sits there for ages.  On my machine, an Athlon 2800 running
> Red Hat Linux 9, the `subset' process is running since almost 5 hours 
> now.
> I am using GCC 3.4.1 and GMP 4.3.1.
> Have you any idea what the problem may be?
> Thanks a lot,
>
>     Roberto
>
> -- 
> Prof. Roberto Bagnara
> Computer Science Group
> Department of Mathematics, University of Parma, Italy
> http://www.cs.unipr.it/~bagnara/
> mailto:bagnara at cs.unipr.it
>
>


-- 
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it



More information about the PURRS-devel mailing list