我最近开始使用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}})。
如果您能提供任何帮助,我将不胜感激。
答案 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
数据库中读取和打印一些文本。)