octave-maintainers
[Top][All Lists]
Advanced

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

Re: Linking problems with mutex and zsyrk_


From: Daniel J Sebald
Subject: Re: Linking problems with mutex and zsyrk_
Date: Mon, 15 Dec 2008 04:19:02 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041020

The list of functions missing during linking is growing.  Now there are eight 
LAPACK routines (zggev, dsygv, etc.) associated with a file EIG.cc that 
liboctave.so requires.

This is with a fairly up-to-date system.  It's likely I need libraries or a proper 
'-l<lib>' is needed (see my original comments about how I managed to link), but 
the configure process should catch this and make sure the libraries are present and 
up-to-date.  Below is my best guess as to when these function calls entered source 
control.  Please do a rough check on whether these 'pthread', 'blas' and 'lapack' 
libraries are properly included and checked for during 'configure'.  If things seem 
right, I will look more closely on the system that fails.  Thanks--Dan

dggev, zggev, etc. from LAPACK (EIG.cc):

   Jarkko Kaleva <address@hidden>
   Mon Nov 24 10:55:50 2008 +0100 (3 weeks ago)
   http://hg.savannah.gnu.org/hgweb/octave/file/18c4ded8612a/liboctave/EIG.cc

zsyrk (CMatrix.cc):

   Jaroslav Hajek <address@hidden>
   Thu May 08 13:46:33 2008 +0200 (7 months ago)
   
http://hg.savannah.gnu.org/hgweb/octave/file/776791438957/liboctave/CMatrix.cc

pthread_mutexattr_init, etc. (oct-mutex.cc):

   John W. Eaton <address@hidden>
   Wed Jul 16 14:26:18 2008 -0400 (5 months ago)
   
http://hg.savannah.gnu.org/hgweb/octave/file/5a156ab94dd2/liboctave/oct-mutex.cc

Daniel J Sebald wrote:
Daniel J Sebald wrote:

I've been compiling recent versions of Octave on openSUSE 10.3. (openSUSE has a pre-3.0 version, 2.9.12, that doesn't load version 7 mat files, or even handle the load/save options all that well.) I've tried the latest stable release (3.0.3), and that compiles fine. I've also tried the latest mercurial source, and that fails at link time with undefined library references:

pthread_mutexattr_init
pthread_mutexattr_settype
pthread_mutexattr_destroy
zsyrk_

What I notice about the mutex class functions is that they are declared as a class member function in the file oct-mutex.cc, but nowhere do they actually appear to be defined.

What the issue is with zsyrk_ from CMatrix.cc I'm not sure.


The link in the /src directory is successful if I add -lpthread and -lblas to the list of libraries. (The link command between the source control code and 3.0.3 looks pretty much the same, i.e., no library has been lost along the way.) So it is one of two things:

1) Some code is included that should be conditioned out with a preprocessor statement.

2) A library hasn't been added that should be added.

In the case of the mutex code I might guess 2, that the -lpthread needs to be added to the list of libraries somewhere. For the zsyrk_ I would guess 1, because there are a lot of blas functions and I find it hard to believe that zsyrk_ is the only one used in the circumstance that the blas library is used.

Dan



--

Dan Sebald
email: daniel(DOT)sebald(AT)ieee(DOT)org
URL: http://www(DOT)dansebald(DOT)com


reply via email to

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