octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling development sources


From: Jaroslav Hajek
Subject: Re: compiling development sources
Date: Thu, 11 Feb 2010 09:51:55 +0100

On Thu, Feb 11, 2010 at 9:23 AM, Carlo de Falco <address@hidden> wrote:
>
> On 11 Feb 2010, at 09:17, Jaroslav Hajek wrote:
>
>> Did you run the qrupdate test suite? Did it produce any failures?
>
> Indeed I had not run the test suite, if I do I get:
>
> g95 -O3 -funroll-loops -c utils.f
> In file utils.f:1029
>
>      rnrm = clange('M',m,n,A,lda,wrk)
>                                  1
> In file utils.f:743
>
>      rnrm = clange('M',m,n,A,lda,wrk)
>                                  2
> Warning (155): Inconsistent types (REAL(4)/COMPLEX(4)) in actual argument
> lists at (1) and (2)
> In file utils.f:1029
>
>      rnrm = clange('M',m,n,A,lda,wrk)
>             1
> In file utils.f:314
>
>      rnrm = clange('M',m,n,A,lda)
>             2
> Warning (154): Inconsistent number of arguments in reference to 'clange' at
> (1) and (2)
> In file utils.f:1001
>
>      rnrm = dlange('M',m,n,A,lda,wrk)
>             1
> In file utils.f:286
>
>      rnrm = dlange('M',m,n,A,lda)
>             2
> Warning (154): Inconsistent number of arguments in reference to 'dlange' at
> (1) and (2)
> In file utils.f:58
>
>      call drandg(2*m,n,x,2*ldx)
>                        1
> In file utils.f:34
>
>      subroutine drandg(m,n,x,ldx)
>                            2
> Warning (155): Inconsistent types (COMPLEX(8)/REAL(8)) in actual argument
> lists at (1) and (2)
> In file utils.f:974
>
>      rnrm = slange('M',m,n,A,lda,wrk)
>             1
> In file utils.f:258
>
>      rnrm = slange('M',m,n,A,lda)
>             2
> Warning (154): Inconsistent number of arguments in reference to 'slange' at
> (1) and (2)
> In file utils.f:51
>
>      call srandg(2*m,n,x,2*ldx)
>                        1
> In file utils.f:21
>
>      subroutine srandg(m,n,x,ldx)
>                            2
> Warning (155): Inconsistent types (COMPLEX(4)/REAL(4)) in actual argument
> lists at (1) and (2)
> In file utils.f:1057
>
>      rnrm = zlange('M',m,n,A,lda,wrk)
>                                  1
> In file utils.f:769
>
>      rnrm = zlange('M',m,n,A,lda,wrk)
>                                  2
> Warning (155): Inconsistent types (REAL(8)/COMPLEX(8)) in actual argument
> lists at (1) and (2)
> In file utils.f:1057
>
>      rnrm = zlange('M',m,n,A,lda,wrk)
>             1
> In file utils.f:342
>
>      rnrm = zlange('M',m,n,A,lda)
>             2
> Warning (154): Inconsistent number of arguments in reference to 'zlange' at
> (1) and (2)
> g95 -O3 -funroll-loops -o tqr1up tqr1up.f utils.o ../libqrupdate.a
> -Wl,-framework,Accelerate -Wl,-framework,Accelerate
> Undefined symbols:
>  "_zpftol_", referenced from:
>      _U559.3839 in utils.o
> ld: symbol(s) not found
> make[1]: *** [tqr1up] Error 1
> make: *** [test] Error 2
>
> c.
>
>

Oh my. I should use g95 to verify the sources.
Please apply the following patch (only fixes test suite, so should be
irrelevant for Octave) and try again:

--- test/utils.f        (revision 23)
+++ test/utils.f        (revision 24)
@@ -255,7 +255,7 @@
 c get residual
       call sgemm('N','N',m,n,k,-1e0,Q,ldq,R,ldr,1e0,A,lda)
 c get frobenius norm
-      rnrm = slange('M',m,n,A,lda)
+      rnrm = slange('M',m,n,A,lda,wrk)
       write(*,1001) rnrm,spftol(rnrm)
 c form Q'*Q - I
       call ssyrk('U','T',k,m,1e0,Q,ldq,0e0,A,lda)
@@ -283,7 +283,7 @@
 c get residual
       call dgemm('N','N',m,n,k,-1d0,Q,ldq,R,ldr,1d0,A,lda)
 c get frobenius norm
-      rnrm = dlange('M',m,n,A,lda)
+      rnrm = dlange('M',m,n,A,lda,wrk)
       write(*,1001) rnrm,dpftol(rnrm)
 c form Q'*Q - I
       call dsyrk('U','T',k,m,1d0,Q,ldq,0d0,A,lda)
@@ -311,7 +311,7 @@
 c get residual
       call cgemm('N','N',m,n,k,-(1e0,0e0),Q,ldq,R,ldr,(1e0,0e0),A,lda)
 c get frobenius norm
-      rnrm = clange('M',m,n,A,lda)
+      rnrm = clange('M',m,n,A,lda,wrk)
       write(*,1001) rnrm,spftol(rnrm)
 c form Q'*Q - I
       call cherk('U','C',k,m,1e0,Q,ldq,0e0,A,lda)
@@ -339,7 +339,7 @@
 c get residual
       call zgemm('N','N',m,n,k,-(1d0,0d0),Q,ldq,R,ldr,(1d0,0d0),A,lda)
 c get frobenius norm
-      rnrm = zlange('M',m,n,A,lda)
+      rnrm = zlange('M',m,n,A,lda,wrk)
       write(*,1001) rnrm,dpftol(rnrm)
 c form Q'*Q - I
       call zherk('U','C',k,m,1d0,Q,ldq,0d0,A,lda)
@@ -727,7 +727,7 @@
       real rnrm,clange
       external cgemm,clange,spftol
       character*4 spftol
-      complex wrk(1)
+      real wrk(1)
       integer i,j

 c zero lower triangle of R
@@ -751,9 +751,9 @@
       integer m,n,lda,ldl,ldr
       double complex A(lda,n),L(ldl,min(m,n)),R(ldr,n)
       double precision rnrm,zlange
-      external zgemm,zlange,zpftol
+      external zgemm,zlange,dpftol
       character*4 dpftol
-      double complex wrk(1)
+      double precision wrk(1)
       integer i,j

 c zero lower triangle of R



-- 
RNDr. Jaroslav Hajek, PhD
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]