是否可以在Mac osx10.11上安装lapack ?

时间:2022-09-18 23:11:22

I want to use a software that needs lapack to compile properly. But I'm not able to make lapack work on Mac.

我想使用一个需要lapack来正确编译的软件。但是我不能在Mac上做lapack的工作。

http://www.netlib.org/lapack/

http://www.netlib.org/lapack/

I'm trying to install lapack-3.7.1

我正在尝试安装lapack-3.7.1。

I type make and this message arrive:

我键入make,这个消息到达:

 make: *** No rule to make target `lsame.o', needed by `testlsame'.  Stop.

I've attempted to modify the make.inc but it seems that some instructions that I've seen on internet are not updated. I saw that we have to change the PLAT to PLAT = _DARWIN.

我已经试着修改了make。但似乎我在互联网上看到的一些指示没有更新。我看到我们必须改变PLAT = _DARWIN。

http://www.commonmediainc.com/2008/03/24/building-lapack-and-rubys-linalg-on-mac-os-x/

http://www.commonmediainc.com/2008/03/24/building-lapack-and-rubys-linalg-on-mac-os-x/

I can't see it in my make.inc file.

我看不出来。公司文件。

Are there some step by step instruction to install lapack?

安装lapack有什么步骤吗?

make.inc file:

制作。公司文件:

####################################################################
#  LAPACK make include file.                                       #
#  LAPACK, Version 3.7.0                                           #
#  December 2016                                                   #
####################################################################

SHELL = /bin/sh

#  CC is the C compiler, normally invoked with options CFLAGS.
#
CC     = gcc
CFLAGS = -O3

#  Modify the FORTRAN and OPTS definitions to refer to the compiler
#  and desired compiler options for your machine.  NOOPT refers to
#  the compiler options desired when NO OPTIMIZATION is selected.
#
#  Note: During a regular execution, LAPACK might create NaN and Inf
#  and handle these quantities appropriately. As a consequence, one
#  should not compile LAPACK with flags such as -ffpe-trap=overflow.
#
FORTRAN = gfortran
OPTS    = -O2 -frecursive
DRVOPTS = $(OPTS)
NOOPT   = -O0 -frecursive

#  Define LOADER and LOADOPTS to refer to the loader and desired
#  load options for your machine.
#
LOADER   = gfortran
LOADOPTS =

#  The archiver and the flag(s) to use when building an archive
#  (library).  If your system has no ranlib, set RANLIB = echo.
#
ARCH      = ar
ARCHFLAGS = cr
RANLIB    = ranlib

#  Timer for the SECOND and DSECND routines
#
#  Default:  SECOND and DSECND will use a call to the
#  EXTERNAL FUNCTION ETIME
#TIMER = EXT_ETIME
#  For RS6K:  SECOND and DSECND will use a call to the
#  EXTERNAL FUNCTION ETIME_
#TIMER = EXT_ETIME_
#  For gfortran compiler:  SECOND and DSECND will use a call to the
#  INTERNAL FUNCTION ETIME
TIMER = INT_ETIME
#  If your Fortran compiler does not provide etime (like Nag Fortran
#  Compiler, etc...) SECOND and DSECND will use a call to the
#  INTERNAL FUNCTION CPU_TIME
#TIMER = INT_CPU_TIME
#  If none of these work, you can use the NONE value.
#  In that case, SECOND and DSECND will always return 0.
#TIMER = NONE

#  Uncomment the following line to include deprecated routines in
#  the LAPACK library.
#
#BUILD_DEPRECATED = Yes

#  LAPACKE has the interface to some routines from tmglib.
#  If LAPACKE_WITH_TMG is defined, add those routines to LAPACKE.
#
#LAPACKE_WITH_TMG = Yes

#  Location of the extended-precision BLAS (XBLAS) Fortran library
#  used for building and testing extended-precision routines.  The
#  relevant routines will be compiled and XBLAS will be linked only
#  if USEXBLAS is defined.
#
#USEXBLAS = Yes
#XBLASLIB = -lxblas

#  The location of the libraries to which you will link.  (The
#  machine-specific, optimized BLAS library should be used whenever
#  possible.)
#
BLASLIB      = ../../librefblas.a
CBLASLIB     = ../../libcblas.a
LAPACKLIB    = liblapack.a
TMGLIB       = libtmglib.a
LAPACKELIB   = liblapacke.a

Makefile:

Makefile:

include ./make.inc

all: testlsame testslamch testdlamch testsecond testdsecnd testieee testversion

testlsame: lsame.o lsametst.o
    $(LOADER) $(LOADOPTS) -o $@ $^

testslamch: slamch.o lsame.o slamchtst.o
    $(LOADER) $(LOADOPTS) -o $@ $^

testdlamch: dlamch.o lsame.o dlamchtst.o
    $(LOADER) $(LOADOPTS) -o $@ $^

testsecond: second_$(TIMER).o secondtst.o
    @echo "[INFO] : TIMER value: $(TIMER) (given by make.inc)"
    $(LOADER) $(LOADOPTS) -o $@ $^

testdsecnd: dsecnd_$(TIMER).o dsecndtst.o
    @echo "[INFO] : TIMER value: $(TIMER) (given by make.inc)"
    $(LOADER) $(LOADOPTS) -o $@ $^

testieee: tstiee.o
    $(LOADER) $(LOADOPTS) -o $@ $^

testversion: ilaver.o LAPACK_version.o
    $(LOADER) $(LOADOPTS) -o $@ $^

run: all
    ./testlsame
    ./testslamch
    ./testdlamch
    ./testsecond
    ./testdsecnd
    ./testieee
    ./testversion

clean: cleanobj cleanexe cleantest
cleanobj:
    rm -f *.o
cleanexe:
    rm -f test*
cleantest:
    rm -f core

.SUFFIXES: .o .f
.f.o:
    $(FORTRAN) $(OPTS) -c -o $@ $<

slamch.o: slamch.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
dlamch.o: dlamch.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<

I've tried Homebrew, but it's not working:

我试过自制啤酒,但它不起作用:

brew install lapack

Error: No available formula with the name "lapack" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
This formula was found in a tap:
homebrew/science/lapack-manpages
To install it, run:
  brew install homebrew/science/lapack-manpages

But even brew install homebrew/science/lapack-manpages is not working...

但是,即使是brew安装homebrew/science/lapack-manpages也不起作用……

Homebrew 0.9.9 (git revision 1158; last commit 2016-07-20) Homebrew/homebrew-core (git revision f7372; last commit 2016-07-20)

Homebrew 0.9.9 (git修订1158;最后提交2016-07-20)Homebrew/ Homebrew -core (git修订f7372;最后提交的2016-07-20)

1 个解决方案

#1


-1  

Try

试一试

Brew cask install lapack 

Or

Brew cask install Mac ports;port install lapack

#1


-1  

Try

试一试

Brew cask install lapack 

Or

Brew cask install Mac ports;port install lapack