I installed atlas, blas and lapack x86_64 packages via
yum install atlas.x86_64 blas.x86_64 lapack.x86_64
on a Redhat 6.6 (ii) distro which installs a shared library but am having problems compiling and linking. For example, if I try to compile the minimal working example:
program main
print *, 'hello world'
end program main
using
gfortran -L. main.f90 -llapack -lblas -o main
the compiler doesn't find the libraries and I get the error message:
/usr/bin/ld: cannot find -llapack
collect2: ld returned 1 exit status
I'm relatively new to fortran and linux so I'm probably missing something obvious. I'm lost hours on compiling the libraries from source unsuccessfully too.
Pointers much appreciated.
You need to install the *-devel
versions of those packages.
E.g., with a virtual Fedora 17 system I had lying around:
$ cat main.f90
program main
print *, 'hello world'
end program main
$ gfortran -L. main.f90 -llapack -lblas -o main
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
$ sudo yum install atlas.x86_64 blas.x86_64 lapack.x86_64
...
Installed:
blas.x86_64 0:3.4.2-2.fc17 lapack.x86_64 0:3.4.2-2.fc17
Complete!
$ gfortran -L. main.f90 -llapack -lblas -o main
/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
collect2: error: ld returned 1 exit status
$ sudo yum install atlas-devel.x86_64 blas-devel.x86_64 lapack-devel.x86_64
...
Installed:
atlas-devel.x86_64 0:3.8.4-3.fc17 blas-devel.x86_64 0:3.4.2-2.fc17
lapack-devel.x86_64 0:3.4.2-2.fc17
Complete!
$ gfortran -L. main.f90 -llapack -lblas -o main
(Success)
来源:https://stackoverflow.com/questions/28057585/blas-atlas-lapack-shared-library-minimal-example