|
From: Thibault L. <tl...@di...> - 2005-08-10 11:52:43
|
On Mon, 2005-08-08 at 22:15 -0500, Paul Ledbetter III wrote:
> I would like to know if the patch at the bottom of this email solves
> the geev problem for the other people who have reported it. It solves
> mine.
>
> I have been having the same issue with geev. Calling it causes cmucl
> to go into an infinite loop. In slime I can interrupt the program,
> and then call geev again. The second time no infinite loop occurs,
> but the results are corrupted (i.e. The resulting matrices are
> populated with silent-NaNs).
>
> I have tracked the source of these problems down to a heisenbug in the
> subroutines which determine parameters of the machine. Unfortunately,
> this patch could not possibly affect the real cause of the problem,
> but if it works for other people besides me, it may help lead to the
> real problem.
>
> The logical effect of this patch is to cause the LAPACK routines to
> assume the base of the machine is at least binary.
>
> Index: dlamch.f
> ===================================================================
> RCS file: /cvsroot/matlisp/matlisp/LAPACK/SRC/dlamch.f,v
> retrieving revision 1.1
> diff -u -w -r1.1 dlamch.f
> --- dlamch.f 15 Apr 2000 00:24:53 -0000 1.1
> +++ dlamch.f 9 Aug 2005 02:47:52 -0000
> @@ -231,7 +231,7 @@
> *
> * fl( a + b ) .gt. a.
> *
> - B = 1
> + B = 2
> C = DLAMC3( A, B )
> *
> *+ WHILE( C.EQ.A )LOOP
>
It works for me but this one works too :-/
--- ../matlisp-2_0beta-2003-10-14/LAPACK/SRC/dlamch.f 2000-04-15
01:24:53.000000000 +0100
+++ LAPACK/SRC/dlamch.f 2005-08-10 12:13:27.167199885 +0100
@@ -234,6 +234,7 @@
B = 1
C = DLAMC3( A, B )
*
+ PRINT *, ''
*+ WHILE( C.EQ.A )LOOP
20 CONTINUE
IF( C.EQ.A ) THEN
The bug is more likely to be in gcc/g77/glibc or in the way
the libraries are called from lisp. Here are the versions I use:
wok$ gcc --version
gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
wok$ g77 --version
GNU Fortran (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
Copyright (C) 2004 Free Software Foundation, Inc.
GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
or type the command `info -f g77 Copying'.
wok$ rpm -q glibc
glibc-2.3.3-74
Thibault
|