我正在尝试安装一个名为 ASF MapReady 的软件github./configure --prefix=/usr/local
。但是按照github的描述,在运行第一步时无法继续。我得到的错误是:
Configuring ASF Tools checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for flex... flex checking lex output file root... lex.yy checking lex library... -lfl checking whether yytext is a pointer... yes checking for bison... bison -y checking for fopen in -lc... yes checking for main in -lm... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for unistd.h... (cached) yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for cos in -lm... yes checking for cblas_dgemm in -lgslcblas... no checking for gsl_blas_dgemm in -lgsl... no checking for GSL... no checking for gsl_blas_dgemm in -lgsl... (cached) no configure: error: library gsl was not found
如何在 Ubuntu 18.10 中安装该软件?
答案1
看起来您正在从源代码编译 ASF MapReady。他们的GitHub 自述文件说:
先决条件:
ASF 工具依赖于您需要在系统上安装的多个库。在下面的列表中,一些列出的软件包将具有您的软件包管理系统应自动引入的额外依赖项。
在 Debian 9/Ubuntu 16.04 上,需要以下软件包:
- 海湾合作委员会
- 克++
- 野牛
- 柔性
- libcunit1-dev
- libexif-dev
- libfftw3-dev
- libgdal-dev
- libgeotiff-dev
- libglade2-dev
- libglib2.0-dev
- libgsl-dev
- libgtk2.0-dev
- libjpeg-dev
- libpng-dev
- libproj-dev
- libshp-dev
- libtiff5-dev
- libxml2-dev
这意味着您需要先安装所有这些包才能编译 MapReady。
那么你会怎么做呢?像这样:
$ sudo apt-get install gcc g++ bison flex libcunit1-dev libexif-dev libfftw3-dev libgdal-dev libgeotiff-dev libglade2-dev libglib2.0-dev libgsl-dev libgtk2.0-dev libjpeg-dev libpng-dev libproj-dev libshp-dev libtiff5-dev libxml2-dev
答案2
您的错误信息表明library gsl was not found
。
确定要安装哪个库的一种方法是运行命令apt search gsl
,然后查看结果,尝试猜测需要安装哪个包。然后,./configure --prefix=/usr/local
再次运行命令以查看程序是否编译,或者是否缺少其他库。通常,您需要重复此过程,直到编译最终成功。
幸运的是,该项目的开发人员在其自述此工具所需的软件包依赖项。
一旦您使用命令安装了 gsl sudo apt install libgsl-dev
,您将需要完成 README 中其余的依赖项列表,并验证所有命名的包确实存在于您的系统中。