# Mailinglist Archive: opensuse-buildservice (253 mails)

< Previous | Next > |

##### [opensuse-buildservice] Problem with BLAS / LAPACK libraries

- From: "David Strozzi" <david.strozzi@xxxxxxxxx>
- Date: Fri, 24 Nov 2006 18:57:22 -0800
- Message-id: <f21763420611241857g40f91164ue7ce372dec9468bb@xxxxxxxxxxxxxx>

Hi,

There's a small problem with the linear algebra library BLAS and LAPACK in

opensuse. These are Fortran libraries. I (and others) have trouble using

the libraries with SciPy (python scientific computing package). The problem

seems to be that different Fortran compilers use different symbol names for

some output routines. When one compiles scipy, there are some Fortran

routines that get compiled, I think with g77 by default (maybe not). You

can compile and install scipy, but when you try importing it in python you

get an error of undefined symbol _gfortran_st_write in the LAPACK library.

I have the most recent blas and lapack opensuse builds (940). The official

suse-type webpage I got these from say they were compiled with egcs, which

is a. wrong (egcs merged back into gcc a long time ago) and b. ill-defined

(since g77 and gfortran are both part of gcc).

As you search the web, you see that it's part of the lore that "Suse's BLAS

is buggy, you have to compile yourself." Not good for Suse!

While I'm on it, it's not clear what implementation of BLAS opensuse uses.

My guess is it's the reference implementation from lapack's page on netlib,

which is not optimized. Better ones exist, like gotoBLAS. Maybe that can

be made a suse package?

At the least it would help if it were spelled out exactly which Fortran

compiler was used to make opensuse's blas. If they can be compiled to allow

multiple Fortran compilers to play nicely with them, even better.

Cheers,

David

There's a small problem with the linear algebra library BLAS and LAPACK in

opensuse. These are Fortran libraries. I (and others) have trouble using

the libraries with SciPy (python scientific computing package). The problem

seems to be that different Fortran compilers use different symbol names for

some output routines. When one compiles scipy, there are some Fortran

routines that get compiled, I think with g77 by default (maybe not). You

can compile and install scipy, but when you try importing it in python you

get an error of undefined symbol _gfortran_st_write in the LAPACK library.

I have the most recent blas and lapack opensuse builds (940). The official

suse-type webpage I got these from say they were compiled with egcs, which

is a. wrong (egcs merged back into gcc a long time ago) and b. ill-defined

(since g77 and gfortran are both part of gcc).

As you search the web, you see that it's part of the lore that "Suse's BLAS

is buggy, you have to compile yourself." Not good for Suse!

While I'm on it, it's not clear what implementation of BLAS opensuse uses.

My guess is it's the reference implementation from lapack's page on netlib,

which is not optimized. Better ones exist, like gotoBLAS. Maybe that can

be made a suse package?

At the least it would help if it were spelled out exactly which Fortran

compiler was used to make opensuse's blas. If they can be compiled to allow

multiple Fortran compilers to play nicely with them, even better.

Cheers,

David

< Previous | Next > |