从 Octave 的源代码构建 FMINUIT
Building FMINUIT from source for Octave
我正在尝试安装一个名为 fminuit 的软件包 http://www.fis.unipr.it/~giuseppe.allodi/Fminuit/Fminuit_building.html
在 ubuntu 18.04 机器上使用 Octave。安装步骤"make -f Makefile.f2c_lnx.Octave" 出现以下错误
WrapIO_Matlab.c:4:10: 致命错误: mex.h: 没有那个文件或目录
知道如何解决这个问题,
干杯,达米尔
FMINUIT 提供的构建说明要求您手动调整 Makefile 以适应您的设置。我猜你做错了其中一个步骤。我是 运行 Octave 6.0.0(当前开发源)并且工作正常:
$ wget http://www.fis.unipr.it/~giuseppe.allodi/Fminuit/fminuit-src.tar.gz
$ tar xzf fminuit-src.tar.gz
$ cd fminuit-2011.05.31/fminuit/
# modify Makefile.f2c_lnx.Octave
$ make -f Makefile.f2c_lnx.Octave
$ make -f Makefile.f2c_lnx.Octave install
棘手的部分是知道要在 Makefile 上修改什么。就我而言,这些是行(您需要知道确切的 Octave 版本和安装位置):
#Octave prefix directory (typically /usr or /usr/local): modify if needed
-PREFIX=/usr
+PREFIX=/usr/local
#major version number
-OCTAVE_MAJOR=2
+OCTAVE_MAJOR=6
#minor-release version number
-OCTAVE_MINOR=9.12
+OCTAVE_MINOR=0.0
OBJS= mnintr_wrkrnd.o intrac.o WrapIO_Matlab.o doflush.o
MINUIT=Minuit_.o
INSTDIR=../bin/linux_$(ARCH)/octave$(OCTAVE_MAJOR)
fminuit Makefile 将 "install" 放在 fminuit 源目录中。您可能还想调整其 INSTDIR
值。您需要调整您的 Octave 路径才能使用它:
>> addpath('/wherever/you/build/fmunuit/fminuit-2011.05.31/bin/linux_x86_64/octave6')
>> fminuit # you probably can figure out how to call this function
error: fminuit: Too few input arguments
我正在尝试安装一个名为 fminuit 的软件包 http://www.fis.unipr.it/~giuseppe.allodi/Fminuit/Fminuit_building.html 在 ubuntu 18.04 机器上使用 Octave。安装步骤"make -f Makefile.f2c_lnx.Octave" 出现以下错误
WrapIO_Matlab.c:4:10: 致命错误: mex.h: 没有那个文件或目录
知道如何解决这个问题,
干杯,达米尔
FMINUIT 提供的构建说明要求您手动调整 Makefile 以适应您的设置。我猜你做错了其中一个步骤。我是 运行 Octave 6.0.0(当前开发源)并且工作正常:
$ wget http://www.fis.unipr.it/~giuseppe.allodi/Fminuit/fminuit-src.tar.gz
$ tar xzf fminuit-src.tar.gz
$ cd fminuit-2011.05.31/fminuit/
# modify Makefile.f2c_lnx.Octave
$ make -f Makefile.f2c_lnx.Octave
$ make -f Makefile.f2c_lnx.Octave install
棘手的部分是知道要在 Makefile 上修改什么。就我而言,这些是行(您需要知道确切的 Octave 版本和安装位置):
#Octave prefix directory (typically /usr or /usr/local): modify if needed
-PREFIX=/usr
+PREFIX=/usr/local
#major version number
-OCTAVE_MAJOR=2
+OCTAVE_MAJOR=6
#minor-release version number
-OCTAVE_MINOR=9.12
+OCTAVE_MINOR=0.0
OBJS= mnintr_wrkrnd.o intrac.o WrapIO_Matlab.o doflush.o
MINUIT=Minuit_.o
INSTDIR=../bin/linux_$(ARCH)/octave$(OCTAVE_MAJOR)
fminuit Makefile 将 "install" 放在 fminuit 源目录中。您可能还想调整其 INSTDIR
值。您需要调整您的 Octave 路径才能使用它:
>> addpath('/wherever/you/build/fmunuit/fminuit-2011.05.31/bin/linux_x86_64/octave6')
>> fminuit # you probably can figure out how to call this function
error: fminuit: Too few input arguments