ubuntu,安装库,在前缀和环境变量中写入什么

时间:2015-03-12 22:10:58

标签: ubuntu installation environment-variables ubuntu-14.04 prefix

我最近开始使用ubuntu。我正在安装linbox库:http://www.linalg.org/developer.html。安装指南指出应该安装多个库,包括fflas-ffpack库,然后运行脚本autogen.sh,可选择指定安装前缀:

cd linbox  
./autogen.sh [--prefix=] [options].  

[options]包括--with-fflas-ffpack=,根据安装指南,仅当包裹未安装在/usr/usr/local等标准位置时才需要LD_LIBRARY_PATH。在这种情况下,还必须将fflas-ffpack设置为支持与非标准位置中安装的任何软件包的lib目录进行动态链接。

我已经安装了sudo dpkg -L fflas-ffpack库。 /. /usr /usr/include /usr/include/fflas-ffpack /usr/include/fflas-ffpack/fflas-ffpack-config.h /usr/include/fflas-ffpack/fflas-ffpack-optimise.h /usr/bin /usr/bin/fflas-ffpack-config /usr/share /usr/share/doc /usr/share/doc/fflas-ffpack /usr/share/doc/fflas-ffpack/README /usr/share/doc/fflas-ffpack/TODO /usr/share/doc/fflas-ffpack/changelog.Debian.gz /usr/share/doc/fflas-ffpackcopyright /usr/share/doc/fflas-ffpackNEWS.gz /usr/share/man /usr/share/man/man1 /usr/share/man/man1/fflas-ffpack-config.1.gz 返回

./autogen.sh

但是当我使用命令ERROR: Fflas-Ffpack not found!时,报告了一个错误(--with-fflas-ffpack=)。我不确定问题是什么,并假设我应该使用--with-fflas-ffpack=选项。

我不知道我是否正确地确定了问题,如果是,我应该写什么而不是单词"前缀"在表达式[--prefix=]中,我是否应该代替LD_LIBRARY_PATH写一些内容以及我应该将哪个路径分配给变量/usr/usr/include/usr/share,或者{{1}})。

如果您能提供任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

这取决于包,我没有详细查看过,但一般惯例是:

如果没有prefix,该软件包将安装在系统范围的默认位置,例如/usr/local/bin表示二进制文件,/usr/local/lib表示库。如果您想更改此设置(例如,因为您希望在/opt中更改),--prefix选项允许您覆盖此设置。您显然需要对您指定安装目录树的目录树进行写访问。

--with-whatever=path同样要求您在安装上一个库的等号后填写路径。如果您在系统范围的默认位置安装了whatever,则链接器应该只能使用系统范围的默认路径找到它,但是如果您将其放入,例如,您的主目录(即当您下载并构建库时,通常很方便,因为您需要它来构建另一个组件;可能您没有权限在站点范围内安装它,或者安装它会破坏系统的操作),那么您需要说类似于--with-whatever=/home/you/whatever

dpkg -L的输出看起来根本不包含库(看起来像how it's supposed to be)。

也许只需尝试使用--with-fflas-ffpack=/usr/include/fflas-ffpack,因为标头文件安装在子目录中,而不是常规/usr/include。或者你根本不需要这个,authgen.sh脚本已经知道在那里寻找这些头文件(如果源有#include <fflas-fpack/file.h>而不是#include <file.h>则没有单独的配置会似乎是必要的。)

如果仍然没有帮助,也许您需要安装另一个软件包,或者阅读文档以确定仍需要做什么 - 似乎有一个单独的软件包fflas-ffpack-dev-doc但我会开始使用README中的NEWS.gz/usr/share/doc/fflas-ffpack文件以及fflas-fpack-config的手册页。

(顺便说一句,dpkg -L不需要sudo权限运行;它只是从世界可读的dpkg数据库中读取和打印一些文本。)